No Dark Nights.Make · learn · shareMake an STL
The complete project

Eight steps. Open only the one you need.

Read the step, copy the prompt, and check the result. Each step has one finish line and one thing to explain back in your own words.

For young makers and familiesKeep private photos out of prompts and repositories.

Use your source photo only inside the Studio. A supervising adult handles accounts, permissions, publishing, purchases, and printer safety when needed.

Read the full safety guide
Before Step 1Get ready

You need a supported Mac or Windows computer and access to Codex through the ChatGPT desktop app.

  1. Download and install the official ChatGPT desktop app.
  2. Sign in and open Codex.
  3. Return here and begin Step 1.
Download ChatGPT desktop
01
Step 1 of 8

Download and run

Use Codex to copy the project, open the right folder, and start the website on your computer.

What this teaches
How a project moves from GitHub to a local folder you can use.
What you need first
Your setup checklist complete and the project link below.
Stop or ask permission when
Stop for sign-in, installation, folder-choice, or permission requests.
What you should inspect
Find the project folder, see the local homepage, and read the address in the browser.
Give this prompt to Codex
Step 1

Download and open the project

Gets the code onto your computer and starts the website.

I want to build the No Dark Nights project.

Private-image rules:
- Never open, read, attach, upload, or analyze my private source photograph.
- I or my supervising adult will visually check the photograph and use it only inside the Studio.
- You may inspect the generated STL, recorded settings, automated tests, and geometry.
- Automated tests must use a neutral image provided by the project.
- Studio processing is local. Giving a photograph to an AI agent is a separate action, so do not ask me to provide the photograph to you.

Original site: https://nodarknights.com

Project link: https://github.com/prichardsondev/no-dark-nights

I am a beginner, so please explain each step in simple words.

Please:
1. Check that the project link works.
2. Download or clone the project into a new folder.
3. Open that folder as my Codex workspace.
4. Read the README and AGENTS.md files.
5. Install what the project needs.
6. Start the website on my computer.
7. Open the local website so I can see it.

Do not change the project yet. If you need me to sign in, choose a folder, install software, or approve a permission, stop and tell me exactly what to do. An adult should handle accounts, installations, permissions, and publishing when appropriate.

We are finished when I can see the No Dark Nights homepage and you tell me where the project folder is.

You’re finished whenThe No Dark Nights website running on your computer.

ReflectWhat does “local” mean, and where is your project folder?

02
Step 2 of 8

Understand the project

Take a guided tour of the important files and unfamiliar words before editing anything.

What this teaches
How pages, data files, the Studio, and tests fit together.
What you need first
The project running locally from Step 1.
Stop or ask permission when
Do not edit files during this tour.
What you should inspect
Open the files Codex names and compare its project map with what you see.
Give this prompt to Codex
Step 2

Understand the project

Takes you on a plain-language tour before you edit anything.

Help me understand this No Dark Nights project before I change it.

Private-image rules:
- Never open, read, attach, upload, or analyze my private source photograph.
- I or my supervising adult will visually check the photograph and use it only inside the Studio.
- You may inspect the generated STL, recorded settings, automated tests, and geometry.
- Automated tests must use a neutral image provided by the project.
- Studio processing is local. Giving a photograph to an AI agent is a separate action, so do not ask me to provide the photograph to you.

I am a beginner. First inspect the project, including the website pages, the maker profile data, the code that creates the 3D model, and the tests.

Do not edit files yet. Explain unfamiliar words in plain language. Show me:
- which file controls each page;
- where the maker and light information lives;
- which files are safe to personalize;
- which 3D-model files need extra care;
- how the tests protect the project.

Finish with a short project map and three safe changes I could make first. Ask me to explain one part back to you so we know I understood it.

You’re finished whenA short project map you understand.

ReflectWhich file would you edit first, and which geometry files need extra care?

03
Step 3 of 8

Personalize your site

Replace the sample identity, maker information, lights, permitted gallery content, words, and colors while protecting the Studio.

What this teaches
How content, design choices, privacy, and reusable data work together.
What you need first
Your project map and adult permission for every image you may publish.
Stop or ask permission when
Contact stays disabled unless an adult site manager adds it later. Stop before publishing any photograph; a trusted adult must review it.
What you should inspect
Check the homepage, Lights, Gallery, phone layout, and every image, title, and description.
Give this prompt to Codex
Step 3

Personalize the site

Replaces the samples while protecting the working Studio.

Help me personalize this website so it clearly belongs to its maker.

Private-image rules:
- Never open, read, attach, upload, or analyze my private source photograph.
- I or my supervising adult will visually check the photograph and use it only inside the Studio.
- You may inspect the generated STL, recorded settings, automated tests, and geometry.
- Automated tests must use a neutral image provided by the project.
- Studio processing is local. Giving a photograph to an AI agent is a separate action, so do not ask me to provide the photograph to you.

Keep the lithophane maker working. I am a beginner, so explain the files you edit.

Ask me for:
- the site or studio name;
- a short introduction;
- the homepage words and color direction;
- each light listing’s image, title, and short description;
- permitted gallery images and privacy-safe captions.

Keep maker and light information in app/maker-profile.ts. Clearly mark anything I have not replaced as a sample. Before any public release, require me to replace every sample listing or intentionally remove it.

Contact remains disabled by default in every repository clone.

Never request or publish a child’s email address, phone number, full name, school, address, social account, or contact link. If an adult maker or organization manager deliberately asks to add contact, accept only an adult- or organization-managed mailto: address or secure HTTPS contact page. Show the exact public label and destination and stop for confirmation before changing environment configuration or deploying. Otherwise, keep contact disabled. Never create a fake or example email address.

For any gallery image, require adult permission, remove EXIF and location metadata, and inspect it for addresses, school names, uniforms, license plates, recognizable locations, full names, and identifying filenames before publication. Keep the homepage’s three paths, the compact design, keyboard access, phone layout, source-photo privacy, and all lithophane geometry unchanged.

Run the relevant checks. Show me the personalized pages, remaining sample content, files changed, and one design choice in plain words. We are finished when a trusted adult has reviewed the maker information and every image intended for publishing.

You’re finished whenA personalized site with reviewed maker information.

ReflectHow does your version show who made it without revealing private information?

04
Step 4 of 8

Save with Git and GitHub

Review the changes, save a clear local Git commit, and push it to your own GitHub repository only after checking for private information.

What this teaches
How Git records a checkpoint and GitHub stores a remote copy.
What you need first
Your personalized site, a learner GitHub account or approved school repository, and adult or teacher approval when required.
Stop or ask permission when
Stop for GitHub sign-in, repository visibility, permission, secret, or merge-conflict decisions.
What you should inspect
Read the changed-file list, commit message, repository visibility, and the files shown on GitHub.
Give this prompt to Codex
Step 4

Save your work with Git and GitHub

Creates a safe checkpoint and remote copy of the personalized site.

Help me safely save my personalized No Dark Nights project with Git and GitHub.

Private-image rules:
- Never open, read, attach, upload, or analyze my private source photograph.
- I or my supervising adult will visually check the photograph and use it only inside the Studio.
- You may inspect the generated STL, recorded settings, automated tests, and geometry.
- Automated tests must use a neutral image provided by the project.
- Studio processing is local. Giving a photograph to an AI agent is a separate action, so do not ask me to provide the photograph to you.

I am a beginner. Explain that Git records changes in my project and GitHub can store a copy online. Do not publish anything until I understand what will happen.

Please:
1. Read AGENTS.md and check the current Git status and remote repository.
2. Show me every changed and new file in plain language.
3. Check for passwords, API keys, .env files, local configuration, downloads, build output, private photographs, names, contact details, school information, addresses, or location clues that should not be committed.
4. Confirm that only permitted public images are included and that sample listings are still clearly labeled if any remain.
5. Run the project checks before saving.
6. Propose a short commit message that says what changed.
7. Stop and ask before staging or committing if any private, generated, unexplained, or unrelated file is present.
8. Create the local commit only after the review is clean.
9. Confirm which GitHub account, repository, branch, and public/private visibility will be used. Stop for sign-in, repository creation, visibility, permissions, merge conflicts, or any choice I should make.
10. Push only the reviewed commit. Never force-push, delete history, expose credentials, or change a repository’s visibility without explicit adult approval.
11. Open or show the GitHub repository and confirm the intended files and commit are there.

We are finished when the clean commit is on the intended GitHub repository, I know its visibility, and I can explain the difference between Git and GitHub.

You’re finished whenA reviewed commit safely saved to your GitHub repository.

ReflectWhat did your commit save, and what information did you keep out of GitHub?

05
Step 5 of 8

Create a lithophane STL

Choose a permitted photo, measure your light, frame the image, inspect the preview, and download a local STL.

What this teaches
How image choices and real measurements become printable geometry.
What you need first
A photo you may use, a ruler or calipers, and the night-light housing you plan to fit.
Stop or ask permission when
Keep the source photo inside the Studio. Never give it to Codex. Stop instead of guessing an unknown measurement.
What you should inspect
Check framing, size, slot width, orientation, optional bottom text, and the saved settings note.
Give this prompt to Codex
Step 5

Create your lithophane STL

Turns a permitted photo into a measured, printable model.

Help me create my first custom lithophane STL with the local No Dark Nights website.

Private-image rules:
- Never open, read, attach, upload, or analyze my private source photograph.
- I or my supervising adult will visually check the photograph and use it only inside the Studio.
- You may inspect the generated STL, recorded settings, automated tests, and geometry.
- Automated tests must use a neutral image provided by the project.
- Studio processing is local. Giving a photograph to an AI agent is a separate action, so do not ask me to provide the photograph to you.

I am a beginner, so guide me one small step at a time and explain unfamiliar words. Use the project’s Resources page for parts and printing guidance.

Before we begin:
1. Ask me to confirm that I took the photograph or have permission to use it.
2. Explain briefly that clear, well-lit images with good contrast and an obvious subject usually work best.
3. Keep the photograph on my computer. Do not ask me to attach it or show it to you.

Then help me:
1. Start the local No Dark Nights website if it is not already running.
2. Open the Studio page.
3. Measure or verify the height, width, and slot width of my night-light housing. If I do not know a measurement, stop and help me find it instead of guessing.
4. Choose the closest size preset, then adjust the measurements only if my housing requires it.
5. Tell me how to select and frame the photograph, then let me or my supervising adult visually check zoom, position, contrast, and invert inside the Studio. Do not inspect the photograph yourself.
6. Let me inspect the interactive 3D preview. If WebGL is unavailable, explain how I can use the photo framing view and continue because STL generation should still work.
7. Ask whether I want an optional short message raised on the bottom adapter. Use only a nickname, kind word, or short message. Do not use a full name, school, address, email, phone number, username, or website.
8. Download the printable STL.
9. Record “Source image: local private image—not stored,” followed by the model height, model width, slot width, curve radius, adapter thickness, chosen preset, photo adjustments, and optional adapter text in a short settings note.

We are finished when the STL is downloaded, the important measurements have been checked, and I have a settings note I can use again.

You’re finished whenYour first custom lithophane STL.

ReflectWhich photo or measurement adjustment changed the model most?

06
Step 6 of 8

Test the website and STL

Run the complete project checks, inspect every important page, and verify the STL before anything is published or printed.

What this teaches
How automated checks and human inspection catch different problems.
What you need first
Your personalized site, downloaded STL, settings note, and the neutral project test image.
Stop or ask permission when
Do not change geometry just to silence a test; investigate and explain a real failure first.
What you should inspect
Review pages on desktop and phone, keyboard use, privacy text, dimensions, mesh closure, orientation, and slicer preview.
Give this prompt to Codex
Step 6

Test the website and STL

Checks the public experience and printable model before release.

Test my No Dark Nights website and lithophane STL before I publish or print them.

Private-image rules:
- Never open, read, attach, upload, or analyze my private source photograph.
- I or my supervising adult will visually check the photograph and use it only inside the Studio.
- You may inspect the generated STL, recorded settings, automated tests, and geometry.
- Automated tests must use a neutral image provided by the project.
- Studio processing is local. Giving a photograph to an AI agent is a separate action, so do not ask me to provide the photograph to you.

I am a beginner. Explain each check and do not hide failures. Read AGENTS.md first. Do not change the lithophane geometry unless a test proves a real problem and you explain it to me.

Website checks:
1. Run lint, type-check, build, page tests, WebGL fallback tests, and all geometry/STL tests.
2. Open the homepage, Lights, Studio, Learn, Gallery, Resources, Code, and About pages.
3. Check desktop and phone layouts, navigation, headings, links, keyboard focus, contrast, image framing, and horizontal overflow.
4. Confirm the homepage still has the three clear paths and “Make one. Give one. Teach one.”
5. Confirm the Lights page belongs to this maker, sample listings are honest, and contact is adult-controlled.
6. Confirm source photos remain local, WebGL failure cannot crash the Studio, bottom text works, and STL download remains available.
7. Check that every photo and caption has permission and does not expose private information.

STL checks:
1. Use the downloaded STL and settings note. Do not request or inspect my source image.
2. Verify image direction, height, width, slot width, curve, adapter thickness, bottom text, and build-plate orientation.
3. Check for a closed manifold mesh, outward-facing triangles, duplicate or degenerate triangles, open edges, and unexpected size.
4. Open the STL in my slicer and inspect the first layers, rounded slot, adapter, panel transition, and full toolpath preview.
5. Compare measurements with my actual night-light housing and the Resources guidance. Do not invent universal printer settings.

Fix only clear website problems that are safe and in scope, then rerun affected checks. Stop before changing geometry, publishing, committing a private image, or making a decision that requires me or an adult.

Finish with a table of pass, needs work, or not tested for every check; evidence for each result; anything I must inspect myself; and a clear overall release and print readiness decision.

We are finished when the complete automated suite passes and the website and STL have passed the human checks, or when every remaining blocker is clearly listed.

You’re finished whenA passing website and STL validation report.

ReflectWhich problem could a person see that an automated test might miss?

07
Step 7 of 8

Publish a private review

Use Sites only when it is available to your account, then create a private review link for a trusted adult or teacher.

What this teaches
How deployment turns local files into a reviewable website.
What you need first
Passing checks, a reviewed GitHub repository, and either eligible Sites access or an instructor who can publish the approved preview.
Stop or ask permission when
Stop for account, workspace, access-level, permission, or public-publishing decisions. Do not connect a real domain.
What you should inspect
Open every deployed route and confirm the deployment is private before sharing its link.
Give this prompt to Codex
Step 7

Publish a private review

Creates a trusted review link when Sites is available.

Prepare a private review version of my No Dark Nights site with Sites.

Private-image rules:
- Never open, read, attach, upload, or analyze my private source photograph.
- I or my supervising adult will visually check the photograph and use it only inside the Studio.
- You may inspect the generated STL, recorded settings, automated tests, and geometry.
- Automated tests must use a neutral image provided by the project.
- Studio processing is local. Giving a photograph to an AI agent is a separate action, so do not ask me to provide the photograph to you.

I am a beginner. First explain that Sites turns the tested project into a hosted preview. Check how my local Codex is authenticated and whether Sites is available for my account and workspace; availability can depend on the account, plan, workspace settings, and administrator.

Please:
1. Confirm the GitHub commit from the previous steps and rerun the required release checks.
2. Stop and ask a trusted adult or teacher to approve publishing and review the intended audience.
3. Check whether the local `.openai/hosting.json` file exists. It is owner-only deployment information, must stay ignored by Git, and must never be committed. Never copy a Sites project ID from the original repository, Git history, lesson materials, or another maker.
4. If no local Sites project exists, stop and ask the trusted adult before creating a separate private project owned by this learner, family, school, or organization. Never create one silently.
5. Before saving or deploying a version, show me the resolved site name, address, owner, and access level. If it is the original `nodarknights.com` site or ownership is uncertain, stop without saving or deploying anything.
6. Prepare only a private, owner-only review version and ask for approval of the resolved access level.
7. Do not make the site public, connect or change a real domain, add analytics, or expose private photographs or contact details.
8. After deployment, open the homepage, Lights, Studio, Learn, Gallery, Resources, Code, and About pages and verify the main desktop and phone layouts and links.
9. Give me the private link and a short adult review checklist.

If I use Bedrock-only authentication, recognize that it supports local Codex work but not OpenAI-hosted Sites. Do not keep retrying Sites and do not ask me for AWS credentials. Preserve the completed local website and approved GitHub repository. If an instructor has eligible ChatGPT and Sites access, prepare a clear handoff so the instructor can separately review and publish an approved preview.

If Sites is otherwise unavailable, do not pretend the deployment succeeded or choose another public host. Keep the completed project local and on the approved GitHub repository, explain what is unavailable, and give me a checklist for trying again with an adult or workspace administrator.

Publishing is optional. We are finished when a trusted adult has an approved private review link, or when the fully tested local website and approved GitHub repository are safely saved and the Sites limitation is documented.

You’re finished whenA private review link, or a complete local and GitHub version if Sites is unavailable.

ReflectWhat is different between your local site, GitHub repository, and deployed preview?

08
Step 8 of 8

Fit-test, print, share, and reflect

Verify the model in your slicer, test the adapter fit, print safely, and share only a privacy-safe result.

What this teaches
How digital design becomes a tested physical object through iteration.
What you need first
A validated STL, compatible slicer and printer, measured light, materials, and adult guidance where appropriate.
Stop or ask permission when
Stop for unsafe tool use, electrical changes, a poor fit, damaged print, or any photo that reveals private information.
What you should inspect
Preview toolpaths, test the adapter, inspect the cooled print, verify the unplugged housing fit, and follow manufacturer guidance.
Open the Base Fit Lab
Give this prompt to Codex
Step 8

Slice, fit-test, print, and share

Checks the fit and guides the model safely from slicer to light.

Help me turn my finished lithophane STL into a working night light.

Private-image rules:
- Never open, read, attach, upload, or analyze my private source photograph.
- I or my supervising adult will visually check the photograph and use it only inside the Studio.
- You may inspect the generated STL, recorded settings, automated tests, and geometry.
- Automated tests must use a neutral image provided by the project.
- Studio processing is local. Giving a photograph to an AI agent is a separate action, so do not ask me to provide the photograph to you.

I am a beginner. Guide me carefully, explain slicer terms in plain language, and involve a trusted adult where appropriate. Do not assume one printer profile or one set of slicer settings works for every machine.

Please help me:
1. Open the STL in the slicer for my actual 3D printer.
2. Verify the model height, width, slot width, and orientation against the settings note and my measured night-light housing.
3. Confirm that the adapter base sits flat on the build plate and the lithophane stands in the intended upright printing orientation.
4. Preview the first layers, the rounded slot, the adapter area, and the transition into the picture panel. Point out gaps, unsupported areas, or surprising toolpaths.
5. Compare my choices with the No Dark Nights Resources page and its “What We Use” links, while treating them as examples rather than purchasing requirements or universal settings.
6. If this is a new housing, uncertain measurement, or changed adapter, open the Base Fit Lab at https://nodarknights.com/studio#base-fit-lab and make the three-size adapter Fit Finder before the full print.
7. Check the cooled fit test on the unplugged light housing. If it is too tight or loose, return to the Studio measurements and make a corrected STL before continuing.
8. Prepare and print the complete lithophane with adult guidance where appropriate, following the printer and material manufacturers’ instructions.
9. Inspect the cooled finished print for cracks, sharp edges, poor layer bonding, blocked openings, or a bad fit before using it with the light.
10. Follow the light manufacturer’s instructions and the project’s safety guidance. Keep the print away from excess heat and do not modify the electrical parts.
11. Help me photograph or describe the finished result without showing names, addresses, school details, location clues, or other private information.
12. Ask me to write two or three sentences about what worked, what I changed, and what I learned.

We are finished when the fit has been verified, the complete print has been safely inspected, and I have a privacy-safe result and short learning note to share.

You’re finished whenA working night light and a story you can share.

ReflectWhat worked, what did you change, and what would you try next?

Optional — after step eightKeep improving

The eight-step path is complete. Use these only for a small, privacy-safe follow-up.

Optional

Add a project story

Adds a finished light without exposing private information.

Add a new gallery story for a night light I made.

Private-image rules:
- Never open, read, attach, upload, or analyze my private source photograph.
- I or my supervising adult will visually check the photograph and use it only inside the Studio.
- You may inspect the generated STL, recorded settings, automated tests, and geometry.
- Automated tests must use a neutral image provided by the project.
- Studio processing is local. Giving a photograph to an AI agent is a separate action, so do not ask me to provide the photograph to you.

My supervising adult and I will visually review a photograph of the finished light. We will provide it only after deciding it is safe and approved for public display.

Before publication, require adult permission, remove EXIF and location metadata, and inspect the public-ready gallery image for addresses, school names, uniforms, license plates, recognizable locations, full names, and identifying filenames. Match the existing gallery style and image size.

Finish when the entry has useful image description text, a short natural caption, and looks good beside the other gallery images and on a phone.
Optional

Improve one thing

Keeps follow-up changes small enough to understand.

Help me improve one part of my project without making it more complicated.

Private-image rules:
- Never open, read, attach, upload, or analyze my private source photograph.
- I or my supervising adult will visually check the photograph and use it only inside the Studio.
- You may inspect the generated STL, recorded settings, automated tests, and geometry.
- Automated tests must use a neutral image provided by the project.
- Studio processing is local. Giving a photograph to an AI agent is a separate action, so do not ask me to provide the photograph to you.

First inspect the current page. Ask me what feels confusing, slow, or unfinished.

Choose the smallest useful change. Keep the lithophane download working. Add or update a test if this change could break later.

Finish when the improvement works, the checks pass, and I can explain what changed in my own words.
Teaching a group?

Use this same eight-step path.

The educator guide helps with setup and supervision without changing the learner prompts.

Open the educator guide