FindU Developer Documentation home page
Search...
⌘K
Ask AI
Support
Partner Dashboard
Partner Dashboard
Search...
Navigation
Getting Started
Architecture Overview
Documentation
Internal Tools
API Reference
GitHub
Slack
Getting Started
Welcome to FindU
Quick Start
Architecture Overview
Development Guide
Local Development
Developer Guide
Developer Onboarding
Initial Setup
Environment Configuration
Workflow Guide
CLI Reference
Troubleshooting Guide
Web App
Web App Overview
Component Library
iOS App
iOS App Overview
iOS API Setup Instructions
iOS API Integration Overview
Matching Algorithm
Matching Algorithm Overview
Matching API Reference
Database
Database Overview
Migrations Guide
Schema Management
Data Operations
Database Troubleshooting
AI Development
Claude Code setup
Cursor setup
Windsurf setup
On this page
FindU Architecture
System Overview
Repository Structure
Data Flow
1. Student Matching Flow
2. Partner Management Flow
Environment Architecture
Key Design Decisions
Why Multiple Repositories?
Why Supabase?
Why This Stack?
Security Architecture
Deployment Pipeline
Next Steps
Getting Started
Architecture Overview
Copy page
Understanding FindU’s multi-repository system architecture
Copy page
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:
Development
Production
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?
Independent Deployment
: Each service can be deployed separately
Team Autonomy
: Teams can work without blocking each other
Technology Freedom
: Use the best tool for each job
Easier Scaling
: Scale services independently
Why Supabase?
Real-time Features
: Built-in websockets for messaging
Auth Integration
: Handles authentication complexity
PostgreSQL Power
: Full SQL capabilities
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
Developer Setup
Get your local environment running
Repository Guide
Learn when to work in which repo
Quick Start
Development Guide
Assistant
Responses are generated using AI and may contain mistakes.