No Dark Nights.Make · learn · shareMake an STL
The learning path

Build the whole project, one step at a time.

Set up your tools first. Then read, copy, inspect, and reflect through eight clear steps.

For young makers and families

OpenAI requires an adult to conduct ChatGPT/Codex interactions for children under 13 and parent or guardian permission for ages 13–17. Families and educators decide how they want to guide the rest of the project. The site never needs a child's personal contact information.

  1. 1
    Read the step

    Know what you are making and why it matters.

  2. 2
    Copy the prompt

    Give Codex the complete prompt and let it work with you.

  3. 3
    Check the result

    Continue only when the finish line for that step is true.

Before Step 1

Get ready

You'll need

  • A supported Mac or Windows computer
  • Access to Codex through the ChatGPT desktop app
  • A trusted adult's help when required

Getting started

  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 ↗

Install ChatGPT Open Codex Start Step 1

Educator or school lab? View managed setup options.

Four useful words

Repository
The project folder and its history.
Clone
Download your own working copy.
Local
Running only on your computer.
STL
A file that describes a printable 3D shape.

One path, eight checkpoints

Do not skip a finish line. Each step tells you what to learn, what you need, when to stop, what to inspect, and what to explain in your own words.

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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. Preserve the existing Sites project identity if this project already has one. Never create a duplicate deployment project silently.
    4. Prepare a private, owner-only review version. Before deploying, show me the resolved access level and ask for approval.
    5. Do not make the site public, connect or change a real domain, add analytics, or expose private photographs or contact details.
    6. After deployment, open the homepage, Lights, Studio, Learn, Gallery, Resources, Code, and About pages and verify the main desktop and phone layouts and links.
    7. 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.
  8. 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.

    Open the Base Fit Lab →
    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.
    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.
Optional — after step eight

Keep improving

The eight-step path is complete. Use these prompts only when you want to share a privacy-safe project story or practice one small improvement.

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.
Managed setup options

For educators running a school lab

A teacher or administrator can prepare a managed local Codex environment for learners who cannot use the standard ChatGPT sign-in path.

Prepare managed access

  • Amazon Bedrock can provide supported OpenAI models through school-managed AWS sign-in and spending controls.
  • An instructor or administrator should prepare and test the environment before learners begin.
  • Provide limited, revocable student access—never root credentials or permanent shared keys.
Official Amazon Bedrock setup guidance ↗

Protect credentials

  • Students must never paste AWS credentials into prompts, source files, committed .env files, screenshots, or GitHub.
  • Keep credentials out of project folders and revoke access when a class or lab session ends.
  • Follow school privacy, account, permission, and spending policies.

What students can complete

  • Bedrock-backed Codex supports the local website, Git, an approved GitHub repository, Studio, testing, and printing.
  • A local project and approved GitHub repository are valid completion points.
  • The Studio can make an STL without Codex. See the parts and tools we use.

Plan publishing separately

  • OpenAI-hosted services such as Sites are not available through Bedrock-only authentication.
  • Publishing is optional for this learning path.
  • An instructor with eligible ChatGPT and Sites access may review and publish an approved preview separately.

Age, consent, and adult responsibilities

ChatGPT is not intended for children under 13. Young people ages 13–17 need permission from a parent or guardian. In an educational activity for a child under 13, the adult must conduct the direct interaction with ChatGPT. Adults should also manage installation, permissions, publishing, purchases, printer supervision, and light safety when appropriate.

Read OpenAI's age guidance ↗
For educators

A real artifact at every stage.

Learners can participate through discussion and local testing, even when they do not have every account or piece of equipment.

What learners practice

AI-agent literacy, web development, Git and GitHub, image and 3D-model processing, design iteration, privacy, consent, communication, and responsible publishing.

Accounts and equipment

The full path uses Codex, GitHub, Sites, a permitted image, a slicer, a compatible printer, material, and a measured night-light housing. Local-only alternatives are valid.

Adult responsibilities

Adults manage age and consent requirements, accounts, installation, permissions, contact details, publishing, purchases, printer supervision, and light safety as needed.

Evidence of learning

A project map, personalized local site, reviewed Git commit, STL and settings note, test report, optional private preview, fit test, finished light, and short reflection.

Learners finish with a working website they can continue using as a maker portfolio, community-giving project, or foundation for a small creative enterprise.

Do not require a public website, personal photograph, purchase, or physical print to complete the learning activity. Follow school and family policies, and use OpenAI's age guidance above. Planning a class or funding request? Use the Grant Kit.

One step at a time

You are allowed to stop and ask questions.

If Codex moves too quickly, say: “Stop and explain that in simpler words.” Learning what changed is part of making the project.

Start with step one ↑