Skip to content
andeh
Work

Crystal Siege

A charity Minecraft event for the One of Us Charity, in memory of Technoblade, where viewers donate to buy in-game effects for the players they're watching.

The Crystal Siege logo.

Crystal Siege: Refractured is a charity event for One of Us, produced by bumpyEvents. Six teams of creators compete in Minecraft, and viewers can donate to change what happens in the game.

I am the sole web developer on the project. The site connects to the game through an event API built by another bumpyEvents developer.

What I did

  • Built the public site, with pages for teams and players, the incentive shop and the donation goals.
  • Built the cart and the checkout, which sends viewers to Tiltify to donate.
  • Built the admin dashboard that the event team uses to manage players, incentives, carts, donations and fulfilment.
  • Set up the caching so that pages stay up to date without every visitor hitting the server.
Role
Sole web developer
For
One of Us, with bumpyEvents
Year
2025 and 2026
Live at
fov.oneofusglobal.org

Built with

  • Next.js
  • React
  • TypeScript
  • tRPC
  • Clerk
  • Tiltify
  • Cloudflare Turnstile
  • Tailwind CSS
  • Vercel

The six teams

  • Ruby Rangers
  • Topaz Thieves
  • Emerald Explorers
  • Sapphire Sorcerers
  • Amethyst Artificers
  • Pearl Paladins

Incentives

Every player has their own shop of incentives, which are effects that happen to them in the game. Viewers pick a player, add incentives to a cart and check out by donating through Tiltify.

Each cart has a limit per player, and the checkout is protected by Cloudflare Turnstile.

Dozens of Minecraft players gathered in front of a castle at a Crystal Siege event.

Donation goals

The site shows the total raised against eleven goals, starting at $1,000 and going up to $40,000, with a stretch goal at $50,000.

Underpaid donations

If someone donates less than their cart total, the cart is marked as underpaid and the items are held until someone on the team decides what to do with it.

Admins can also simulate a donation to test everything from start to finish. Test donations are never added to the total.

Caching

The pages need to load quickly and also stay up to date during the event. Each API call sets how long it can be cached for, and the cached copies are served from the CDN. When the team changes something in the dashboard, the affected pages are refreshed.

Sign-in is only checked on the admin pages, which means every public page can be cached.

The Crystal Siege: Refractured logo with the One of Us mark.

Results

  • About $75,000 raised

    The Crystal Siege events have raised about $75,000 for charity.

  • Underpaid carts are held

    Nothing is given out in the game until the donation matches the cart or an admin approves it.

  • Cached at the CDN

    Public pages are served from the CDN and refreshed when the event team changes something.