01 / Mobile app
BookMate
A reading-community app on Google Play for tracking reading progress, writing reflections and borrowing books.
- Role
- Mobile Software Engineer Intern, main contributor (Flutter and Supabase)
- Year
- 2026
- Client
- PT Mangcoding
- Status
- Live on Google Play

The problem
Most reading trackers only log page counts and give readers no reason to come back. Progress across chapters is hard to follow, and reflections end up scattered in separate note apps with no community around them.
What I built
- 01Wrote 286 of 326 non-merge commits across Flutter (GetX, Clean Architecture: DataSource, Repository, UseCase, Controller, UI) and Supabase.
- 02Built the reading activity tracker (pages, chapters, percentage, daily reflection) on an atomic Postgres function, record_reading_activity_atomic, so two updates arriving together cannot reset a book's progress.
- 03Built the Book Reflection Studio: an editorial layout with Newsreader and Inter type, floating section navigation and an embedded 16:9 YouTube player.
- 04Built a tarot-themed badge system with celebration animations and a three-badge showcase on reader profiles.
- 05Fixed a Postgres 22P02 crash in the genre filter by rewriting the JSONB query with the containment operator.
- 06Tightened Supabase row-level security and reduced release size with WebP assets and ProGuard shrinking.
Stack
- Flutter
- Dart
- GetX
- Supabase
- PostgreSQL
- Live on Google Play (developer: Mangcoding)

