Skip to main content

Migration Status

Work in Progress

This documentation is actively maintained. Features described here may change as the platform evolves. Last reviewed: February 2025.

Production is being migrated from the legacy Supabase stack to the same architecture used by Development and Operations.

Target Architecture

ComponentCurrent (Legacy)Target
DatabaseSupabase PostgreSQLNeon PostgreSQL via Drizzle ORM
AuthenticationSupabase AuthNextAuth.js (Auth.js v5)
StorageSupabase StorageCloudflare R2
RealtimePartyKit

Migration Scope

The migration covers:

  • 146 source files with Supabase references
  • ~1,257 individual Supabase calls across the codebase
  • Authentication flows (login, session management, middleware)
  • Database queries (all API routes and server actions)
  • File storage (avatars, documents, payment proofs)
  • Row-level security policies → application-level authorization

Reference Implementations

The migration follows patterns already established in:

  • Development — Development/project management app (fully migrated)
  • Operations — Operations/production app (fully migrated)

These apps serve as reference implementations for auth flows, database access patterns, and storage handling.

What This Means for Users

During the migration period:

  • The sales module continues to function normally
  • No changes to how you use the features
  • Some features may be temporarily unavailable during cutover
  • Data will be preserved throughout the migration
tip

If you encounter any issues during the migration period, report them through the support channel. Include "migration" in your report to help the team prioritize.