Urza’s Wallet / Engineering

Architecture decisions

Costa Rica personal finance comparison platform.

decisions

Decision index

Historical decisions remain readable as individual pages. Later decisions amend or supersede earlier ones; use the Architecture tab to distinguish accepted decisions from deployed capabilities.

NumberTitleStatusDate
ADR-001Adopt Modular Monolith (Service-Based) Architecture Over Microservices for Phase 1Accepted2026-05-10
ADR-002Use Next.js Hybrid SSR/SSG as Frontend and Backend-for-Frontend (BFF)Accepted2026-05-10
ADR-003Use Clerk for Authentication Over Custom Auth or Auth0Accepted2026-05-10
ADR-004Use Single PostgreSQL Database with Typed Product Extension TablesAccepted2026-05-10
ADR-005Defer Redis to Phase 2; Use Next.js Fetch Cache and PostgreSQL in Phase 1Accepted2026-05-10
ADR-006Use Railway as Primary Cloud Platform Managed via TerraformAccepted2026-05-10
ADR-007Use Scheduled Jobs with Manual Upload for Data Ingestion Over Live Partner APIsSuperseded2026-05-10
ADR-008Use Railway Persistent Volume for Documents in Phase 1; Migrate to Cloudflare R2 at Defined ThresholdAccepted2026-05-10
ADR-009Use ISR for Category and Filter Pages; SSR for Comparison PagesAccepted2026-05-10
ADR-010Branch-to-Environment CI/CD: 3-Branch Gitflow with develop, staging, and mainSuperseded2026-05-10
ADR-011Trunk-Based Development with a Single Production EnvironmentSuperseded2026-05-20
ADR-012Replace Express/TypeScript API with Python FastAPIAccepted2026-05-20
ADR-013Staging and Production Environments with Manual PromotionAccepted2026-05-25
ADR-014Browser Data Fetching: Same-Origin Proxy via BFF Route HandlersAccepted2026-05-25
ADR-015First-party session cookie for engagement trackingAccepted2026-05-26
ADR-016Lightweight admin auth via HTTP Basic for the editor inboxAccepted2026-05-26
ADR-017Development lifecycle on OpenSpec, shared across agent toolsAccepted2026-10-19
ADR-018Product data is maintained through the CMSAccepted2026-10-20