Photon Trail
Personal-finance pipeline: Plaid ingestion into Neon/Postgres, with AI categorization that returns confidence scores. Work in progress.
- Plaid Link flow with server-side token exchange; access tokens encrypted at rest.
- Incremental transaction sync using Plaid cursors.
- AI categorization with confidence scores, validated with Zod before anything is written.
- Neon Postgres with Drizzle ORM and migrations.
- Google sign-in via NextAuth with database sessions.
Tags
Next.jsPlaidPostgreSQLDrizzleOpenAI
Description
Photon Trail keeps sensitive data on the server. Accounts are linked with Plaid, access tokens are encrypted at rest and never sent to the client, and transactions sync incrementally using Plaid cursors. An AI route batches transactions, asks for category suggestions with confidence scores, validates the JSON with Zod, and only then upserts the suggestions. The core architecture is in place; features and polish are still in progress.
Frontend
- • Next.js 14
- • React 18
- • TypeScript
- • Tailwind CSS
- • SWR
Backend
- • Plaid API
- • OpenAI SDK
- • NextAuth
- • Zod
Database
- • Neon (PostgreSQL)
- • Drizzle ORM
Tools
- • Vitest