A class management and communication platform for arts & culture centers.
SpaceTime replaces WhatsApp-based coordination with a structured platform for students, teachers, and admins — built with Flutter and Supabase.
Portfolio project · Open source · Fictional seed data only
I joined an arts & culture center to take theatre and music classes. All coordination happened over WhatsApp — confirming schedules, tracking attendance, handling last-minute changes. It worked, but it was messy and easy to miss things. SpaceTime is my attempt to replace that with something purpose-built for the people who actually run and attend these classes.
| Layer | Technology |
|---|---|
| Mobile App | Flutter (iOS & Android) |
| Back Office | Flutter Web |
| Backend | Supabase (Auth, DB, Realtime, Storage, Edge Functions) |
| State Management | BLoC |
| Navigation | go_router |
| Notifications | Firebase Cloud Messaging (FCM) |
spacetime/
├── apps/
│ ├── mobile/ # Flutter mobile app (student & teacher)
│ └── backoffice/ # Flutter web app (admin)
├── packages/
│ ├── core/ # Shared models, enums, exceptions, utilities
│ ├── ui/ # Shared design system & components
│ └── supabase/ # Supabase client, repositories
├── supabase/
│ ├── migrations/ # SQL migration files
│ ├── functions/ # Supabase Edge Functions (Deno/TypeScript)
│ └── seed.sql # Fictional seed data
└── README.md
Full setup instructions coming soon.
- Flutter SDK
- Supabase CLI
- Firebase project (for push notifications)
cd apps/mobile
flutter run --dart-define-from-file=.env.jsoncd apps/backoffice
flutter run -d chrome --dart-define-from-file=.env.json| Role | Platform |
|---|---|
student |
Mobile App |
teacher |
Mobile App |
admin |
Web Back Office |
Dark neon aesthetic — black canvas, electric yellow as the primary action color.
Inspired by Linear (precision) and Duolingo (playful feedback).