Built product · 2026
Kontor.
One place to handle what happens after a marketplace sale.
I designed and built this ERP for marketplace orders, stock, packing, shipping and books.
See the work- My role
- Product, design, engineering, deployment
- In use
- One merchant · 3–4 marketplace stores
- Shipping
- 2–4 integrations in the merchant's setup
A real workflow
An order stops at packing.
What happens next?
Sample order #1036 is short one cup set at the packing table. Kontor keeps the reason visible, so nobody has to infer it from a status badge.
Design decision Make the exception actionable in each person's own view. The two captures above show the same synthetic order.
Explore Kontor
Choose your starting point.
This sandbox uses a copy of my working local database. Pick a role, inspect its screen, then sign in to handle the same kind of work yourself.
Real product capture · synthetic records · click to enlarge
Owner / Channel Order
Can this order ship?
A country restriction appears on the order itself, with the reason and available decision next to the items.
Open Channel Orders and inspect an order on hold.
Use the email and password above. No verification code is required.
The demo includes held, packed, shipped and invoiced orders from my local build. Shopify’s development store and DHL’s sandbox are connected; #1067 shows a completed shipping and invoice path. Company and buyer details are fictional. Screenshots are captures of the same product.
Under the UI
How an order moves through Kontor.
Three layers carry the work from an external event to a business record. They also make failures visible.
01 / Ingress
Marketplace and carrier adapters translate provider-specific events into Kontor's order and shipping workflows.
02 / Work
Queued jobs retry external calls. Idempotent processing avoids repeating an action when a request or event arrives again.
03 / Records
The order stays connected to items, parcels and ERPNext documents such as the invoice. Staff can trace what happened.
Python · Frappe / ERPNext · JavaScript · MariaDB · Redis · Docker
About
Hammad Bhutta.
I’m a software engineer in Germany. At SAP LeanIX I built enterprise SaaS features; at Distribusion I worked on travel-booking QA. Kontor is where I combine product decisions, UI, backend and deployment. I’m looking for product engineering roles.