Skip to main content

Student App API Vision

This document outlines potential API designs for optimizing the FindU iOS app experience. Currently, the app communicates directly with Supabase.
This is a design reference document. These endpoints do not currently exist. The iOS app uses Supabase Swift SDK for all operations.

Current Implementation

The iOS app currently:
  • Uses Supabase Swift SDK
  • Handles authentication via Supabase Auth
  • Queries database directly
  • Manages real-time subscriptions

Future API Benefits

A dedicated Student API could provide:

1. Mobile Optimization

Reduced payload sizes and batched data:

2. Offline Support

Cache-friendly endpoints with sync capabilities:

3. Simplified Data Access

Pre-computed and enriched responses:

Proposed Endpoint Structure

Authentication & Profile

Discovery & Matching

Messaging

Social Features

Scholarships

Mobile-First Design Patterns

Compressed Responses

Progressive Data Loading

Optimistic Updates

Performance Optimizations

Caching Strategy

Batch Operations

Delta Sync

Push Notification Integration

Implementation Considerations

iOS SDK Design

Error Handling

Migration Strategy

If implementing this API:
  1. Phase 1: Read-only endpoints
    • Recommendations
    • School details
    • Profile data
  2. Phase 2: Core interactions
    • Swipe recording
    • Message sending
    • Profile updates
  3. Phase 3: Advanced features
    • Offline sync
    • Batch operations
    • Push notifications

Current Alternative

For now, the iOS app can optimize using:
  • Supabase SDK with selective queries
  • Local caching with UserDefaults/CoreData
  • Background refresh tasks
  • Supabase real-time for instant updates
See iOS App Architecture for current implementation details.