Werkstatt 76 · Stack

What we build with

The Werkstatt 76 stack

18 parts in 6 layers, from the tools we build with down to where the data is kept, and the lines between them: what runs inside what, who calls whom, and where data goes.

every layer belowClaude writes, reviews and tests the code of every layer belowImpeccable sets the design direction of every layer belowCapawesome Live Update ships web updates to CapacitorCapacitor packages for the Play Store PWAPWA installs and caches PyScript · Pyodide + MicroPythonPWA works offline through a service worker in JavaScriptTailwind CSS 4 styles Astro 5Tailwind CSS 4 styles the apps built with PyScript · Pyodide + MicroPythonPhosphor Icons gives icons to Astro 5Phosphor Icons gives icons to PyScript · Pyodide + MicroPythonJavaScript bridges browser APIs for PyScript · Pyodide + MicroPythonPyScript · Pyodide + MicroPython runs Python 3.15Astro 5 sends the contact form to SanicPyScript · Pyodide + MicroPython calls the JSON API of SanicPyScript · Pyodide + MicroPython reads and sends mail through JMAP on StalwartPython 3.15 runs SanicPython 3.15 embeds DuckDBSanic asks for document extraction from MistralSanic stores records in PostgreSQL 16Sanic keeps sessions and limits in RedisNeonDB hosts PostgreSQL 16BUILDDEVICESINTERFACELANGUAGESERVICESDATAImpeccableClaudeCapawesome LiveUpdateCapacitorPWAAstro 5Tailwind CSS 4Phosphor IconsPyScript · Pyodide +MicroPythonJavaScriptPython 3.15SanicStalwartMistralDuckDBNeonDBPostgreSQL 16Redis

Swipe sideways to see the whole map. Every connection is also written out below.

Build

How we make it

  • Impeccable

    Design direction and reviews against our own design system.

  • Claude

    Engineering partner: writes, reviews and tests the code with us.

Devices

Where people use it

  • Capawesome Live Update

    Signed web updates to the Android app between store releases.

  • Capacitor

    Wraps a web app as a native Android app when a store app is needed.

  • PWA

    Installable web apps: manifest, service worker and icons on every phone, tablet and laptop.

Interface

What people see

Language

One language end to end

Services

What answers requests

Data

Where it is kept

  • DuckDB

    One-file database for a single service, with Parquet backups.

  • NeonDB

    Serverless hosting for Postgres, with branches per environment.

  • PostgreSQL 16

    Relational data with many writers.

  • Redis

    Shared sessions, rate limits and short-lived cache.