🧠My Second Brain
Phone-only voice recording, realtime transcription, and auto-correction. English, Hindi, Punjabi, Urdu.
Install instructions
- Tap the download button above on your Android phone.
- Open the downloaded file. If prompted, allow "Install unknown apps" for your browser/file manager — this is expected since the app isn't distributed via Play Store.
- Grant microphone and notification permissions when asked, and allow the battery-optimization exemption prompt so recording isn't killed in the background.
- Pick your language (English/Hindi/Punjabi/Urdu) before you start recording.
Changelog
- v2.11 — chat screen redesigned to be easier to use: the time-range picker now matches the web dashboard exactly (1 hour through All, scrollable), with the same quick-suggestion buttons (Summarize / Key points / What did I discuss?) so you're not stuck staring at a blank box wondering what to ask. Asking across "All" your notes now warns you first since that can take a while on this server, instead of just appearing to hang. Pressing the keyboard's send/enter key now sends your message — previously you had to tap the small send icon every time. The input also visibly disables itself while waiting for a reply, so it's clear when it's your turn to type again.
- v2.10 — fixes recordings that couldn't be played back and silently vanished from the transcript list. Found the real cause: if saving a clip to your phone's local cache ever failed for any reason after it had already uploaded successfully, the app wrongly treated the whole upload as failed — hiding it from the transcript and quietly re-queuing it for a pointless duplicate re-upload. Uploading and local caching are now handled separately, so a caching hiccup can no longer erase an already-successful upload. Also: playback no longer depends only on your phone's local copy — if that's ever missing, the app now streams the audio straight from the server instead of showing an error, since the server has kept every recording permanently since the storage change a few versions back.
- v2.9 — new recording screen: one big round button in the center (tap to start; while recording it becomes a pause button with a pulsing ring behind it so you always know it's still going), and a Stop button below it once you're recording. Dropped the old live per-sentence upload/transcribing status list — the server has no reliable way to report progress mid-flight, so it could sit at a misleading "0%" even when everything was fine. The button's pulse is the one promise this screen makes: your mic is recording. Finished sentences still appear below as they're transcribed.
- v2.8 — fixes "Stop Recording feels stuck": Stop now shows a small "Compiling your note…" spinner while it finishes uploading and compiling in the background (this always took up to a minute behind the scenes — recording itself stops instantly, but there was no visible sign anything was still happening, which looked frozen). On the server side, the note-compiling step and Chat now go through the same one-at-a-time processing queue as uploads, so they can't get stuck racing an in-flight upload for the same resources.
- v2.7 — important fix, please update — found and fixed the real cause of slow/stuck uploads: if Android ever killed and restarted the recording service in the background (common under memory pressure), it silently resumed recording with no session attached, so every clip after that point failed to upload and got retried forever in a tight loop — thousands of times an hour, in one case for over 6 hours straight, both wasting your battery/data and overloading the server enough to slow down or block real uploads. The service now recovers its session properly after a restart instead of losing it, any already-broken retry entries on your phone get discarded automatically, and the server now processes uploads one at a time instead of letting a pile-up of requests fight each other for the same CPU (which was making each one far slower than it should be). If uploads have felt slow or the app has felt stuck, updating to this version should fix it.
- v2.6 — pressing Stop now waits for every last piece to finish uploading before compiling the note, so the title/summary/merged audio are built from the complete recording instead of racing ahead of a straggler. Every finalized note now has one merged whole-note audio file built once on the server (faster to play than before). New on the backend: a long-term memory system extracts durable facts (people, preferences, projects, roles) from your notes over time and keeps them queryable indefinitely — a new "Memory" tab on the web dashboard (my2ndbrain.dmll.in/app/) shows them, and Chat now always grounds its answers in these facts regardless of which time range you're asking about.
- v2.5 — uploads happen in smaller pieces again: a continuous monologue now force-splits at 12 seconds (was 45s) so no single recording sits on the wire for a long time. The per-recording progress line now shows a real "Uploading… NN%" based on actual bytes sent, then switches to the transcribing indicator only once the upload itself is done — previously the progress bar could look stuck because it only counted whole finished recordings, not upload bytes.
- v2.4 — recordings now cut on natural pauses instead of tiny fragments: the app waits for 5 seconds of silence (was 0.8s) before ending an utterance, so a normal conversation stays as a handful of meaningful chunks instead of dozens of half-second pieces. A 45-second safety cap still force-cuts an uninterrupted monologue so no single recording grows unbounded. On the server side, correcting each new utterance now also sees the previous one from the same conversation for context, so names/pronouns/topic stay consistent across the note instead of each piece being corrected in isolation.
- v2.3 — recovers audio for notes recorded before the server started keeping permanent copies: on opening History, the app now checks which of your utterances are missing server-side audio and silently re-uploads them from its own local copy if it still has one. Only works for notes still cached on this device (kept since v1.6) — anything older than that or already cleared from local storage can't be recovered.
- v2.2 — adds a chat screen (the chat bubble icon on the main screen) so you can ask questions grounded only in your own recorded notes, scoped to "Today" or "All notes". History cards now show the auto-generated title and a Meeting/Note badge once a session is finalized, instead of just the raw language/timestamp.
- v2.1 — mic-level equalizer now spans the full screen width (12 bars, evenly spread) instead of bunching up on the left.
- v2.0 — real login system: the app now opens to a sign-in/create-account screen instead of working out of the box. Your existing test recordings are still safely in the database under the old shared key, just not visible until that data is reassigned to your new account (ask to have it moved over after you register).
- v1.9 — "stuck at 0%" wasn't a bug: correction on this server's CPU-only hardware can genuinely take 10-40s per sentence, and with only 1-2 recorded it just sat at a flat 0% the whole time with no sign of life. Now shows "Transcribing… (Ns)" so it's clear it's actively working. Also added real error messages if playback itself fails, instead of silently doing nothing.
- v1.8 — the Play button and seek bar now also work on the History screen, not just the live recording screen (that's almost certainly where you were looking right after Stop). Also fixed a bug where recordings were saved with the wrong file extension internally, which would have silently broken playback lookups.
- v1.7 — the real fix: your uploads and transcripts were actually working the whole time (confirmed straight from the database) — the screen just never reconnected to an in-progress recording after being backgrounded, so it looked broken. The app now detects an already-running recording on reopen and pulls its transcripts from the server. Also added a seek bar on playback.
- v1.6 — adds a Play button on each finished sentence so you can listen back and confirm your voice was actually captured, and an "Uploaded X/Y (Z%)" progress bar that stays visible after you hit Stop until every recording clears.
- v1.5 — if the mic genuinely fails to open (permission denied, in use by another app), you now get a visible error instead of a silent "Recording…" that never actually records anything. Traced from checking server logs: 4 of your last 6 real attempts created a session but uploaded zero audio.
- v1.4 — adds a live mic level meter (so you can see it's actually hearing you), a Pause/Resume button, and clarifies that upload happens automatically per sentence — no separate upload step.
- v1.3 — fixes a bug where a completed recording's transcript could silently fail to appear on screen if the app was backgrounded during processing (it was always saved — just check History if this ever happens again).
- v1.2 — fixes "createSession failed: 403" on first launch: the app now has a working default API key baked in, matching the backend.
- v1.1 — app now points at
my2ndbrain.dmll.in/api by default (same backend, mirrored under the main domain instead of a separate subdomain).
- v1.0 — first build: screen-on continuous recording, per-utterance realtime transcription with auto-correction, 4-language dropdown, offline upload queue, session history.