Team HM
Telegram group replaced. Purpose-built. Daily active use from day one.
Replaced a manual Telegram group workflow — used daily by the full team from day one.

The Challenge
The team was managing internal announcements, shared task lists, and tooling access through a Telegram group — a setup that created noise, buried important messages in chat history, had no access control, and provided no structured way to track whether announcements had been read. The informal nature of the group also meant that operational information and personal messages lived in the same stream.
The Solution
A purpose-built Flutter Android app with role-based access control. Internal announcements have their own structured feed with read receipts — team members can see at a glance which announcements they've missed. Quick-access tooling shortcuts are pinned to the home screen based on the user's role. Offline-aware data fetching means the app loads last-known data from local cache when the connection is poor, and syncs silently when connectivity returns. The install footprint is minimal — no camera, no microphone, no location permissions.
Key Engineering Decisions
Structured announcements with read receipts
Each announcement is a Firestore document. Read state is tracked per user-UID in a subcollection. The admin panel shows who has and hasn't read each announcement — a feature impossible in a chat group.
Role-based access control
Firebase Auth custom claims define user roles. Firestore Security Rules enforce role-based read/write access server-side. The Flutter routing layer checks claims on startup and restricts UI based on permissions.
Offline-aware data fetching
Firestore's built-in local persistence cache serves last-known data immediately on app open, even offline. Updates sync automatically when connectivity returns. Users on poor connections always see data, never a loading spinner.
Minimal permission surface
The app requests only INTERNET permission. No camera, microphone, location, or contacts access — reducing the attack surface and making the security review trivial.
Tech Stack
Outcomes & Results
Live Links
Ready to build?
Need something similar built?
I'm available for new projects. Discovery calls are free and I typically respond within 24 hours. You'll work directly with me — from the first call to launch.