malahov.io

Three hours to a PWA

After submitting the application I couldn't stop: three more hours — and the app became an installable PWA, in the afternoon my wife saw it, in the evening — friends. Plus the first survival tests for the recording.

By Georg Malahov

The application went out last night, March 1, but I couldn't stop: I sat up another three hours in the night. In return, I turned the app into a PWA — a Progressive Web App, where a web application installs onto your phone or desktop and feels native, without the address bar and other browser chrome. Along the way I fixed the zoom, which a mobile app doesn't need, taught the date field to open a calendar instead of a half-screen keyboard, pinned the chat header to the top, and made recording start immediately on tapping the microphone — and upload immediately on stop. Plus iOS adjustments so system elements don't cover anything. Finally I cleaned the junk out of the demo user and went to bed.

The point of all this nighttime tinkering is simple: from "took out the phone" to "talking" there should be a minimum of motions. Icon on the home screen, tap — the app opens, tap the microphone — it's already recording. Every extra click on that path costs more than any feature.

In the morning I showed the updated app to my wife. And in the evening we were visiting a friend, and an unplanned presentation happened. I was demonstrating from my local machine, and without a VPN the file upload didn't work — so the showing came out incomplete. But the reaction still surprised me: people didn't expect how much is already done and that the core scenario is covered end to end — you talk, it's saved, it's found, it answers. One of the friends immediately started thinking out loud about next steps: who to sell this to and how to grow it. It's a nice feeling when people start discussing your project as a product, not as a toy.

In between, I was testing the app for survival — the way a normal person would use it, not me. Locked the phone mid-recording and kept talking: seems to keep recording. Switched from the browser to Telegram — and there I caught something unpleasant: the recording stops, even though visually everything carries on. A person will be talking into the void and lose what they said. For a product whose core value is "speak it and forget it," this is the worst possible bug, and I don't yet know the right way to solve it: the browser goes to sleep and cuts off background recording, so some workarounds will be needed.

What I take away from this weekend is simple: in two days the product went from a Telegram bot to an installable app I'm not embarrassed to show. Next — finish the small stuff on the list and wait for the application verdict. And more of these showings and tests: the dying-recording bug is one I would never have caught alone at my keyboard.