STACKCRAFT

Architecture Guide

How to Play

Each quest gives you a business problem and a set of constraints. Your job: design an architecture that solves the problem and satisfies all the constraints.

Add components from the palette — tap to drop at the next open slot, or drag to place exactly. Connect them by dragging from one node's handle to another. The four health dimensions update live as you build.

When the canvas passes validation, complete the quest to reveal which architectural pattern you just built. Learning by doing, not by reading.

Components

ComputeApplication servers, workers, functions

StorageDatabases, object stores, data warehouses

CacheIn-memory caches like Redis or Memcached

Queue / BrokerMessage queues, event buses, pub/sub

CDNContent delivery networks for static assets

API GatewayEntry point for routing, auth, rate limiting

Load BalancerDistributes traffic across instances

External ServiceThird-party APIs and legacy systems

Health Dimensions

Priority order: Compliance → Reliability → Performance → Cost.

ComplianceRegulatory and security requirements (highest priority)

ReliabilityRedundancy, failover, fault tolerance

PerformanceLatency, throughput, scalability

Cost EfficiencyOver-provisioning is penalized.

Tips

Briefing tells you what the system needs, not how to build it.

Watch the constraint panel — green checks mean you're on track.

Unnecessary components hurt your cost score.

Orphan nodes don't contribute to the system.

Hints carry no penalty.

FAQ

Is my progress saved?

Yes. Close the tab or install the PWA; progress persists locally.

What are patterns?

Architectural patterns are named solutions to recurring design problems. You discover them by building systems — the game names what you built after you complete a quest.

Can I replay quests?

Yes. Replaying a quest keeps your best score and won't remove already-unlocked patterns.

Does this work offline?

Yes. Once loaded, Stackcraft caches its full shell. Start a new quest on a flight — the simulation runs locally.