Skip to content
← All work

03EQUIPMENT.MANAGER/Web App

CLASH FORGE

A specialized resource optimizer and upgrade calculator for Clash of Clans Hero Equipment economics.

Role
Solo Product Engineer
Stack
Next.js / TypeScript / TailwindCSS / Vercel
Year
2024
Status
Shipped

01Context

Clash of Clans introduced multi-tier ore currencies (Shiny, Glowy, Starry) with non-linear upgrade curves and hero level caps. Players lacked clear visibility into upgrade costs and time requirements.

02Problem

Calculating multi-tier ore costs across multiple pieces of equipment required complex spreadsheet tracking. Players needed an instantaneous, zero-latency tool with accurate level constraints and resource deficit calculations.

03Constraints

  1. 01Zero latency UI: instant recalculation on every slider or level toggle
  2. 02Mobile-first design for players using phones while playing on iPad or PC
  3. 03Persistent local state so users do not lose their progression configuration between visits

04Architecture

A lightweight client-driven calculation engine backed by typed equipment cost matrices and local storage synchronization.

Ore Calculation Engine
Pure functional accumulator aggregating ore totals, deficits, and day estimates.
Equipment Matrix Store
Immutable lookup table defining upgrade costs per level for Common and Epic gear.
State Persistence Layer
LocalStorage hook maintaining player equipment levels and daily ore income rates.

05Decisions

D1Pure client-side state without database requirements

Why

User equipment progression is personal data that requires no multi-user sync, allowing zero authentication friction.

Result

100% uptime, instant page load, zero operating database costs.

D2Game-faithful visual language with industrial readability

Why

Familiar color coding for Shiny/Glowy/Starry ores creates instant cognitive mapping for players.

Result

High engagement and intuitive usability without requiring user onboarding.

06Trade-offs

LocalStorage vs authenticated cloud sync

Gained

  • +No login barrier, privacy-preserving, immediate utility

Gave up

  • −Configurations do not automatically synchronize across multiple devices unless exported manually

07Performance

  • ↯Memoized calculation loops executing in under 1ms
  • ↯Zero external API dependencies during runtime
  • ↯Lightweight bundle footprint under 50KB total JavaScript

08Challenges

  • #Accurately mapping different level cap tiers according to Town Hall level prerequisites
  • #Designing a compact matrix layout that remains fully operable on 375px mobile screens

09Learnings

  • →Domain-specific utility tools achieve high stickiness when they eliminate cognitive load instantly without sign-up gates.
  • →Strict TypeScript interfaces for game data matrices prevent off-by-one errors in multi-tier level calculations.

10Retrospective

An export/import URL hash state feature would enable sharing progression paths and upgrade schedules via compact permalinks without requiring user accounts.

Next project · 04

DINO 3D →

Chrome's classic offline Dino runner reimagined in low-poly 3D for desktop and mobile with dynamic day/night cycles.

DINO 3D Thumbnail