Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HIGH TIDE v1

Build. Break. Reconcile.

A small, offline-first distributed-systems architecture builder for interview practice.

The point is not trivia and not reproducing a canonical diagram. Every run begins with:

Client → API → Database

Then requirements, failures, scale, security and operational reality earn the next component or mechanism.

Run it

No build step. No dependencies. No account.

Fastest

Open index.html in a modern browser.

Local HTTP server

python3 -m http.server 8080

Then open http://localhost:8080.

Publish it

This is static HTML/CSS/JS, so GitHub Pages can serve the repository root directly.

  1. Push the folder to a GitHub repository.
  2. Repository Settings → Pages.
  3. Deploy from the branch/root containing index.html.

No framework or package install is required.

How to play

  1. Read one Reality card.
  2. Make the smallest move that addresses it.
  3. Run High Tide.
  4. If the architecture fails, read the consequence, not a trivia score.
  5. Add/remove/replace a piece or attach a control and try again.
  6. Click Three Faces periodically to compare requirements, runtime, and what failure revealed.

Pieces vs controls

Pieces are architectural components such as Queue, Worker, External System, Fan-out, Archive, Search, Cache and Human.

Controls are mechanisms attached to the architecture: idempotency, outbox, retry, DLQ, backpressure, bulkheads, concurrency control, reconciliation, audit, trace IDs, PHI minimization, etc.

The product name is an implementation skin. A conceptual Worker can become Lambda or ECS without creating a new conceptual box.

Campaigns

  • Control Plane Ladder: default progressive path from async work through idempotency, outbox, unknown outcomes, backpressure, audit, security and human recovery.
  • Audit Pipeline Ladder: authoritative audit intent, fan-out, archive/search split, PHI and schema evolution.
  • Multi-Tenant Jobs Ladder: long jobs, retries, poison work, overload, fairness and compute fit.
  • AWS / Product Fit Sprint: practice changing implementation choices only when the requirement earns them.
  • Shuffle: Reality Attacks: mixed deck.

Design source

The game is grounded in the supplied Aptible system-design prep repository, especially:

  • minimum.md
  • BE-HERE.md
  • THREE-FACES.md
  • notes/08-failure-modes.md
  • notes/13-aws-choice-map.md
  • notes/05-consistency-outbox-idempotency-saga.md
  • notes/04-messaging-sqs-rabbit-kafka.md
  • notes/06-data-store-choices.md
  • notes/07-networking-security.md
  • notes/09-scale-cost-simplicity.md
  • the four supplied practice scenarios and walkthroughs

This is deliberately a v1 study tool, not a distributed-systems oracle. The scoring gauges are directional game feedback, not claims that architectures can be reduced to four magic percentages.

v1 limitations / useful next work

  • The board auto-lays out a deliberately small set of component types rather than becoming a generic diagram editor.
  • Challenge checking is rule-based and intentionally narrow.
  • There is no backend or shared state.
  • A future version could add generated cards, richer edge guarantees, campaign authoring, saved run histories, and an MCP-backed evidence mode that constructs Requirements / Runtime / High-Tide views from real company tools.

v1.1 patch

  • Two-row board layout with wider connector spacing and wrapped arrow labels.
  • Unknown-outcome/reconciliation turn now treats the external provider as a scenario fact, so selecting Reconciliation is sufficient.
  • Reset now immediately re-renders the base Client → API → Database state and clears run misses/history.
  • Successful turns remain visible until you press Continue….
  • Failed turns now show the still-missing component/control names instead of making you guess why the move did not pass.

About

A game for learning distributed systems

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages