• Blog
  • Docs
  • Pricing
  • We’re hiring!
Log inSign up
pintigho

pintigho

san_valentino

Remix of mewtru/valentine
Public
Like
san_valentino
Home
Code
2
README.md
H
main.tsx
Environment variables
Branches
1
Pull requests
Remixes
History
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Sign up now
Code
/
Code
/
Search
main.tsx
https://pintigho--019c22d67f56746f8f78b5d46bc3c72b.web.val.run
README.md

💘 Valentine's Day Invitation App

An interactive, playful web application built to ask someone special to be your Valentine. This project combines a bit of "software engineering mischief" with a romantic gesture.


🚀 Overview

This is a Single Page Application (SPA) built with React and hosted on Val Town. It guides the user through a fun, multi-step journey to plan the perfect date.

🎮 The "Reflex Test" Logic

The app features a "stubborn" UI design:

  • The Elusive 'No' Button: Using onMouseEnter and onClick handlers, the 'No' button moves randomly across the screen, making it a challenge to click.
  • The Growing 'Yes': Every time the user attempts to click 'No', the 'Yes' button increases in size, eventually dominating the screen.

✨ Features

  • Interactive Flow: 5-step state machine (Intro -> Celebration -> Date Selection -> Food Selection -> Activity Selection -> Final Ticket).
  • Visual Selection: Grid-based cards for food and activities with real-time feedback.
  • Confetti Cannon: Integrated canvas-confetti for the big "Yes" moment.
  • Final Summary: Generates a "Valentine's Ticket" with a summary of the date, designed for a quick screenshot confirmation.
  • Zero External Dependencies: Uses native System Font Stacks for a modern, fast-loading UI without external font libraries.

🛠️ Tech Stack

FeatureTechnology
LanguageTypeScript / JSX
LibraryReact 18.2
RuntimeVal Town (Deno)
EffectsCanvas-Confetti
StylingCSS-in-JS & CSS Animations

📂 Project Structure

  • App(): Main functional component managing the state of the user's journey.
  • moveNoButton(): Logic for calculating random X/Y coordinates within the viewport.
  • handleSelection(): Updates the choice state and scrolls the user to the top for a smooth transition.
  • server(): The entry point that serves the HTML/CSS shell and hydrates the React client.

📝 License

"Better Say Yes" License - Feel free to fork, but you must use it for romantic purposes only! ❤️

Code
README.md
H
main.tsx
FeaturesVersion controlCode intelligenceCLIMCP
Use cases
TeamsAI agentsSlackGTM
DocsShowcaseTemplatesNewestTrendingAPI examplesNPM packages
PricingNewsletterBlogAboutCareers
We’re hiring!
Brandhi@val.townStatus
X (Twitter)
Discord community
GitHub discussions
YouTube channel
Bluesky
Open Source Pledge
Terms of usePrivacy policyAbuse contact
© 2026 Val Town, Inc.