ANZAAD
Back to projects
Mindrop
FlutterDartNode.jsExpressFirebase (AuthenticationFirestoreCloud Storage)Groq API (Whisper Large v3 TurboGPT-OSS 120B)

Mindrop

Mindrop lets users capture fleeting thoughts by voice and turns them into organized tasks, goals, and ideas without any manual effort. The core interaction is intentionally minimal: open the app, speak, and the system takes over from there. The architecture pairs a Flutter mobile client with a Node.js/Express backend. Audio is transcribed with Groq's Whisper API and then passed through a structured AI analysis pass that extracts tasks, goals, ideas, and topics as a strict JSON schema — fields are required rather than optional throughout, a deliberate choice to reduce the chance the model silently skips a category. Firebase handles anonymous authentication, Firestore sync, and storage, with a local-first draft store on the client so recordings survive offline and retry reliably through a defined pipeline (recorded → uploading → transcribing → analyzing → completed). A few problems along the way were worth solving properly rather than patching around. One Flutter crash traced back to a `TextEditingController` being disposed while a closing dialog's exit animation was still playing — diagnosed by reproducing the exact assertion in a host-side widget test rather than guessing, then fixed by giving the controller's lifecycle proper ownership. Another involved catching an incorrect assumption about how Firestore merges nested maps before it shipped, which changed how AI-generated versus user-edited data is separated in the schema. On the backend, since anonymous auth plus a public client config means anyone can mint a valid token, upload requests are rate-limited per authenticated user (not by IP, which is easy to spoof or share) — verified with a smoke test proving the limiter keys correctly rather than trusting the implementation blind. The result is a small, deliberately scoped pipeline: fast capture, reliable sync, and AI-driven structure, built with the same rigor applied to verifying each fix rather than assuming it worked.