Two approaches to the same app — pick a page to explore.
Traditional server-rendered architecture. Data lives in Neon PostgreSQL, mutations go through Next.js Server Actions.
Local-first architecture. UI reads from IndexedDB instantly, syncs to server via GraphQL with MobX as the reactive state layer.
Both pages share the same Neon database — tasks created on one appear on the other.