EWUmate — Production Academic Companion
The comprehensive production academic utility designed and engineered for the East West University student body. Built across a 5-layer hybrid architecture combining Flutter, Riverpod, Hive NoSQL, Supabase PostgreSQL, and Azure microservices to eliminate campus fragmentation.
01.The Problem & Student Friction
Students at East West University rely on multiple fragmented systems to manage their academic routines: an administrative student portal prone to traffic bottlenecks during pre-advising rush, unstructured PDF schedules, physical notice boards, and scattered messaging channels.
Students required a fast, offline-first mobile companion with instant start times to inspect weekly routines, find lecture halls, simulate target CGPA, organize coursework tasks, and check faculty office hours without being blocked by network dropouts or portal lag.
02.5-Layer Hybrid Architecture
Cross-platform Flutter 3.x UI with Riverpod 2.x reactive state, GoRouter 14.x declarative routing, and Hive NoSQL caching. Features Jetpack Glance launcher schedule widgets, Lottie dynamic sky shaders, and Google Fonts Sora typography.
Specialized microservices handling portal scraping with automated captcha solving, combinatorial pre-advising schedule generation, ReportLab PDF cover page generation, and academic calendar parsing.
Relational PostgreSQL database with strict Row Level Security (RLS) on all tables. Dynamic semester table partitioning (`courses_{semester}`, `calendar_{semester}`) and 17 Deno Edge Functions handling scheduling, alerting, and GDPR data purges.
03.Key Engineering Innovations
Traditional apps block with splash screen spinners until network APIs reply. EWUmate bootstraps immediately to Frame 1 (< 30ms) by hydrating cached user profile, active semester metadata, and routine grids from local Hive NoSQL boxes before asynchronous background reconciliation.
Connects an automated Python scraper with captcha resolution on Azure via a 6-step interactive state machine. It diffs the student's official university portal schedule while preserving custom attendance overrides, user-entered marks, and personalized task notes.
Calculates permutations across desired courses and section capacity constraints. Generates optimal, conflict-free timetable combinations in milliseconds, protected from screenshots via dynamic `FLAG_SECURE` window toggles.
No `SERVICE_ROLE_KEY` or database connection strings ever exist in the client APK. Every database query is governed by PostgreSQL Row-Level Security (RLS). High-privilege actions route through secure edge proxies.
04.Production Specifications
Founder & Lead Engineer Note
"EWUmate was engineered to turn everyday university friction into a fast, seamless experience. Combining offline-first Hive caching with serverless Azure microservices allowed us to deliver sub-50ms routine lookups and automated schedule generation while operating within lean, cost-efficient infrastructure bounds."
Usage Metrics & Impact
Architectural & Operational Insights
Zero-Wait Entry & Hive Multi-Box Caching
< 30msBootstraps app to Frame 1 instantly by loading cached user profile, active semester metadata, and routine grids from Hive NoSQL boxes before background hydration.
Smart Diff Portal Synchronization
6-Step FSMScrapes EWU portal with automated captcha resolution on Azure, intelligently reconciling official schedules while preserving custom user marks and attendance overrides.
Combinatorial Schedule Generator
Real-timePython-based microservice on Azure generating conflict-free course section permutations with capacity tracking and constraint filters.
Adaptive Screen Privacy & Zero-Secrets
FLAG_SECUREDynamically toggles Android window security flags on advising and results screens to prevent PII leakage. Strict PostgreSQL RLS on all tables with zero client secrets.
What Users Say
"EWUMate made navigating East West University routines 10x easier. Especially during exam rush, having schedules offline without portal lag is a lifesaver."
"Super fast and clean UI! Checking classroom numbers between lectures takes literally two seconds."