"Zahid has successfully delivered and deployed HCM within our company." That's from the client re..."Zahid has successfully delivered and deployed HCM within our company." That's from the client re...
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started
"Zahid has successfully delivered and deployed HCM within our company."
That's from the client review that landed on my profile this week, for OneHub — the payroll and people-operations platform I built for TechFoundry. Monthly payroll with fiscal-year tax withholding, payslips and tax certificates on demand, expense reports read line by line by Claude, and one reporting layer so the dashboard, the payslip and the certificate always agree.
The word I care about in that review is "deployed". Delivered means the code works. Deployed means payroll runs on it every month, people are paid the right amount, and nobody has to call me.
The thing I'd do differently: the tax rules started out hard-coded. Fine for one country, one fiscal year — until it wasn't. We later pulled them out into a rules engine so the same payroll runs across countries without touching the code. Next time that's day one, not a refactor.
It's also a Contra-verified project — the work was paid through Contra, so the review and the case study are tied to the same engagement. Case study: https://contra.com/p/Y3EgrEUc-payroll-and-people-operations-platform
Nina's avatar
Pulling the tax rules into a separate engine instead of leaving them hard-coded is the right call, that's exactly the kind of decision that saves you a rewrite later. Curious how you handled versioning old tax years once the rules engine was live, did old payslips still need to reference the original logic?
Zahid's avatar
Good question — it's the part that made the extraction worth doing. The rules are versioned by fiscal year: each year carries its own bracket schedule (min, max, fixed amount, rate, excess-over), and a payroll run resolves its rules from the fiscal year the pay month falls in,...
SanganakHQ's avatar
Sanganak HQ logo
Amazing 😍
Zahid's avatar
Thank you! Payroll is a thankless thing to build until the month it runs without a single question.
Boluwatife's avatar
Upgoating this...... it deserves more than just liking
Zahid's avatar
Appreciate the upgoat, Boluwatife — glad the delivered-vs-deployed point landed. 😃
Kabir's avatar
Split Creatives logo
This is a great example of product design meeting real business impact. The difference between delivered and deployed is such an important point.
Zahid's avatar
Thanks Kabir. I've come to think "deployed" is the one word in a review that can't be faked — the thing either runs every month or it doesn't.
Tan's avatar
Looking good Zahid! 🙌
Zahid's avatar
Thanks Tan — more to come on this one. The expense-reading side is where the AI part is getting interesting.
Maty's avatar
"Deployed, not delivered" is a good line, more freelancers should hold themselves to that bar. When the tax rules turned into a full rules engine, how did you handle that with the client, a scope conversation, or did you just absorb it into the timeline?
Zahid's avatar
Its a honest conversation absorb it now and then deal with every year; scope conversation, and an early one. The moment a second country came into view I put it to the client as a choice: keep hard-coding and pay for it every fiscal year, or pull the rules into an engine once...
Komu's avatar
Shipping a complete payroll and fiscal-year tax withholding engine straight to production is a major milestone! Full-stack execution at its finest.
Zahid's avatar
Thanks Komu. The engine turned out to be the smaller part — the real milestone was the first month it ran and nobody asked to see the maths. Payroll is the one system where "works" isn't enough; it has to be trusted, and that only happens one run at a time.
Sohil's avatar
It's a great execution...!!
Zahid's avatar
Thanks Sohil. Execution on payroll is mostly restraint — the model reads the receipts, but the tax maths stays deterministic. That split is the whole design.
Md Abdur's avatar
Absolutely amazing!👌
Zahid's avatar
Thank you, really appreciate it!
Nazar's avatar
Yasno Design Agency logo
the delivered vs deployed distinction is real
Zahid's avatar
Right? A file sitting in a folder isn't the same as something running where the team actually uses it. That gap is where most of the real work lives.
Sodiq's avatar
Alao Sodiq logo
Working on something similar to this
Zahid's avatar
Happy to collaborate if you want.
jamar's avatar
Impressive work - especially the distinction you draw between delivered and deployed. Running payroll month after month with no support calls is the real test of a system. The rules-engine lesson resonates too; hard-coded logic always feels fine until the second country shows up.
Zahid's avatar
Thanks Jamar. "Fine until the second country shows up" is exactly how it went — and the second country always arrives sooner than the roadmap says. The no-support-calls test is now in every scope I write: not "does it work", but "who does the client call in month four, and how often.
Anthony's avatar
"Next time that's day one, not a refactor." - Good idea, I love optimizing my workflow with this mindset.
Zahid's avatar
Thanks Anthony. The trick is keeping that list short — three or four "day one" items that each earned their place by hurting once. Any longer and it's a wish list, not a lesson.
Aal's avatar
Wow, congratulations
Zahid's avatar
Thank you, Aal — appreciated.
Rafee 's avatar
Pulling the tax rules out into a rules engine instead of leaving them hard-coded is the real senior move here, congrats on the deployed review.
Zahid's avatar
thank you Rafee!
Yurii 's avatar
Perfect job 🔥
Zahid's avatar
Thank you! Yurri!
Back to feed
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started