A simple, satirical single-page application where users can express their opinion about Luke. Spoiler: everyone agrees.
- Simple voting interface with two buttons
- LocalStorage persistence - your choice is remembered
- Subtle animations - button flip and monochrome confetti
- Fully accessible - keyboard navigation, screen reader support, respects reduced motion preferences
- Privacy-first - no data leaves your browser, everything stored locally
- Mobile-responsive - works beautifully on all screen sizes
- Vite 5 - Fast build tool and dev server
- TypeScript 5 - Type-safe JavaScript
- Tailwind CSS 3 - Utility-first CSS framework
- canvas-confetti - Celebratory confetti effect
- Vitest - Unit testing framework
- Node.js 18 or higher
- npm or yarn
# Install dependencies
npm install
# Start development server
npm run dev
# Run tests
npm run test
# Build for production
npm run build
# Preview production build
npm run previewThis site is designed to be deployed on Cloudflare Pages:
- Push this repository to GitHub
- Connect your repository to Cloudflare Pages
- Set build settings:
- Build command:
npm run build - Build output directory:
dist
- Build command:
- Deploy!
idontlikeluke/
├── public/ # Static assets
├── src/
│ ├── components/ # TypeScript components
│ ├── css/ # Tailwind styles
│ ├── lib/ # Utility functions
│ ├── index.html # Main HTML file
│ ├── main.ts # Application entry point
│ └── ui.ts # UI interaction logic
├── tests/ # Vitest tests
└── ...config files
There might be some hidden messages in the console and HTML. Just saying. 👀
MIT License - Copyright (c) 2025 Jean Maurice Meus
No data leaves your browser. Your vote is stored locally only using localStorage.