Interactive Valentine's web app: React, TypeScript, Three.js. Journey from a 404-style entry to envelope, letter, flowers, and extras.
git clone <repo-url>
cd a-gigi-surprise
npm install
npm run devOpen http://localhost:5173. Default route is the 404-style page; use the Home button to reach the dashboard.
- 3D Envelope – Click-to-open envelope with seal, flap, and paper slide. Sound and particle effects.
- F1 Racing – 3D race with Six cars (Red Bull, Mercedes, Ferrari, McLaren, Alpine, Aston Martin). Competitors, position, speed, finish line. UP/W accelerate, LEFT/RIGHT steer.
- Flashcard Generator – Paste text or upload PDF; auto-generates flashcards with multiple-choice options and study mode.
- 3D Flower Viewer – Three.js tulip, daisy, lily, four-leaf clover. Rotate and zoom.
- Photobooth – Webcam capture, filters, design templates (no emojis). Save to gallery.
- Voice Recorder – Record, waveform playback, multiple messages, download.
- Love Letter Builder – Rich text, fonts, colors. Save multiple letters (localStorage).
- Countdown Timer – Target date, animated numbers, particle effects.
- Date Planner – Calendar, activity ideas, save plans.
- Love Language Quiz – Quiz and personalized results.
- Scrapbook Creator – Drag-and-drop photos, notes, stickers; multiple layouts.
- Secret Message Decoder – Puzzles and hidden messages.
- Photo Gallery – Upload, filters, animated reveal on scroll.
- Background Music – Romantic melody; mute/unmute. Available app-wide.
React 18, TypeScript, Vite, Three.js, Framer Motion, Tailwind, shadcn/ui, PDF.js (flashcards), Web Audio API (sounds + music).
Countdown, letters, plans, voice messages, photobooth photos, flashcard sets, and F1 best times persist in localStorage.
Personal gift project.