Lexis
A mobile social network for students to share study content. It has an Explore feed, profiles with a follow graph, image and video posts, and live one-to-one chat. The app is written in Flutter with strict MVVM layering and talks directly to Firebase, so feeds and messages update in real time without a custom server. It is a working prototype; comments, stories, notifications and media messages are still to finish.
- Role
- Product spec, architecture, Firebase and iOS integration
- Stack
- Flutter · Dart · Provider · Firebase Auth · Firestore · Storage

01 — Problem
A single developer needed a real-time social app, with a live feed and chat, instant-feeling likes, media uploads with progress and a follow graph, all in a consistent custom visual style, on one codebase and without building a backend.
02 — Approach
03 — Architecture
How the system fits together.
04 — Decisions
- D1Firebase instead of a custom backendOver: A REST APISnapshot streams give real-time updates for free and there is no server to build or host.Trade-offData integrity depends on Firestore security rules and client discipline.
- D2Denormalised author dataFirestore has no joins, so copying the author's name and avatar into each post saves a read per card.Trade-offOld posts keep stale copies when a user changes their name or photo.
- D3Soft deletesDeleted posts and comments are flagged rather than removed, which is safer and keeps queries simple.
05 — Technology
- Framework
- Flutter and Dart, configured for iOS
- Architecture
- MVVM with repository and service layers; Provider
- Backend
- Firebase Auth, Cloud Firestore, Firebase Storage
- UI
- Custom BackdropFilter glassmorphism, Material 3 light and dark themes
06 — Outcome
Personal project · 202507 — Status
- Email sign-up, sign-in and password reset
- Profiles, follow graph and content tabs
- Live feed with optimistic likes and bookmarks
- Posts with up to 10 images or one video, with upload progress
- Live one-to-one chat with unread counters
- Comments screen and media messages (data layer done)
- Username search (query exists, not wired to the screen)
- Stories, notifications and social sign-in
- Tests and pagination
08 — My role
Wrote the product specification and architecture, supplied the reference designs, and handled Firebase and iOS setup, integration and debugging. The code was built with an AI-assisted workflow.
- Product spec and architecture
- Firebase integration
- iOS configuration and debugging
- Design system from reference screens
