{"id":33340015,"url":"https://github.com/eddmann/secret-santa-draw-arcade","last_synced_at":"2026-04-13T15:32:36.579Z","repository":{"id":325356631,"uuid":"1100867090","full_name":"eddmann/secret-santa-draw-arcade","owner":"eddmann","description":"🎮 Secret Santa allocation through pixel-art arcade games. Play Christmas mini-games to unlock your Secret Santa assignment. Built with React, TypeScript, and Phaser.js.","archived":false,"fork":false,"pushed_at":"2025-11-20T21:51:47.000Z","size":2423,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-20T23:32:12.187Z","etag":null,"topics":["arcade-games","bun","christmas","client-side","phaser","pixel-art","react","secret-santa","typescript","vite"],"latest_commit_sha":null,"homepage":"https://eddmann.com/secret-santa-draw-arcade/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eddmann.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-20T21:41:25.000Z","updated_at":"2025-11-20T21:54:00.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/eddmann/secret-santa-draw-arcade","commit_stats":null,"previous_names":["eddmann/secret-santa-draw-arcade"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/eddmann/secret-santa-draw-arcade","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eddmann%2Fsecret-santa-draw-arcade","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eddmann%2Fsecret-santa-draw-arcade/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eddmann%2Fsecret-santa-draw-arcade/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eddmann%2Fsecret-santa-draw-arcade/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eddmann","download_url":"https://codeload.github.com/eddmann/secret-santa-draw-arcade/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eddmann%2Fsecret-santa-draw-arcade/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":285611835,"owners_count":27201484,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-21T02:00:06.175Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arcade-games","bun","christmas","client-side","phaser","pixel-art","react","secret-santa","typescript","vite"],"created_at":"2025-11-21T12:00:28.078Z","updated_at":"2026-04-13T15:32:36.567Z","avatar_url":"https://github.com/eddmann.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"src/logo.png\" alt=\"Secret Santa Draw Arcade Logo\" width=\"200\"\u003e\n\n[Live Demo](https://eddmann.com/secret-santa-draw-arcade/)\n\n\u003c/div\u003e\n\n# 🎮 Secret Santa Draw Arcade\n\n_Because why just draw names when you can earn them through retro arcade games?_\n\nEvery year I over-engineer our family's Secret Santa allocation. This year: retro arcade games built with Phaser.js. Participants play a randomly selected Christmas mini-game to unlock their Secret Santa assignment. No backend, no accounts, just pure client-side gaming fun.\n\n**Tech Stack:** React, TypeScript, Phaser.js, Bun\n\n## 🚀 Getting Started\n\n```bash\nbun install\nbun dev    # Start development server\nbun build  # Build for production\n```\n\n## 🎯 The Games\n\nEach participant gets a random game challenge. Complete the challenge to reveal your Secret Santa recipient letter by letter!\n\n|                                                                 |                                                                                                                                               |\n| :-------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------- |\n|       \u003cimg src=\"README/santa-maze-game.gif\" height=\"300\"\u003e       | **[Santa Maze](src/game/SantaMazeGame.ts)**\u003cbr\u003eNavigate a peppermint maze, collect 3 ornaments, then reach the present                        |\n| \u003cimg src=\"README/reindeer-delivery-dash-game.gif\" height=\"300\"\u003e | **[Reindeer Delivery Dash](src/game/ReindeerDeliveryGame.ts)**\u003cbr\u003eFly Santa's sleigh through the sky, collect 4 stars while dodging obstacles |\n|  \u003cimg src=\"README/stocking-fill-match-game.gif\" height=\"300\"\u003e   | **[Stocking Fill Match](src/game/StockingMatchGame.ts)**\u003cbr\u003eMemory game: match 6 pairs of holiday icons                                       |\n|  \u003cimg src=\"README/gift-stack-challenge-game.gif\" height=\"300\"\u003e  | **[Gift Stack Challenge](src/game/GiftStackingGame.ts)**\u003cbr\u003eBalance and stack 6 falling gifts on a moving platform                            |\n|   \u003cimg src=\"README/snowball-slingshot-game.gif\" height=\"300\"\u003e   | **[Snowball Slingshot](src/game/SnowballSlingshotGame.ts)**\u003cbr\u003eAim and launch snowballs to knock 5 ornaments off the Christmas tree           |\n\n## 📖 How It Works\n\n1. Create your event and add participants\n2. Set any exclusions (e.g., couples shouldn't get each other)\n3. Generate unique game links for each participant\n4. Share the links - each person plays their game to reveal their match\n\n|              Event Creation              |              Generated Links              |\n| :--------------------------------------: | :---------------------------------------: |\n| ![Event Creation](README/draw-entry.png) | ![Generated Links](README/draw-links.png) |\n\nThe allocation algorithm ensures valid pairings while respecting exclusions. All data is encoded in the URL, so there's no backend or database needed.\n\n## Previous Years\n\nThis is part of my annual tradition of over-engineering Secret Santa:\n\n- [2020 - Clojure Secret Santa](https://github.com/eddmann/clojure-secret-santa)\n- [2021 - Pico Secret Santa](https://github.com/eddmann/pico-secret-santa)\n- [2022 - Step Function Secret Santa](https://github.com/eddmann/step-function-secret-santa)\n- [2023 - Secret Santa PWA](https://github.com/eddmann/secret-santa-pwa)\n- [2024 - Secret Santa Draw](https://github.com/eddmann/secret-santa-draw)\n- **2025** - **Secret Santa Draw Arcade** ⭐ | [Secret Santa Draw GBC](https://github.com/eddmann/secret-santa-draw-gbc)\n\n## 📄 License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feddmann%2Fsecret-santa-draw-arcade","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feddmann%2Fsecret-santa-draw-arcade","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feddmann%2Fsecret-santa-draw-arcade/lists"}