Leaving Python for Swift, and deleting the thing that worked

The first working Jiva was Python. I threw most of it away and rebuilt the core natively. As a non-engineer, deleting the thing that already ran felt wrong. It was right.

By Arjun Venugopal · 20 October 2026 · 6 min read
Why I'm writing these. I'm a product manager, not an engineer, and I'm building a fully-local Mac app called Jiva entirely with AI. The category I'm building in is owned by companies worth a billion dollars and more. So the real question behind these posts is a simple one: can one person who can't write code build something that stands next to what those teams ship? Note that I'm not claiming it will. I'm documenting the attempt — the parts that work and the parts that don't — because that's the only honest way to find out.

The first working version of Jiva was written in Python. It proved the idea — capture audio, transcribe it locally, produce a markdown transcript — and then I threw most of it away and rebuilt the core as a native Swift app. As a non-engineer, deliberately deleting the thing that already worked felt wrong. It was the right call.

Here is why. The Python proof-of-concept leaned on extra pieces to capture system audio and route it around. That is fine for proving a point on my own machine. It is not fine for something a stranger installs and trusts to run quietly in the background of every meeting. Note that the primary driver for going native was not elegance, rather reliability and reach: a signed Mac app that taps both sides of a call through the operating system's own audio path, survives the audio route changing mid-meeting, and does not ask the user to assemble anything.

What a non-coder learns doing this is that the interesting decisions are not “which language.” They are things I did not know existed a few months ago — how a process audio tap works, what happens when someone switches to AirPods halfway through a call, why an overlay window can be made invisible to screen sharing. Each was a small research project, and each is the difference between a demo and a product.

The rule I took from it: a proof-of-concept exists to answer one question, and once it has answered it, keeping it is a liability, not an asset. The Python version answered “is this even possible on the device.” Once the answer was yes, the honest move was to rebuild it properly, even though rebuilding is slower and less satisfying than piling features onto something that already runs.

More soon.

Jiva is free and fully local. Record your meetings, keep speaker-labelled transcripts, and get a live assist overlay — all on your Mac, nothing sent to the cloud. Get it at jiva.works →