gitwtfhub

wtf is lottery?

moshang-ax/lottery — explained in plain English

Analysis updated 2026-05-18

4,542JavaScriptAudience · generalComplexity · 2/5Setup · easy

TL;DR

A 3D web-based raffle app for company annual dinners that imports participants from Excel, spins an animated sphere to pick winners, and exports results.

Mindmap

mindmap
  root((Lottery App))
    What It Does
      3D raffle display
      Prize configuration
      Event management
    Input
      Excel import
      Prize rules
      Participant list
    Output
      Live winner display
      Excel export
    Tech Stack
      Node.js backend
      Three.js sphere
      Express server

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Run a live raffle at a company annual dinner with a 3D animated display

REASON 2

Import employee names from an Excel sheet and randomly select prize winners per tier

REASON 3

Configure multiple prize categories with different winner counts for a corporate event

REASON 4

Export raffle results to Excel for record-keeping after the event

What's in the stack?

JavaScriptNode.jsExpressThree.js

How it stacks up

moshang-ax/lotterylibnoname/nonamepatrickkunka/mixitup
Stars4,5424,5424,547
LanguageJavaScriptJavaScriptJavaScript
Setup difficultyeasymoderateeasy
Complexity2/53/51/5
Audiencegeneralgeneraldeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · easy Time to first run · 30min

Requires Node.js, run locally on the event host machine, not designed for public internet deployment.

Wtf does this do

Lottery is a web-based raffle program designed for company annual dinner events. It lets an organizer import a list of participants from an Excel spreadsheet, configure prizes and rules, run the raffle live with a visual 3D spinning sphere showing the pool of names, and then export the results back to Excel when the event is over. A hosted demo is available online to try without any setup. The visual display is built with Three.js, a JavaScript library for 3D graphics in the browser. The backend is built with Node.js and Express. During a draw, a 3D sphere spins on screen with participant names or photos displayed on its surface, and winners are selected and announced as it slows to a stop. Configuration is done through a settings file. An organizer can set prize names, the number of winners per prize tier, and the text or images that appear on the sphere. Participant data comes from an imported Excel file, so no manual data entry is required beyond the initial spreadsheet. Getting it running requires Node.js installed on the event host's computer. After downloading the repository and installing dependencies, the organizer starts a local server and opens the application in a browser. The main README is in Chinese, with an English version also provided. The project is intended for local use at a live event rather than deployment as a public web service. The described tech stack is Node.js combined with Express for the server and Three.js for the visual presentation. Prize information, participant data, and the number of allowed winners per prize are all configurable before the event starts.

Yoink these prompts

Prompt 1
How do I set up the lottery app on my laptop for an office event? I have Node.js installed and an Excel file with 200 employee names.
Prompt 2
Show me how to configure the lottery program to have 3 different prize categories with 1, 3, and 10 winners respectively.
Prompt 3
How do I customize the background and sphere appearance in the lottery app to match our company branding?

Frequently asked questions

wtf is lottery?

A 3D web-based raffle app for company annual dinners that imports participants from Excel, spins an animated sphere to pick winners, and exports results.

What language is lottery written in?

Mainly JavaScript. The stack also includes JavaScript, Node.js, Express.

How hard is lottery to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is lottery for?

Mainly general.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.