What running a store taught me about building software
Since 2016 I've been doing two things at once. I own and run Unity Super Store in Kot Addu: groceries, garments, crockery and home essentials under one roof. And outside the store, I build web and mobile apps as a hobby. For a long time I thought of these as separate lives. They aren't. Each one keeps teaching me things about the other.
Customers don't read the spec
In a store you find out what people want by watching what they pick up, what they ask for and what they walk out without. Nobody explains their requirements. They just come back, or they don't.
Software is the same, and a store is a good place to learn it. The features people actually use are rarely the ones you'd have guessed.
Inventory is just data you haven't organized yet
Day to day, I handle purchasing, supplier relationships, inventory, pricing and staff. Every one of those is a data problem in disguise: what's selling, what's sitting on the shelf, what to reorder and when, what a fair price is this week.
That's where my interest in building tools came from. My degrees were in commerce and business: a B.Com in e-commerce from the University of the Punjab and a BBA in marketing from Iqra University. Running a real business is what made the software side click. You stop building apps for the sake of it and start building them because a problem keeps costing you time.
Build small tools for problems you actually have
Most of what I've built started as something I needed:
- unitystore.com.pk, the store's own website.
- kotaddu.pk, the website for my city.
- pakdatakit, a small open-source TypeScript library for Pakistani developers: CNIC validation, phone number parsing, the things every local app ends up rewriting.
- backupproof, a self-hosted tool that automatically restores backups and proves recovery actually works, because a backup you've never restored is only a hope.
- A personal dashboard for keeping track of domains, servers, subscriptions and renewals, the unglamorous admin that quietly breaks things when it's forgotten.
Then there are the bigger ones: Rasikh, an Urdu-first Islamic AI for the Quran and hadith, and ViralPK, a content strategy tool for Pakistani TikTok creators. Both come from the same place: something people around me needed that didn't exist in a form that fit them.
Own the whole thing
A shop teaches you that there's no “someone else's problem.” If the shutter is stuck, the delivery is late or the till is wrong, it's yours.
I run my software the same way. My sites live on a server I manage myself: the store's website, the city site, ViralPK, my own tools. When a certificate expires or a disk fills up, there's no support team; there's me. It's more work, but it means I understand every layer of what I've built, and nothing breaks in a way I can't fix.
Time is the real constraint
The store comes first. It pays the bills and people depend on it every day. So software gets built in the gaps, which forces a kind of discipline: small pieces, finished properly, instead of big plans that never ship.
You can run a store and build software. You just can't do either one halfway.
Ten years in, I don't think of myself as a shopkeeper who codes or a developer who owns a shop. The two keep making each other better, and I plan to keep doing both.