A beautiful, animated web-based raffle system that reads participant names from your names.txt file and selects winners with smooth spinning animations.
Ideal tool for the raffles on the conferences - no storing and no tracking of the participants, just a simple and fun raffle experience.
These visuals demonstrate the smooth animations, responsive design, and celebratory winner reveal featured in the application.
- Install dependencies:
npm install - Set up participant names:
npm run prepare-name(copies sample namesnames.sample.txttonames.txt) - Edit
names.txtto add your own participants - Start the development server:
npm start - The raffle will automatically load names from
names.txt - Click "Start Raffle" or press spacebar to begin
- Watch the spinning animation and celebrate the winner!
- Smooth Animations: Slot machine-style spinning effect with gradual slowdown
- Fair Selection: Uses cryptographically secure random number generation
- Winner Celebration: Confetti animation and winner highlight
- Multiple Rounds: Track previous winners and run multiple drawings
- Keyboard Support: Press spacebar to start the raffle
You can also open index.html directly in your web browser without running npm commands.
index.html- Main raffle interfacestyles.css- Animations and responsive stylingscript.js- Raffle logic and name parsingnames.txt- Your participant list (already included)CLAUDE.md- Development guidance
The raffle automatically parses your names.txt file which uses the format:
Brandon Wood,
Manasseh Abijah,
sarah etzl,
...
The system handles:
- Automatic number and arrow removal
- Trailing comma cleanup
- Whitespace trimming
- Name normalization
- Click the "Start Raffle" button or press spacebar
- Watch names spin for 3 seconds with high-speed animation
- Experience the dramatic slowdown effect
- Celebrate with confetti when the winner is revealed
- Previous winners are tracked and displayed
- Click "Reset" to clear all previous winners
- Run unlimited rounds with the same participant pool
Edit script.js to adjust:
- Initial spin duration (default: 3 seconds)
- Slowdown effect timing
- Confetti duration and count
Modify styles.css for:
- Color schemes and gradients
- Animation speeds and effects
- Layout and spacing
- Mobile responsiveness
- Replace
names.txtwith your own participant list - Supports 100+ participants efficiently
Enjoy your raffle! 🎲✨

