Skip to main content

Documentation Index

Fetch the complete documentation index at: https://help.helloazhenweb.top/llms.txt

Use this file to discover all available pages before exploring further.

Birthday Wall is an open-source web app you deploy for one person — the birthday celebrant. Visitors land on a live countdown page, leave wishes, listen to a curated music radio, play mini-games, and browse a yearly recap report. Everything is configurable: the name, the date, the greeting, the music. You own the deployment and the data.

Key features

Birthday countdown

A full-screen live timer showing days, hours, minutes, and seconds until the birthday. When the day arrives, the countdown switches to a celebration message.

Wish wall

Visitors write anonymous birthday messages that are saved to your Supabase database. You can review and manage submissions from the admin panel.

Music radio

A curated playlist page where visitors can listen to songs selected for the celebrant, with floating lyrics on the home page as ambient atmosphere.

Yearly recap report

A shareable year-in-review page summarizing the celebrant’s year — a personal “Spotify Wrapped”-style birthday report.

Mini-games

A games room visitors can play as they wait for the birthday or celebrate on the day.

Self-hostable

Deploy on Vercel in minutes. You control the data, the domain, and the configuration. No third-party platform lock-in.

Who it’s for

Birthday Wall is for anyone who wants to build something more personal than a group chat message. If you want to give someone a dedicated space on their birthday — with a custom countdown, messages from friends, and a playlist just for them — Birthday Wall is the starting point. You don’t need to be a developer to use it, but you will need to clone a repository, set a few environment variables, and deploy to Vercel. The quickstart walks you through every step.

How it works

A visitor’s journey through Birthday Wall follows the five pages defined in lib/nav-config.ts:
  1. Home (/) — The countdown page. Visitors see the celebrant’s name, a live timer, and ambient floating lyrics pulled from the music config. On the birthday itself, the timer is replaced by a celebration message and a link to leave a wish.
  2. Radio (/radio) — The music page. Visitors browse and play songs from the curated playlist you configure.
  3. Write (/write) — The wish wall submission form. Visitors type a birthday message and submit it. Messages are stored in Supabase.
  4. Report (/report) — The yearly recap. A visual summary of the celebrant’s year, shareable as a birthday keepsake.
  5. Games (/games) — The games room. A set of mini-games visitors can play to celebrate.
The site name and all celebrant details are set in two config files: lib/site-config.ts for the site identity and lib/birthday-config.ts for the person’s name, birthday date, and greeting.
The countdown, radio, and games pages work without a database. You only need Supabase if you want the wish wall to save messages.

Next steps

Quickstart: deploy in under 10 minutes

Fork the repo, configure your environment, and get Birthday Wall running locally and on Vercel.