TOPOengineering
plan

Plan of the TOPO distributed system

Two floors: upstairs, the internet and the Vercel layer with the screens; on the ground floor, the Railway layer with the distributed system: the API in 3 replicas, the database, Redis and the files. A dot runs through the most used product requests, from one floor to the other. The selector shows each environment; each post is a balloon on its piece. The plan shows what is live on 2026-10-23: the pieces and the links, not their state. Hover over or focus a piece to light it up.Scroll the list: the piece lights up on the plan pinned at the top.

environmentin bothstaging onlyproduction only
most used product requests

GET /api/conciliations/:id a reconciliation's record, opened from the list or the board Browser → Addresses → Firm screens → API → Database

no piece lit
Isometric plan of the TOPO distributed systemUpstairs, on pillars, the internet with the browser and the addresses, and the Vercel layer with the screens. On the ground floor, the Railway layer with the distributed system: the API in replicas, the scheduled jobs, the database, Redis, the files and the backups. On the right, external services and monitoring. In front, observability: the traces, the errors and the alerts that reach a person. A dot runs along the path of each most used product request and comes down from the upper floor to the ground floor. The colour says whether the piece is in both environments, staging only or production only.Browser123internetthe browser and the addressesVercelthe screens, each in its own projectRailwaythe distributed systemthe distributedsystemexternal servicesemail and AImonitoringscreen usage and site analyticsobservabilitytraces, errors and alertsupper floorground floorstaging only21
revision block · counted from the inventory2026-10-23
26
pieces
51
links
6
areas
2
posts
titledistributed system plan
sheet1 of 2
revision2026-10-23 · not to scale
sourceinventory of 2026-10-23

Posts

2 posts
  1. 2From click to database and back: the path of one request at TOPOWe follow a single POST, the one that creates an activity, from the Save button down to PostgreSQL and back, with every number measured in staging.piece APIzone C6published 2026-10-23
  2. 1A feature is only done when someone who did not write it sees every case workingHow we proved, with 27 screenshots and database counts taken before and after, that the automations our customers create work.piece Automationszone D7published 2026-10-14

Piece list

26 pieces · 51 links

internet · 1 piece

  1. 1

    Addresses

    Internet addresses (Cloudflare)

    type serviceon the plan internet · A5environment bothlinks 6→ 1←

Vercel · 6 pieces

  1. 2

    Firm screens

    The accounting firm's screens (Vercel)

    type screenon the plan Vercel · A6environment bothlinks 4→ 4←
  2. 3

    TOPO admin

    TOPO admin panel (Vercel)

    type screenon the plan Vercel · B7environment bothlinks 1→ 1←
  3. 4

    Website

    Website (Vercel)

    type screenon the plan Vercel · B7environment bothlinks 4→ 1←
  4. 5

    Docs

    Documentation (Vercel)

    type screenon the plan Vercel · C8environment bothlinks 2→ 2←
  5. 6

    Developers

    Developer portal (Vercel)

    type screenon the plan Vercel · C9environment bothlinks 2→ 1←
  6. 7

    Team handbook

    Internal team handbook, password protected (Vercel)

    type screenon the plan Vercel · C9environment bothlinks 0→ 0←

Railway · 10 pieces

  1. 8

    API

    API (Railway), in identical replicas

    type serviceon the plan Railway · C6environment bothlinks 9→ 9←
  2. 9

    Public API

    Public API for integrations

    type serviceon the plan Railway · D7environment bothlinks 1→ 0←
  3. 10

    Automations

    Automations

    type serviceon the plan Railway · staging only · D7environment staging onlylinks 2→ 0←
  4. 11

    AI connector

    Connector for Claude and ChatGPT

    type serviceon the plan Railway · staging only · E8environment staging onlylinks 2→ 0←
  5. 12

    Signup

    Online signup

    type serviceon the plan Railway · staging only · E9environment staging onlylinks 3→ 1←
  6. 13

    Database

    Database (Postgres, on Railway)

    type databaseon the plan Railway · C4environment bothlinks 0→ 8←
  7. 14

    Files

    Files (evidence and attachments)

    type storageon the plan Railway · E6environment bothlinks 0→ 2←
  8. 15

    Redis

    Redis (task queues and job locks)

    type databaseon the plan Railway · E6environment bothlinks 0→ 3←
  9. 16

    Backups

    Backups

    type jobon the plan Railway · E7environment bothlinks 2→ 0←
  10. 17

    Scheduled jobs

    Scheduled jobs and queue work, on the API replicas

    type jobon the plan Railway · F7environment bothlinks 4→ 3←

external services · 2 pieces

  1. 18

    Email

    Email (Resend and Gmail)

    type serviceon the plan external services · F9environment bothlinks 0→ 3←
  2. 19

    Assistant

    AI assistant (Anthropic)

    type serviceon the plan external services · F10environment staging onlylinks 0→ 1←

monitoring · 2 pieces

  1. 20

    Screen usage

    Screen usage (PostHog)

    type serviceon the plan monitoring · F9environment bothlinks 0→ 4←
  2. 21

    Site analytics

    Site analytics (Google)

    type serviceon the plan monitoring · G9environment production onlylinks 0→ 1←

observability · 5 pieces

  1. 22

    Grafana

    Screen and API traces, API metrics and logs (Grafana Cloud)

    type serviceon the plan observability · F6environment staging onlylinks 0→ 2←
  2. 23

    Errors and traces

    Request errors and traces, from the screen to the database (Sentry)

    type serviceon the plan observability · F7environment bothlinks 0→ 3←
  3. 24

    Daily probe

    Daily probe of the main flows, read only

    type jobon the plan observability · G7environment staging onlylinks 2→ 1←
  4. 25

    Monitor

    Outside monitor that checks the API and the screens answer, and alerts by email (Better Stack)

    type serviceon the plan observability · G8environment production onlylinks 3→ 0←
  5. 26

    Watcher

    Environment watcher, every 5 minutes, that alerts on WhatsApp

    type jobon the plan observability · G8environment bothlinks 4→ 0←