Applications
Everything else in the lake is an open-source program we install (server apps). These three are ours, in the apps repository.
| App | Language | Runs where | Page |
|---|---|---|---|
| API | Node 24, Express 5, plain SQL (pg), jose for tokens |
Anywhere with network access to the servers (today: a developer machine) | API |
| Web app | React 19, Vite, Tailwind, CodeMirror | Built to static files; needs the API | Web app |
| Worker | Python 3 (standard library + psycopg2) and Spark jobs |
The processing host, as the lake-worker service |
Worker |
How they cooperate: the web app talks only to the API. The API writes uploads to storage and the registry. The worker reads the registry, runs Spark, and writes progress back to the same registry rows, which the API then shows. The API and the worker never call each other over HTTP; the registry database is their shared mailbox.