Ten years of craft in iOS
I build for the Apple ecosystem — iOS, iPadOS, tvOS and visionOS. A decade of Swift, from live transit tracking to streaming at scale, and most recently a finance app I shipped alone, backend included.
- 10+Years shipping
- 18Apps from one codebase
- 90%+Test coverage
In the old schools, a craft was earned through repetition — the same stroke, thrown again, until the hand stopped shaking. Ten rings, one per year. The wheel keeps a slow turn on its own; effort only ever adds to it.
Selected work
Only what shipped to the App Store, or what a lot of shipped apps were built on.
Also shipped
Ten years across six domains. The early ones taught me Objective-C; the later ones are why I write Swift the way I do.
The craft
Five things I believe, and the work that had to pay for each one.
One owner per idea
Any number computed twice will disagree eventually. When a bug needs four fixes at four call sites, that isn't a hard bug — it's a value with no owner. I'd rather ship three similar lines than one abstraction invented before it was needed.
Tests are what make speed safe
Coverage past 90% was never the goal in itself. It was the price of being able to change shared code on a Friday and still sleep that night.
Accessibility is structural
A focus engine retrofitted late is a rewrite, not a feature. Building VoiceOver and tvOS Focus support from scratch cost less than bolting either one on afterwards would have — and it decided how the view layer was shaped.
Say the true thing when it breaks
Software fails. What it says while failing is a design decision, and usually an afterthought. When MoMudra's AI genuinely can't answer, it says so plainly — no red alarm, no invented result, and the question stays retryable.
Retooling is the job now
I work with agents daily — Claude Code, Cursor, Codex, Xcode's own coding intelligence. The discipline is simple and non-negotiable: an agent may draft, but I review every line and I never ship what I can't explain. Ten years in, the willingness to learn the tools again is worth more than any framework I already know.
The path
Not a list of jobs — the four times the question I was being asked changed. The tools beside each one are the honest record of what a decade actually looks like.
-
2021 — Present · Robosoft · Bengaluru, remote
Scale changed the question
One shared source, many shipping brands — so every choice I made was a choice made on behalf of teams I will never meet. The question stopped being “does this work” and became “what does this cost whoever inherits it.”
The codebase taught me more than any course could. Feature flags, design tokens, XcodeGen, interactors and templates, dependency injection, an AppObserver pattern that keeps AppDelegate almost empty — reading code that good is its own apprenticeship.
Swift 6 · SwiftUI · tvOS · visionOS · XcodeGen · Sonar Cloud
-
2019 — 2020 · Bajaj Markets · Pune
Money on the other side
The first place a mistake would cost someone money rather than a session. Convenience stopped being a neutral word to me here — a shortcut through an auth boundary is a promise you are making on the user's behalf, whether or not you meant to.
Deep Linking · CMS-driven layout · WebView auth · Jira
-
2018 — 2019 · Muvi · Bhubaneswar
Building for builders
Muvi's customers stood up their own streaming services on what we shipped. Writing for other developers instead of end users is the first time an awkward API stops being your opinion and becomes someone else's whole afternoon.
Swift · Alamofire · MVVM · Crashlytics · Unit Tests
-
2016 — 2018 · Mobiona · Bhubaneswar
Where it started
A services shop, so a lot of work came across the desk — Objective-C giving way to Swift, one project at a time. This is where I hit the things nobody teaches you: project-file conflicts, why code needs a repository at all, animation timing, and SOAP and XML that did not want to be parsed.
I stayed because of what I could see underneath it. The tools for building here, and the standard the platform holds you to, were better than anything else I had touched — and every piece of knowledge made the next piece easier. It compounds. That is the whole reason I am still at it.
Objective-C · UIKit · Core Data · Realm · Storyboards · SOAP / XML
What hasn't changed
- Maintainable over cleverCode the next person can change without asking me first.
- Owned end to endRequirement, architecture, delivery, release — not just the ticket.
- Tested before shippedFrom a first unit test to coverage past 90% on a shared codebase.
- Relearning the toolsObjective-C to Swift to SwiftUI to working alongside agents.
“Lift yourself by your own self. Do not let yourself sink.”
Bhagavad Gītā 6.5 · uddhared ātmanātmānam