This whole thing started with a conversation, not a business plan.
My brother and I were talking about the job market. It was rough. He had just lost his job and every conversation kept ending in the same place: applications, rejections, waiting.
I work as a senior web developer for a company in Pakistan, and I still do. And I want to be clear, this is not one of those “I quit my job to chase my dream” stories. My company has taught me alot of what I know, and they have given me quite some freedom, which honestly is a big part of why I could build any of this at all. So credit where it’s due.
But I’d been building other people’s websites and apps since 2019, and I wanted to do something big. Something that was ours. So at some point one of us said it out loud, why don’t we just build something ourselves?
So we did, on the side, after work. That’s how gsyncd started. Me as the founder, him as the co-founder, and absolutely no idea how big this was going to get.
It started as a calculator
The first version wasn’t even really a product. It was a payroll calculator. Put in a gross salary, get the net pay, with all the Kenyan deductions done properly.
And that’s where I learned lesson number one: Kenyan payroll is not “salary minus tax”. There’s PAYE with its bands and reliefs, NSSF with its tiers, SHIF, the Housing Levy, NITA. Then there are car benefits, housing benefits, staff loans, Sacco deductions, HELB, the one-third rule that says you can’t deduct more than two-thirds of someone’s pay. And every time a Finance Act passes, something moves.
The calculator turned into payroll. Payroll needed employees, so we added HR. HR needed leave and attendance. Then people asked, okay but can it do invoices? Purchasing? Stock? A till for the shop? Accounting?
Slowly slowly, that small calculator became ERPsyncd, a full business system with payroll, HR, sales, purchasing, stock, point of sale and accounting. I genuinely did not plan that. It just kept growing because the next problem was always right there.
I have redesigned the layout more times than I can count
I’m not even exaggerating. I don’t remember how many times we changed the layout. Every time I thought “okay, this is it, this is the final design” I’d use it for a week and hate something about it.
I’m still changing it. Today. If you’re reading this in the future and the screenshots look different, yeah. That’s why. 😀
The honest lesson here: design is never done, and that’s fine. Ship it, use it, fix it. Waiting for perfect would have meant shipping nothing.
The hard part: multi-tenancy (aka hell)
Jokes apart, this is the part that nearly broke me.
ERPsyncd is multi-tenant, which means many companies use the same system and the same database. Each company should only ever see its own employees, its own payroll, its own books. Simple to say. Very not simple to build.
The normal way is to add a filter on every single query: where company is this company. The problem is you will forget one. Somewhere, someday, one query will be missing that filter and suddenly one company can see another company’s salaries. With payroll data, that’s not a bug, that’s a disaster.
So I went with row-level security (RLS) in the database. Instead of trusting the application code to remember the filter every time, the database itself refuses to return rows that don’t belong to the current company. If the code forgets, the database still says no.
It’s the right decision, I’m sure of it. But debugging it was painful. When RLS is working, a wrong query doesn’t throw an error, it just returns nothing. So more than once I was staring at an empty screen convinced the data was gone, and actually the database was doing exactly what I told it to do. Lots of late nights on that one.
Yes, I used AI. Alot.
I’m going to be honest here because I think too many people aren’t.
I used Claude while building ERPsyncd. The first proper version took me around three months. Then for LMSyncd, our school management system, I basically vibe coded the whole thing. Why lie about it? Why pretend I typed every line myself?
It’s 2026. AI is here, and something even smarter will come after it. Not using it would be like refusing to use a calculator to prove you can do long division.
But here’s the part people miss. AI didn’t replace knowing things, it made knowing things more valuable. I know the basics. I know the patterns, the data structures, how a database should be designed, what multi-tenancy needs. That’s why I could tell when the AI was wrong, and it was wrong sometimes. If you don’t understand what’s being built, you can’t review it, and you end up with a mess you can’t fix.
The way I think about it: treat AI like your employees. You’re the one who knows what needs to be built and why. They do the heavy lifting. You check the work.
What I’d tell anyone starting now
- Start smaller than you think. We started with one calculator. That was enough to learn the domain properly.
- The local details are the product. Anyone can build “payroll”. Building payroll that gets SHIF, the Housing Levy and the one-third rule right is what makes it useful in Kenya.
- Decide on your data architecture early. Adding multi-tenancy later is way harder than designing for it from day one.
- Use AI, but learn the fundamentals. They’re what let you direct the AI instead of being directed by it.
- Don’t wait for the perfect layout. You’ll change it anyway.
Where we are now
What started as a talk about a bad job market is now two products: ERPsyncd for payroll, HR and accounting, and LMSyncd for schools in Kenya and Pakistan. Plus a set of free Kenya payroll calculators, which is basically where it all began.
If you’re in that same place we were, stuck in a job market that isn’t moving, you can build something. The tools have never been better. You just have to start.
— Umeir
