Skip to content

Thick borg (future): an app per common migration story #856

Closed

Description

@QuinnsCode

Future plan. Slim borg checks each primitive once. Thick borg is a decent-sized app per common migration story, run through the same kind of suite on each target. Each app is also the example for its story.

Split the stories by three separate choices (where the code runs, which engine, who hosts the data) and write one adapter per choice, never one per combination.

Stories, most common first:

  • Keep the database, move the code: a Node or Next app on Postgres (Neon) moved to a Worker through Hyperdrive, and to a Hetzner box. Needs a postgres binding: Hyperdrive on the edge, a direct connection on a box, PGlite as the desktop twin, and a Neon branch per test stack.
  • Leave a PaaS for a box: Railway or Heroku to Hetzner, with sqlite or Postgres on the volume
  • Go all-edge: Postgres to D1, with a lint that flags what D1 won't run (BEGIN, ATTACH, too many bound parameters)
  • Lambda + DynamoDB to Workers + KV / Durable Objects
  • Mongo: probably "keep Atlas, move the code". Check whether FerretDB works as a twin.
  • Better Auth on all three targets: a secret minted per install on desktop, and login handled by the edge with the session handed to the desktop
  • One sync engine (Yjs in a Durable Object, or Replicache / LiveStore on D1)

Alchemy beta.77 already has Neon, PlanetScale, Hyperdrive, AWS, Fly, Docker and Kubernetes. It has no DigitalOcean, Mongo or Supabase.

Free where possible: Cloudflare and Neon free tiers. PlanetScale and the boxes cost cents per run, so run them rarely.

Activity

  1. QuinnsCode commented on Oct 12, 2026

    @QuinnsCode
    OwnerAuthor

    Provider swaps (the "who hosts the data" choice) are tracked in notes/PROVIDERS.md, added in #1068: a keep and a swap adapter per provider, Supabase first, with Firebase, Neon, PlanetScale and Clerk as candidates.

  2. self-assigned this
    on Oct 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions