A single-file web page that delivers a personal letter as a retro terminal session — typewriter text, background music, and a timed image reveal. Built as a template: clone it, swap the words and media, send the link.
One index.html — markup, styles, and logic in a single file, zero dependencies, no build step. Open it in a browser and it runs.
- Terminal aesthetic — phosphor-green monospace on black
- Typewriter rendering — text types out character by character on a timer
- Audio — background track fades in once the visitor interacts (browsers block autoplay until then)
- Staged reveal — two message passages, then an image with a heartbeat animation
- Private by default — the media files are gitignored, so forking the repo never exposes your photo or song
git clone https://github.com/kimzam30/Project-Nera.git
cd Project-NeraThe repository ships without media on purpose. Add two files to the project root:
| File | What |
|---|---|
song.mp3 |
Background track |
us.jpg |
The image revealed at the end |
Both are listed in .gitignore — they will not be committed if you push your copy.
Open index.html and edit:
| What | Where |
|---|---|
| Message passages | The myInsecurities and myReasons arrays (~line 115) |
| Closing message | finalP.innerHTML (~line 182) |
| Pacing | The delay values in runSequence() — tune these to your track |
Open index.html in a browser. Audio needs a click first, so trigger the sequence rather than expecting sound on load.
Because the media is gitignored, connecting this repo to Netlify or Vercel will deploy a version with no music and no image. Deploy the local folder directly instead:
Netlify drop — go to app.netlify.com/drop and drag your project folder (with song.mp3 and us.jpg in it) onto the page. You get a live URL immediately.
Vercel CLI
npx vercel --prodRun it from the folder containing your media — the CLI uploads local files rather than pulling from git.
MIT — see LICENSE. Use it, fork it, rewrite it for whoever you're writing to.