I’ve been working on API platform technologies for the better part of a decade, and I’ve always tried to lead teams to build:

  • Spec-first consistent APIs
  • Backwards compatible schema migration tools
  • A platform for applications
    • audits
    • APIs
    • Webhooks
    • SSE
  • Middleware for platform code
  • Hooks for application code
  • AuthN for multiple auth collections (users, bots, scoped)
  • AuthZ DSL

Had i had the people/ funding for it, Pocketbase (but on Postgres) is exactly what I would have built. It is wild what kind of convincing it takes to build a cohesive data platform in a big company. Pocketbase is written by one (brilliant) person!

The main things I’d add are:

  • Customer-controlled schema creation (a la Salesforce) with base tables / table inheritance
  • Public API versioning and down-migrations (a la Stripe)
  • Tenant isolation

These features could be built into Pocketbase - the system tables already serve the table inheritance use case nicely.

Go is fantastic too. I know a lot of the snappy performance comes from sqlite, but I am constantly in disbelief seeing our p90 response time around 5ms… crazy.

Pocketbase + Litestream on fly.io with h2c has been a really good fit for us. We’re running thousands of real-time long-lived connections while running on a potato of a cloud vm. Litestream point-in-time recovery has been extremely helpful in recovery and migration scenarios.

Most importantly though, building applications on Pocketbase is fun.