Back to Portfolio
Live 2026 · 03 / 09 Visit live

DevFight

Fight Your Way to Visibility

ReactHonoDurable ObjectsWebSocketD1CanvasStripe
Year
2026
Duration
Live since August 2026
Team
Mahere & David
Status
Live
Overview

What is DevFight?

DevFight is a turn-based pixel RPG in the browser. Dev teams of one to five players enter their product (website, app, or store listing), open a lobby, and fight through a chain of increasingly hard bosses. Whoever gets furthest earns a spot on the public wall at devfight.app/wall, with the team's pixel avatars next to their product. Product Hunt meets Final Fantasy 1, with roguelite structure: XP, levels, abilities, and drops only exist inside a run, and every run starts at zero.

The Challenge

The problem we set out to solve.

Indie developers beg for upvotes to get visibility. We wanted a launch platform where visibility is earned by playing, and where a five-player realtime battle with simultaneous turn input, a 30-second timer, and auto-battle runs reliably without a dedicated game server.

Our Solution

How we built it.

The whole game runs on Cloudflare. A Hono worker serves the API and the server-rendered wall. Each run is a Durable Object that owns the combat state and the WebSocket connections, each invite code is a Durable Object lobby, and a global Durable Object streams the live-stats feed. D1 stores users, runs, leaderboard, and every rated move for balance work. The engine package (combat, rating, loot, RNG) runs server-side only, so the client cannot cheat. 28 avatars are procedurally generated, sound is synthesized Game-Boy style, and the arena is drawn on a canvas with hit, crit, dodge, and heal effects.

Tech Stack

Under the hood.

Frontend
React 18, Vite 6, Canvas Sprites
Backend
Hono on Cloudflare Workers
Realtime
Durable Objects (RunRoom, Lobby, LiveStats), WebSocket
Database
Cloudflare D1 + KV Sessions
Game Engine
Server-side only: combat, loot, RNG, rating
Auth
Password, Magic Link, Google
Payments
Stripe Checkout + Webhook
Content
13 Bosses, 24 Abilities, 28 Avatars
Attention to Detail

What we paid attention to.

01

Fair by Design

Progression is run-scoped. Nobody buys a permanent advantage, matchmaking is trivial, and every run tells its own story.

02

Visibility You Earn

The wall is server-rendered and shareable. Product images come from og:image or store artwork, and every product gets traffic stats with clicks and conversion rate.

Result

Where we are today.

Phase 1 and 2 of the spec (playable core and multiplayer) are live at devfight.app, including seasons, leaderboard, and a live-stats feed. Replay viewer is next.