type: decision
status: active
timestamp: 2026-06-20
tags: [database, neon, postgres, relational, four-tier, stack]

Add Neon Postgres as the relational tier of the DB stack

Neon Postgres added as relational DB. Free plan \ no card, scale-to-zero, branching for previews. Sits alongside Firestore (documents/auth),\ \ Turso libSQL (warm cache), and JSONL canonical (archive) \u2014 the 4-tier DB\ \ stack is now picked-by-shape."

Add Neon Postgres as the relational tier of the DB stack

Decision

The family’s database stack is now four tiers, picked by data shape:

  1. Documents + authFirestore on Firebase Spark
  2. Canonical archive — JSONL in chirag127/oriz-me-data
  3. Warm read cacheTurso libSQL
  4. RelationalNeon Postgres (NEW)

Neon’s Free plan is confirmed no card (verified from Neon’s pricing page on 2026-06-20): 100 projects, 100 CU-hours per project per month, 0.5 GB storage per project, 5 GB egress / month, scale-to-zero after 5 min idle, 6 h instant restore window, branching for previews, up to 60K Neon Auth MAU (we don’t use Neon Auth — we stay on Firebase Auth).

Why

The previous 3-tier stack (Firestore + Turso libSQL + JSONL) handles document-shaped + event-stream-shaped data well, but relational joins are painful in Firestore and structurally lossy when flattened to libSQL. Concrete near-term workloads need real Postgres:

Neon’s free plan covers those workloads with no card, scale-to-zero (idle compute mathematically free), and branching for previews — and its wire-protocol-Postgres surface is portable to any other Postgres provider if the cliff hits. Adding it as the 4th tier is cheaper than forcing relational shape into Firestore or building denormalized read-models in libSQL.

Implications

Cross-refs


Edit on GitHub · Back to index