Blog

Notes from the build.

Longer than a commit message: architecture decisions, expensive mistakes, and the patterns that finally worked.

2 min

Failover without breaking the stream

Moving a request to a healthy provider is easy. Moving it after the first token has already reached the client is the hard part.

  • Rust
  • Streaming
  • Reliability
Read article

2 min

One route, five windows

How a single SvelteKit route became a workspace, a dock, a desktop-locked board, and two on-demand windows, all reading the same local database.

  • Tauri
  • Svelte
  • Desktop
Read article

2 min

An agent that edits files should ask first

Buffering every write until a human approves the plan, and why the approval gate belongs in the runtime rather than the prompt.

  • AI
  • Architecture
  • Permissions
Read article

2 min

Resumable uploads for multi-gigabyte files

A chunked upload protocol built on Elysia.js, and what it takes to survive a connection that drops halfway through a 4 GB driver pack.

  • Elysia.js
  • PostgreSQL
  • Backend
Read article

2 min

When every product has different fields

Modelling hardware specifications that do not share a schema, using PostgreSQL JSONB, Prisma, and a form builder that reads its own definition.

  • PostgreSQL
  • Prisma
  • Data modelling
Read article