ReleasedGame DevelopmentWeb DevelopmentProducts & Services

Scrap Racket

A server for the survival game Rust with its own economy and bounty system, and the Next.js site that runs with it — live status, wipes, leaderboards and a store.

Role
Founder, Full-Stack Developer, Game Systems Developer
Year
2026–
Status
Released
Team
Solo

Overview

CONTEXT

Scrap Racket is a server for the survival game Rust, and the website that goes with it — both mine. The server keeps vanilla rates and adds its own systems on top: an in-game economy, player-funded bounties with an NPC police force and a prison, personal quarries and pump jacks, generated cabins and guarded bases, leaderboards with small perks, and 27 achievements. The site at scrapracket.uk shows the live server, the wipe calendar and map vote and how every system works, and handles Steam sign-in, memberships, support tickets and appeals.

The challenge

PROBLEM

A community server lives on trust: rules stated plainly, an economy nobody can buy an advantage in, and a site that tells the truth about the server right now. So the game and the website had to agree on every number and word, the site had to read the live server without exposing it to the internet, and sign-in and payments had to be safe from the first day.

Process

METHOD
  1. Foundation

    Design tokens, a component library with guard tests against stray colours and strings, every public page and the CMS — in the first week.

  2. Game systems

    The Exchange, contracts, the Old Bill and its prison, quarries, cabins and bases as C# plugins, with the site reading the live server over RCON.

  3. Launch

    Steam sign-in, store and memberships, wipe calendar and map vote; deployed with Kamal and live on 12 September 2026.

  4. Polish

    Leaderboards, achievements, the Discord bot, backups, and accessibility to WCAG 2.2 AA with a settings dialog on every page.

Pipeline

PROCESS

I built it alone from 17 August 2026 — 444 commits across three repositories in about five weeks — as the engineer directing a team of AI coding agents rather than typing every line. That is a craft of its own, closer to conducting and pair programming than to prompting: I write the brief and the rules (AGENTS.md for the site and for the server), split the work into tracked issues, run agents in parallel in isolated worktrees, pair with them on the hard parts, and review every change before it lands. The structure keeps them honest: a single source of truth for every piece of copy (copy.ts) and every colour (tokens.css), in-game text generated from that same source, guard tests that fail the build on a stray string or colour, and a knowledge base where each incident becomes a written rule. The visual design and the design system were made with Claude Design. The site came first; the game server followed on 10 September, the site went live on 12 September, and leaderboards, achievements, the Discord bot, the store and accessibility shipped over the next two weeks.

Technical notes

DEPTH

Web: a pnpm monorepo with Next.js 16 (App Router), React 19, TypeScript, Tailwind CSS 4, TanStack Query and Zod, and Payload CMS 3 on PostgreSQL 17 with migrations only. The site reads the game server over RCON from the same host, never exposed to the internet, and accepts game events signed with HMAC-SHA256. Integrations: Steam OpenID sign-in, a Tebex headless store with a verified, idempotent webhook, three vote-list APIs, RustMaps, a Discord bot written directly on Discord's REST and gateway APIs, and backups to Cloudflare R2. Game: 14 C# plugins for the Carbon framework, about 22,000 lines. In-game text and colours are generated from the site's source, so the two cannot disagree. Deployed with Docker and Kamal on a Linux host behind Cloudflare.

Outcome

RESULT

Live at scrapracket.uk: 38 pages and a staff panel, 130 unit-test files with Vitest and Testing Library, and Playwright with axe-core at four screen widths. The site targets WCAG 2.2 AA, with settings for text size, spacing, dyslexia-friendly fonts, contrast, motion, arrow-key navigation and text to speech. The server is open and new features keep shipping.

Gallery

MEDIA
  • Home — the hero, live server count and the countdown to the next wipe

  • Gameplay — every custom system, explained in plain words

  • The Scrap Exchange — spending the Scrap you carry, in game

  • Contracts & the Old Bill — player-funded bounties

  • Leaders & perks — eight boards and the fair-play rules

  • Leaderboards — this wipe's top three on each board

  • Wipes — countdown, calendar and what resets

  • Vote on the next map

  • A server page — connect command, rates and map

  • Status — live readings and 90-day uptime

  • Memberships — cosmetic perks only, nothing that wins a fight

  • Accessibility settings — text size, spacing, fonts, contrast, motion, speech

Working on something?

Open to frontend, full-stack and game-dev roles — hybrid near Cardiff or remote.