FindU Architecture

FindU uses a microservices architecture with separate repositories for each major component. This enables independent development, deployment, and scaling.

System Overview

Repository Structure

Each component lives in its own repository:

ios_app

Purpose: Native iOS application for students
  • SwiftUI interface
  • Supabase SDK integration
  • Real-time messaging
  • Apple/Google auth

web_app

Purpose: Partner & staff web dashboard
  • React 19 + TypeScript
  • Partner portal features
  • Internal admin tools
  • Analytics & reporting

matching-algorithm

Purpose: ML-powered matching engine
  • Python FastAPI service
  • Student-school matching
  • Recommendation engine
  • Hosted on Railway

supabase

Purpose: Database & backend services
  • PostgreSQL schemas
  • Edge Functions
  • RLS policies
  • Database migrations

data_scraping

Purpose: Data collection scripts
  • College Scorecard sync
  • Image scraping
  • Data enrichment
  • Scheduled updates

dev-tools

Purpose: Developer utilities
  • Setup scripts
  • CLI tools
  • Pre-commit hooks
  • Shared configurations

Data Flow

1. Student Matching Flow

2. Partner Management Flow

Environment Architecture

We maintain two separate Supabase projects:
  • Purpose: Safe experimentation
  • Database: Dev Supabase project
  • Branches: All feature work
  • Deployment: Automatic from dev branch
  • Data: Test data only

Key Design Decisions

Why Multiple Repositories?

  1. Independent Deployment: Each service can be deployed separately
  2. Team Autonomy: Teams can work without blocking each other
  3. Technology Freedom: Use the best tool for each job
  4. Easier Scaling: Scale services independently

Why Supabase?

  1. Real-time Features: Built-in websockets for messaging
  2. Auth Integration: Handles authentication complexity
  3. PostgreSQL Power: Full SQL capabilities
  4. Edge Functions: Serverless compute at the edge

Why This Stack?

  • iOS Native: Better performance and UX than React Native
  • React for Web: Fast development, great ecosystem
  • Python for ML: Best libraries for data science
  • Railway Hosting: Simple deployment, good DX

Security Architecture

Deployment Pipeline

All repositories follow the same deployment pattern:

Next Steps