{"id":31036141,"url":"https://github.com/mattwong-ca/swift-tickets","last_synced_at":"2026-04-14T18:34:14.093Z","repository":{"id":186884805,"uuid":"675476241","full_name":"MattWong-ca/swift-tickets","owner":"MattWong-ca","description":"🎤 Taylor Swift tickets belong to genuine fans. Our events platform disrupts the $78B Event Tickets market, leveraging World ID to prevent bots from buying tickets. Bots will never steal your tickets again!","archived":false,"fork":false,"pushed_at":"2023-09-27T03:14:24.000Z","size":9852,"stargazers_count":0,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-14T03:59:14.451Z","etag":null,"topics":["bots","ethereum","ethglobal","superchain","taylor-swift","worldcoin"],"latest_commit_sha":null,"homepage":"https://swift-tickets.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MattWong-ca.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2023-08-07T02:40:35.000Z","updated_at":"2025-07-29T15:23:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"b3a4bfa6-2510-4916-a6d1-99ad0374fcb0","html_url":"https://github.com/MattWong-ca/swift-tickets","commit_stats":null,"previous_names":["mattwong-ca/swift-tickets"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/MattWong-ca/swift-tickets","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MattWong-ca%2Fswift-tickets","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MattWong-ca%2Fswift-tickets/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MattWong-ca%2Fswift-tickets/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MattWong-ca%2Fswift-tickets/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MattWong-ca","download_url":"https://codeload.github.com/MattWong-ca/swift-tickets/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MattWong-ca%2Fswift-tickets/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31810738,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T18:05:02.291Z","status":"ssl_error","status_checked_at":"2026-04-14T18:05:01.765Z","response_time":153,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["bots","ethereum","ethglobal","superchain","taylor-swift","worldcoin"],"created_at":"2025-09-14T03:58:21.738Z","updated_at":"2026-04-14T18:34:14.070Z","avatar_url":"https://github.com/MattWong-ca.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🎤 Swift Tickets (Taylor's Version)\n\n\u003cimg width=\"1440\" alt=\"Swift Tickets Cover\" src=\"https://github.com/MattWong-ca/swift-tickets/assets/66754344/64d29ae3-f3db-4b0c-ac7c-a4638b210a28\"\u003e\n\n### 🔗 Live demo: https://swift-tickets.vercel.app\n### 🔗 ETHGlobal showcase: https://ethglobal.com/showcase/swift-tickets-taylors-version-zvhsz\n\n# 🤖 \"It's Me, Hi, I'm The Problem, It's Me\"\nYou've likely heard of Ticketmaster’s inability to handle bots, especially in November '22 when fans waited HOURS (just to get nothing), or most recently in August '23, when their Eras Tour Verified Fan program was basically a lottery ticket—thousands of fans were waitlisted.\n\nThe Events Tickets market is a huge opportunity. According to Statista:\n\u003e _\"Revenue in the Event Tickets market is projected to reach $78B USD in 2023, [...] and an expected 760M users by 2027\"_\n\nTicketmaster is a monopoly and their Verified Fan just **doesn't work**.\n\n### 😭 ~~Onchain~~ Cruel Summer\nCanadian fans are [frustrated](https://ca.style.yahoo.com/canadian-taylor-swift-fans-toronto-shows-waitlist-142720549.html) that they're all on the waitlist for Swift's Eras Tour in Toronto (November 2024). There was only a 1 in 400 chance of getting a ticket ([source](https://www.theglobeandmail.com/canada/article-taylor-swift-canada-tickets-codes-percentage/)), so it's actually easier to get into Harvard than to get a Eras ticket :P\n\n### 👁️ You're The Only One Of You\nWith Swift Tickets' use of World ID, only **real** humans can buy tickets! This prevents bots from accessing the checkout.\n\nThere’s been privacy concerns with Worldcoin, but Swifties will literally do anything to get a ticket—in the future, I'll implement different verification levels based on orb / phone verification, which can differentiate their chances of getting in by how much we're able to prove they're human.\n\n# 🏗️ How it's Made\nSwift Tickets is an events platform that leverages Worldcoin's World ID to discourage ticket scalpers + prevent bots from buying Taylor Swift concert tickets. Every sponsor tech's integration in this dapp was intentionally and thoughfully chosen to provide a _seamless_ user experience.\n\n- Worldcoin's World ID for bot prevention\n- Deployed on the Superchain (Optimism, Base, Zora, Mode)\n- Supabase for World ID web backend verification\n- NFT metadata stored on IPFS through Pinata\n- Alchemy and QuickNode for RPC endpoints\n\n### Tickets\nThe tickets are all deployed on different chains, separated by seat sections! For example, at a stadium there's 100 level, 200 level, etc. and seat sections in each. Each of these sections have tickets deployed on a different chain, which leverages the Superchain's horizontal scaling to provide more accessibility to users in case they're on another network. If 10s of thousands of Swifties are trying to mint an NFT at the same time, it might even help with congestion/gas fees! Deployments were made using Hardhat, with networks in `/blockchain/hardhat.config.js`.\n\n### Checkout with World ID\nThe key value prop of this platform is using World ID to prevent bots. The UI/UX is similar to a reCAPTCHA, with users clicking on the `I'm Human` button to verify with Worldcoin. Once verified, a `useEffect` will automatically check if the user is verified in the Supabase database and show a green approval. If not verified, the `Purchase NFT Ticket` button won't work!\n\n**Important**: since user's can game the frontend, the web verification can't be just done on the frontend, which is why Supabase is used. In `verify.ts`, the `if (verifyRes.status == 200)` block contains the lines where the user's address + a `isWorldcoinVerified` boolean is sent to Supabase. In the frontend, when determining whether to show a `I'm Human` or `Verified` button, Supabase is called to determine if the user is verified.\n\n### Overall Dapp\n- Next.js app frontend built with TypeScript and HTML/CSS, with a `verify.ts` API route for World ID verification.\n- Hardhat project for deploying Solidity smart contracts.\n- Design + branding was inspired by Zora!\n\n### Deployed Contracts\n- [Zora Goerli](https://testnet.explorer.zora.energy/address/0x8a204761ffb6edd676ec28849de46d5e59f87fe1)\n- [Base Goerli](https://goerli.basescan.org/address/0x2a6123eedea57303d2034f60a62c0c1529f06752)\n- [Optimism Goerli](https://goerli-optimism.etherscan.io/address/0xb861d6d79123ada308e5f4030f458b402e2d131a)\n- [Mode Testnet](https://sepolia.explorer.mode.network/address/0xb861d6d79123ADa308E5F4030F458b402E2D131A)\n- [Goerli](https://goerli.etherscan.io/address/0x46224855ce16b2a5a8ddfab0578da8828d43f601)\n\n# 🚀 Next Steps\n### QR Code Ticket\nCurrently it's only a NFT ticket, but there's no QR code for user's to actually get into the event! Usually QR codes are sent by email, so I'll want to implement this so that a QR code is emailed when they purchase the NFT ticket.\n\n### World ID Proof Onchain\nTo the make the dapp fully onchain, I'll scrap the Supabase backend for onchain proofs.\n\n### Option To Use USDC Or Fiat\nIf users don't want to pay with ETH, they should be able to buy tickets with USDC (or other stablecoins) and fiat.\n\n### Option To Buy More Than 1 Ticket\nThere's currently no option to buy more than 1 ticket unless you redo the entire process, which is a pain. Ticketmaster allows fans to buy a maximum of four Eras tickets, so I'll need to add a # of tickets option.\n\n### Create Event Feature\nThe target initial customers are more well-known artists like Taylor Swift, which is where the ticket scalpers + bots are. They won't be trying to bot a small event (eg. ETHDenver side event), so World ID is most useful for highly anticipated events like concerts + sporting events.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmattwong-ca%2Fswift-tickets","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmattwong-ca%2Fswift-tickets","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmattwong-ca%2Fswift-tickets/lists"}