problem → what I did → result
Cases.
12 problems from real products at work, each written the same way: the context, what was wrong, what I did, the calls I made, and what changed. Each one is proof of a different skill, with excerpts of the actual documents where I have them.
Customer names, internal data, and financials are left out or generalised.
12 · Case studies
Problem → what I did → result
- 01
Sanan · Scrum & delivery
SanAn Kids
A small change to a business rule, like how tuition is calculated for a registered service, could touch the parent app, the teacher app, and the admin web at the same time. When edge cases weren't found before development, they turned up late in QA or in production.
→ Sprint success rate above 95%, tracked with structured sprint metrics.
- 02
Sanan · Product · process · engineering
Kizna
The challenge wasn't just building new features. It was turning a fragmented, AI-first product into a usable, maintainable system that actually meets customers' needs.
→ Product requirements and issue tracking in one place.
- 03
Sanan · Requirement analysis
Leads · Kizna CRM
The CRM had nowhere to put a contact that hadn't been checked yet. Every new phone number went through the 3-step “Add family” wizard, which creates a family, a student, and an enrollment opportunity. Spam and wrong numbers sat in the family list next to real customers, logging one number meant filling a heavy form, and nobody could measure how many raw contacts actually became families.
→ PRD approved for design the day it was written, with all four blocking questions resolved.
- 04
Sanan · Delivery on a deadline
Corporate & Marketing Websites
Three brands (Sanan Kids, Sanan Corp, and Sanan Connect) each needed a marketing site built for SEO and lead generation, and all three had to ship within two months.
→ Three corporate websites delivered within two months.
- 05
Sanan · Test automation
Playwright Automation Suite
Release checks depended heavily on manual testing. That took time every sprint and made releases less predictable.
→ Less manual testing effort per release.
- 06
Sanan · Delivery metrics
Sprint Delivery Dashboard
Sprint health and release versions were tracked by hand across Redmine, Notion, and spreadsheets, which made it hard to see how a sprint was really going.
→ Gave the team the data behind its 95%+ sprint success rate.
- 07
EZOM · Third-party integrations
Mateship Logistics Platform
Orders, warehouses, and carriers all have to talk to each other. Every carrier or commerce platform has its own API and quirks, so integrations never stop coming, and each one touches live customer orders.
→ 10 third-party integrations shipped.
- 08
EZOM · Business rules & states
Organisation Subscription · Stripe
Billing has a lot of states that look alike but mean different things. A payment Stripe has accepted isn't the same as a plan EzOM has applied. A downgrade shouldn't cut access mid-period. A $0 trial invoice marked paid shouldn't flip a trial to ACTIVE. If any of these get mixed up, a customer gets charged twice or loses features they paid for.
→ Organisations can trial, buy, upgrade, downgrade, cancel, and resume plans without contacting support.
- 09
EZOM · Integration requirements
Monthly Invoices & Statements · Xero
Account managers had to produce each organisation's monthly invoice and statement in Xero by hand, outside EzOM, while the transactions behind them lived inside EzOM.
→ Account managers generate and download monthly invoices and statements from the organisation list.
- 10
EZOM · Quality engineering
Testing Coverage Improvement
Automated test coverage was around 30%, so every change to a core logistics flow was a risk.
→ Automated test coverage raised from 30% to 80%.
- 11
EZOM · Documentation
API Documentation & User Manuals
Customers and new teammates had to ask the dev team how the GraphQL API and product flows worked.
→ Public docs at ezom.gitbook.io, used by customers and the team.
- 12
EZOM · Security
Security Hardening
Amazon Inspector flagged vulnerabilities in a platform that handles customer and order data.
→ Flagged vulnerabilities fixed.