Case study · Computer Vision · Enterprise AI

Tapway shipping a turnaround that paid for itself.

A loss-making AI computer vision company. No CTO, no technical lead, no solution architect. A product stuck for over a year. Eighteen months later: RM500K profit, two products built from zero, and Malaysia’s first computer vision ISV on the AWS Marketplace. The work, the team, and the constraints, told honestly.

Role
Senior Product Manager
Period
Feb 2023 — Jul 2024 (18 months)
Outcome
RM500K profit · AWS Marketplace launch
Deployments
5 SE Asian countries · 8+ named enterprise clients
Links
visionsamur.ai · AWS Marketplace launch · gotapway.com

How it started

February 2023. One month after a cardiac event in Egypt, two weeks after the angiogram — I didn’t have insurance in Malaysia yet, so the procedure happened back home. I started at Tapway carrying medications, an unfinished recovery, and the assumption that I’d have technical leadership above me to lean on while I learned the company.

Two months in, the product architect onboarding me resigned. Around the same time, the product designer left. There was no CTO. No technical lead. No solution architect. The team I had — ML ops engineer, AI engineer, DevOps, frontend, backend, QA, a labeling team — was strong, but the layer that was supposed to translate strategy into technical direction wasn’t there.

This was also my first deep engagement with computer vision and ML. I was the senior PM on paper, and the de facto product, technical, and people leader in practice. Not by ambition. By absence.

What I inherited

The conversation with Chee How Lim, Tapway’s CEO, in my first weeks was clear and useful. The company had made a loss in 2022. The mandate for 2023 was profit. There was a list of running enterprise projects to keep alive, and a parallel ambition to ship two new platform products — SamurAI Central and SamurAI Copilot — from scratch. There was no separate budget line for those two. They had to be built within the runway the running projects produced.

That conversation defined the next eighteen months. Every product decision, every hire, every architectural call, every project we said yes or no to — got tested against the same question: does this serve the user, the team, and the runway, all three? Decisions that only served one or two failed the test.

The product itself had been stuck for over a year. Inherited architecture choices — DynamoDB and a GraphQL layer — created friction every time we tried to add new features on top. We couldn’t rebuild from scratch; the runway didn’t allow it. So I led the team into a different posture: ship what works around the constraints, name what doesn’t, and document the technical debt clearly enough that whoever picked it up after me would know exactly what they were inheriting.

The team I built

The first call was the product designer. With a tight budget, I couldn’t hire a full-time senior designer at market rate. I brought in a part-time designer I’d worked with before and trusted to deliver. He shipped at full quality on a part-time contract. He’s now Design Lead at Noon. That hire alone changed what we could ship.

One of the labelers on the team had been written off by the previous leadership — reputation issues, performance questions. I sat with him, understood what he was actually capable of, and gave him room to own the labeling pipeline end to end. He grew into the role. Tapway publicly recognized his contribution on the company LinkedIn page recently, more than a year after I left. Coaching the people the org has stopped believing in is one of the highest-leverage moves a PM can make. It also costs less than hiring around them.

We hired a senior backend engineer with a master’s degree who leadership initially questioned on cost. I defended the hire on the basis that the architecture problems we’d inherited required someone who could see them clearly, not just patch them. He stayed. We’re still in touch.

I learned computer vision from the AI engineer who’d started at Tapway as an intern and earned his way into a full-time role. He’s still in my network. The brilliance was already in the building; what was missing was the structure to let it operate at full capacity.

When labeling demand outgrew our in-house team, we couldn’t just keep hiring. So I built a system: interviewed and selected a bench of freelance labelers ready on standby, defined per-image and per-project pricing tied to category and complexity, set up a dedicated Slack channel for coordination, and wrote a QC workflow that kept quality consistent across in-house and freelance work. The system worked well enough that it became the basis for a labeling task management feature inside SamurAI Central itself. Operations turned into product.

For SamurAI Copilot — the edge deployment side — I brought in a freelance engineer specifically to build the deployment orchestration. Not a full-time hire we couldn’t afford. A targeted engagement scoped to a problem I couldn’t solve any other way within budget.

SamurAI Central

A no-code computer vision platform that handles the full model lifecycle — image collection, labeling, training, evaluation, deployment — without requiring engineering effort from the customer. Built so an enterprise can stand up a production CV model on their own data without writing code.

The labeling layer integrated CVAT (open-source, Angular-based) as an embedded frame inside Central. We didn’t reinvent labeling tooling we didn’t need to. We adapted what existed, integrated it cleanly, and configured it for our specific image-display and navigation requirements.

We launched SamurAI Central on the AWS Marketplace on May 2, 2024 — Malaysia’s first Independent Software Vendor of any kind on the marketplace. We maintained a direct relationship with AWS’s startup teams throughout the build, which is part of what made the marketplace path navigable.

SamurAI Copilot

Central is where models are trained. Copilot is where they run. For enterprise clients with multi-site deployments, the model needs to execute on edge servers at the site — not in the cloud — for latency, cost, and reliability reasons. NVIDIA Jetson Nano, AWS-spec hardware, and other edge devices depending on the project.

The technical problem: every deployment was different. Different servers, different model types (object detection, segmentation, classification, sometimes multi-model combinations on the same server), different camera setups, different network conditions on site. Without a deployment system, every project required custom field engineering work.

The solution we shipped was a Lambda-based deployment orchestration layer that handled model installation, configuration, camera-zone definition, streaming setup, and runtime management. The freelance engineer I brought in built the core of it, working remotely. The result wasn’t perfect — some projects still needed on-site judgment calls — but it converted what had been one-off field deployments into a system that scaled.

Deployments in the wild

Across eighteen months, we deployed SamurAI in production for enterprise clients across Malaysia, Singapore, Thailand, Indonesia, and the Philippines. The work spanned domains, not just clients.

Agriculture and food. A durian grading system for HERNAN, Malaysia’s largest durian exporter, in a three-way collaboration with Mega Fortris on traceability. Launched at the Malaysia Digital Expo 2023 with the Secretary-General of the Ministry of Agriculture and Food Security present. Read the launch announcement → AI grading on KLK Berhad palm oil operations. A pizza-chain deployment in the Philippines.

Logistics and infrastructure. Container inspection at Penang Port — ID recognition, damage detection, seal integrity, all from cameras mounted at crane height. Traveler tracking and vehicle management at Changi Airport Terminal 3, in partnership with Huawei. Gas cylinder tracking at Petronas. EV charging station monitoring.

Retail, F&B, and automotive. Visual compliance monitoring for ZUS Coffee — one of Malaysia’s largest chains — covering ten-plus rule sets across barista actions, uniform compliance, hygiene, and table management. Live in five branches before I left, with five-plus models trained against their data. Workshop damage assessment at Sime Darby Automotive (vehicle inspection during the drive-in process). Warehouse management for a tissue-and-paper distributor — routing decisions between local distribution and shipment containers.

What I learned

Trust the people the org has written off. The labeler whose effort got publicly recognized a year after I left, the senior backend hire I defended, the AI engineer who earned his way from intern to full-time. None of them were obvious bets when I made them. All of them paid back the trust several times over. The cost of giving someone room to grow is almost always lower than the cost of replacing them — especially in a company on tight runway.

Own the technical territory you don’t have. I came in not knowing computer vision deeply. I left having owned the full ML pipeline from image collection through model training QC, having made architecture calls on AWS infrastructure, and having shipped two products on edge hardware. The way through was to be honest about what I didn’t know, learn from the engineers who did, and never pretend I had answers I hadn’t earned. PMs who try to fake technical fluency get caught immediately. PMs who admit gaps and close them in public earn something stronger than fluency: trust.

Build systems, not heroics. The freelance labelers process became a Samurai Central feature. The Tapway agile guide became how new hires onboarded. The technical planning docs became the company’s reference for scoping new client projects. None of these started as products. They started as me trying to stop solving the same problem twice. The pattern: every recurring operational pain is a candidate to become a product feature, an internal tool, or a documented process. On runway, you can’t afford heroics.

The plan does not survive contact. Mobile inference for Central — letting users test trained models on their phone — ran into a wall with SageMaker pipelines and model size constraints. Some technical problems we worked around, some we deferred, some we accepted as out of scope. Same with the inherited DynamoDB and GraphQL constraints — they shaped what we could build until we left them. Senior PM work in a small company isn’t about making the right call on paper. It’s about making the call that’s right for the runway, the team, and the user, knowing that all three will push back as you build.

Lead with the CEO, not around him. Setting company KPIs alongside Chee How, carrying managerial responsibility, leading hiring decisions — none of those were in my job description. They were what the company needed and what he asked me to do. The work was always done in the open, with the runway visible to both of us, and with decisions made together. The senior PM signal here isn’t that I did more than my title. It’s that I did it in a way that kept the CEO’s confidence the whole time.

Where it stands

Tapway turned profitable by RM500K within the eighteen months I was there. The 2022 loss became a 2024 profit. Both Samurai products are still live. The company has continued building since I left — expanding into Indonesia and Thailand, partnering with new firms across the region. gotapway.com tells the current story. Mine ends in July 2024.

What I took with me: the conviction that product, team, and business decisions are the same decision when the runway is short. You can’t separate them — or rather, you can, but the company won’t survive the separation. The senior PMs I want to work alongside are the ones who already know this.