A sweet, romantic single-page app to ask your special someone to be your Valentine. Features a beautiful animated experience with a playful twist - the "No" button runs away when you try to click it!
Use the Link Generator to create a custom URL with your crush's name and preferred language, then share it with them!
- Animated Intro Slideshow - Beautiful text animations that build anticipation
- Runaway "No" Button - The "No" button escapes when hovered, because rejection is not an option!
- Floating Hearts - Celebratory heart animations on the success screen
- Personalized Experience - Add their name via URL parameter (
?name=Julia) - Multi-language Support - Available in English, German, Spanish, French, Italian, and Polish
- Dark Mode - Automatically adapts to system preference
- Mobile Friendly - Responsive design that works on all devices
- Link Generator - Easy-to-use config page to create shareable links
- Create a link using the Config Page
- Send the link to your Valentine
- They'll see a personalized slideshow with their name
- When asked "Will you be my Valentine?":
- Yes → Floating hearts and a love message
- No → Good luck catching that button!
| Parameter | Description | Example |
|---|---|---|
name |
Their name (optional) | ?name=Julia |
lang |
Language: en, de, es, fr, it, pl (default: en) |
?lang=de |
Example: https://strehk.github.io/wybmv/?name=Julia&lang=en
- SvelteKit - Web framework with static adapter
- Tailwind CSS - Styling with custom romantic color palette
- i18next - Internationalization
- Bun - Fast JavaScript runtime & package manager
- Bun installed
# Clone the repository
git clone https://github.com/Strehk/wybmv.git
cd wybmv
# Install dependencies
bun install
# Start development server
bun run dev# Build for production
bun run build
# Preview production build
bun run previewLight Mode:
- Background:
#FFF5F7(soft blush) - Primary:
#F9A8D4(pink-300) - Accent:
#EC4899(pink-500) - Text:
#831843(pink-900)
Dark Mode:
- Background:
#1F1118(deep burgundy) - Primary:
#BE185D(pink-700) - Accent:
#F472B6(pink-400) - Text:
#FDF2F8(pink-50)
- Create a new locale file in
src/lib/i18n/locales/(e.g.,fr.json) - Copy the structure from
en.jsonand translate all strings - Register the locale in
src/lib/i18n/index.ts - Add the language option to the config page in
src/routes/config/+page.svelte
MIT - Feel free to use this for your own Valentine's Day proposal!
Made with ❤️ | GitHub: Strehk