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.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.
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 inlib/nav-config.ts:
- 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. - Radio (
/radio) — The music page. Visitors browse and play songs from the curated playlist you configure. - Write (
/write) — The wish wall submission form. Visitors type a birthday message and submit it. Messages are stored in Supabase. - Report (
/report) — The yearly recap. A visual summary of the celebrant’s year, shareable as a birthday keepsake. - Games (
/games) — The games room. A set of mini-games visitors can play to celebrate.
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.