Live Link : https://happybirthdaytemplete.netlify.app/
A beautiful, interactive, and mobile-responsive birthday celebration web application. This guide will help you easily customize the app with your own photos, music, and messages!
Ideal Image Size & Format:
- Aspect Ratio: Portrait mode (3:4 or 4:5 ratio) works best because the cards are vertical.
- Resolution:
1080 x 1350 pixels,900 x 1200 pixels, or600 x 800 pixels. - Note: The app uses
object-cover, which means it will automatically crop and fit any image you upload without stretching it, but portrait images will look the most perfect.
Steps to change images:
- Open the
publicfolder in your project. - Add your new photos into this folder.
- Rename your photos to match the code:
memory-1.jpg,memory-2.jpg,memory-3.jpg,memory-4.jpg,memory-5.jpg. - Alternative: If your image is a
.pngor has a different name (likesahiba-pic.jpg), opensrc/components/FlipCard.tsx, scroll down to theimgtag (around line 57), and change thesrcproperty tosrc={`/sahiba-pic.jpg`}.
Currently, the app plays a default Happy Birthday song from a web link. Here is how you can add your own custom downloaded song:
Steps to change the song:
- Get your favorite song in
.mp3format. - Drag and drop the
.mp3file into thepublicfolder. - Rename it to something simple, for example:
my-song.mp3. - Open the
src/App.tsxfile. - Scroll down to around Line 30 where you see the
<audio>tag:{/* Background Music - Happy Birthday Song */} <audio ref={audioRef} src="https://archive.org/download/HappyBirthdayToYou_897/Happy_Birthday_To_You.mp3" loop preload="auto" />
- Change the
srcto your file's name like this:{/* Background Music - Happy Birthday Song */} <audio ref={audioRef} src="/my-song.mp3" loop preload="auto" />
To change the Typewriter text (Main Page):
- Open
src/pages/Home.tsx. - Find the
<Typewriter messages={[ ... ]} />component (around Line 125). - Edit the text inside the quotes.
To change the Memory Card messages (Surprise Page):
- Open
src/components/FlipCard.tsx. - Find the
messagesarray at the top of the component (around Line 8). - Edit the messages inside the quotes for the back of each card.
To change the Memory Card Titles & Descriptions (Surprise Page):
- Open
src/pages/SurpriseView.tsx. - Find the array of memories inside the
mapfunction (around Line 115). - Edit the
titleandtextproperties for each memory.
- Install Dependencies (only needed the first time):
npm install
- Start the App:
npm run dev
- Build for Production (when you want to host it):
Made with ❤️ by Yashraj Singh Rathore © 2026 Yashraj Rathore
npm run build