← Pulse·

Interview demo

Tick stack

Same shape banks use: feed → tickerplant → RDB → HDB → gateway. Run it on your laptop, walk it in interviews.

architecture view (start npm run kdb)

Data path

  1. Node
    Feedhandler

    Binance WS batches → .u.upd[`trade; cols]

    jkdb IPC
  2. :5010
    Tickerplant

    One write path, TP log, fan-out to subscribers

    .u.upd / .u.pub
  3. :5011
    RDB

    Today in RAM: trade, bars1m, spikes

    upd + analytics
  4. :5012
    HDB

    Date partitions on disk after .u.end / EOD

    .Q.dpft
  5. :5013
    Gateway

    Clients never hopen the TP; they hit the GW

    HTTP JSON

UI → Next.js /api/* → gateway :5013 → RDB (today). EOD writes RDB into HDB date folders under kdb/data/hdb/.

Say this in interviews

  • Why a tickerplant?

    Decouples feeds from consumers, one durable log, many RDBs can subscribe and recover.

  • RDB vs HDB?

    RDB holds mutable today in memory. HDB is immutable history, partitioned by date (often sym-parted).

  • What is .u.end?

    End-of-day: RDB writes tables with .Q.dpft into the HDB root, then clears memory for the next day.

  • Why a gateway?

    Apps talk to one process. The GW knows which backend owns which date range and query shape.

Live demo script

# three terminals
npm run kdb
npm run kdb:ingest
npm run dev

# prove the path
curl -s http://127.0.0.1:5013/health
open http://localhost:3000/demo
open http://localhost:3000

# end-of-day (interview moment)
npm run kdb:eod
ls kdb/data/hdb/$(date +%Y.%m.%d)/

Code map: kdb/tick/ · full notes: kdb/TICK.md

What to click next

On Vercel this page is the storyboard. On your PC, start the stack to make the badges go live.