AI tooling and product frontends
Lai Kah Keen
I build the AI tooling other engineers adopt, and ship the product on top of it.
Three MCP servers shipped — one adopted beyond engineering, by product and the non-technical business team, one inside a commercial product, one running my own life. Vue, React and Go, from product shape through to the billing behind it.
03
MCP servers shipped
Go + TS
Core stack
Billing
Owned end to end

About Me
I'm a software engineer who builds things with intention. Most of my work sits where AI tooling meets production frontends: I wrote the Go MCP server that now reaches past engineering into product and the non-technical business team, connecting their AI agents to our task tracker, and I've shipped two more since — one inside a commercial product, one running my own day to day. On the product side I work in Vue, React and React Native, and I own the billing and Go APIs behind them. I enjoy turning messy requirements into calm, usable systems — whether that's a UI flow, a form that actually makes sense, or an interface that doesn't fight the user. I value maintainability, good structure, and decisions that age well.
Personally, I'm driven by curiosity and a need to understand how things really work — systems, people, and myself included. I care about living well, not just being productive. I enjoy cooking, reading books, spending time in nature, and traveling slowly enough to notice details. I'm experimenting with a more flexible, location-independent lifestyle, balancing focused work with meaningful experiences.
I'm not chasing noise or titles. I'm interested in building useful products, improving my craft over time, and designing a life that feels aligned — thoughtful work, deliberate growth, and space to explore.
My Journey
How I got from an architecture degree to writing agent tooling
Agent tooling as the main line of work
The MCP server I wrote for my engineering team spread past it — product and the non-technical business team run their AI agents through it too, which changed what I think my job is. Shipped two more since: the finance engine inside propbook, and a 41-tool server behind keen-ops, the life OS I run my own days on. Started contracting for Boostomatic in March, replacing 30+ hand-maintained Notion rules with one Go service a non-developer can operate. At work the same instinct became the review layer the rest of the team ships through — automated per-merge-request review, a pre-merge QA gate, generated tests — and I took over running releases. Promoted to Senior Software Engineer in September.
Full-time at ABC Sales AI
Went full-time at ABC Sales AI in August as a frontend developer, after fifteen months part-time and on contract. Building product features on a multi-tenant SaaS frontend in Vue 3, and taking ownership of billing and subscriptions across the frontend and the Go API behind it — including a live currency migration that moved paying customers across plans without them noticing.
Two jobs at once
Began contributing to a cross-platform React Native TV app at Kloudius Services, a Malaysian company doing front-end work for global clients — modular TypeScript, Redux and Zustand, and accessibility on hardware where a remote is the only pointer. Ran ABC Sales AI alongside it part-time, in Vue.
Self-taught web development
Started learning web development on my own through Codecademy and freeCodeCamp, while building end-to-end no-code MVPs for FAR Capital against real business requirements — a property rental booking system and a financial screening application. Learning against real constraints turned out to matter more than the courses.
Automation Specialist → Lead
Designing and implementing automation across a property operation, and eventually leading that work. Most of the job was understanding the business well enough to know which parts were worth automating, then building a custom CRM to manage the portfolio and buyers.
Apprenticeship at FAR Capital
Joined FAR Capital to learn the property industry, which turned out not to be what I expected. I quickly worked out I was more interested in the technology behind running a business than in the business itself.
Architecture degree
Graduated from Taylor's University with a Bachelor's in Architecture, worked as an assistant architect for two months, and realised I did not want to be an architect. The training in drawing a thing precisely before building it has been more useful than expected.
Skills & Expertise
Agent tooling first, then the product surface and the services under it
AI & Agent Tooling
Frontend
Backend
Infra
Selected work
Projects with product context
A tighter look at the problem, approach, and engineering role behind each build. Current work stays first; archived projects remain visible as evidence of range and iteration.

Current build
propbook
A full-stack property investment tracker for Malaysian investors, built around an event-sourced Go financial engine and a Next.js AI chat web app.
- Problem
- Property investors often mix up whether a property is a good deal with what their own money is actually earning after cashback, paydowns, rent, expenses, and opportunity cost.
- Approach
- Built a Go MCP server with SQLite event sourcing, per-user isolation, financial replay, dual Deal IRR and Money IRR views, scenario comparison, timeline tools, and a Next.js frontend for AI chat, auth, usage gating, billing, and rich tool visualizations.
- Signal
- Turns sparse property events into dashboards, cashflow timelines, break-even dates, IRR analysis, and what-if comparisons for a live multi-user web product.
Full-stack product engineering, Go financial engine, MCP tools, AI chat UX, billing
Current build
keen-ops
A personal life OS I use every day — one event store for health, reading, and finance, captured through a Telegram bot and reviewed in a Next.js dashboard.
- Problem
- The things worth tracking across a life were scattered across ten mediocre apps, none of which talked to each other, and none of which could answer a question that spanned two of them.
- Approach
- Built three Go binaries and a Next.js PWA around a single events table: a Telegram bot with a Gemini-backed planner for capture, a read-only API, and a finance MCP server. Every operation computes its own inverse before it runs and both directions are stored, so a write can be replayed backwards. The single store is what would make a question spanning two domains answerable; the tooling built on it so far is finance.
- Signal
- In daily use and still growing. Reversibility holds for writes that go through the ops executor — one that bypassed it made the next undo reverse an older batch and lose data, which is why every path outside the executor now records an inverse of its own.
Solo build — Go services, event-sourced data model, MCP tooling, Next.js dashboard, deploys

Archived study
batch.video
A video processing experiment focused on batch workflows, FFmpeg integration, and 360-degree video handling.
- Problem
- Video editing and processing tasks can become repetitive when clips need the same transformations, exports, or workflow steps applied consistently.
- Approach
- Built a Vite and React workflow that wraps FFmpeg-style processing into a direct batch interface.
- Signal
- Explored how a React, TypeScript, Tailwind, Electron, Zustand, and FFmpeg-based interface could make media processing more repeatable.
Frontend product build, FFmpeg workflow integration
No longer actively maintained

Archived study
ideahook
A SaaS tool for turning real Reddit conversations into validated hook ideas for solopreneurs and content creators.
- Problem
- Solopreneurs need content ideas that come from real audience language instead of generic brainstorming or unsupported guesses.
- Approach
- Built a React, TypeScript, Vite, Tailwind, Go, Chi, Redis, Stripe, and multi-provider LLM workflow that scrapes Reddit JSON endpoints and processes results in background jobs.
- Signal
- Packages Reddit posts and comments into hook ideas with a paid download path, Redis caching, rate limits, and Stripe checkout support.
Full-stack SaaS build, Reddit scraping, LLM workflow, payments integration
No longer actively maintained
Work Experience
Where I have worked, and what I actually owned there
Frontend Developer → Senior Software Engineer
ABC Sales AI
Aug 2025 - Present
Remote
CurrentBuilding a multi-tenant SaaS product — and the internal AI tooling the company uses to build and run it. Part-time and contract here from May 2024 to Jul 2025, full-time since, and Senior Software Engineer since September 2026.
- ▪Wrote an internal MCP server in Go, now hosted and adopted beyond engineering — by the product and non-technical business teams — to connect their AI agents to the company task tracker
- ▪Build and ship product features on a multi-tenant SaaS frontend serving 1,400 companies, in Vue 3, Pinia, PrimeVue and Tailwind, carrying work from requirement through to production
- ▪Own billing and subscriptions across the frontend and the Go API behind it, including a silent MYR to TWD migration that moved live subscriptions across plans with no customer-facing disruption
- ▪Built the review and QA tooling the rest of the team ships through — an automated per-merge-request review layer, a pre-merge frontend QA gate, and cron-driven test generation
- ▪Coordinate releases end to end: sequencing changes across the team, checking migrations before they run, and owning the cut
Contract Engineer
Boostomatic
Mar 2026 - Present
Remote
CurrentMarketing agency, in production. Replacing hand-maintained automation with services a non-developer can operate. Run alongside full-time engineering work.
- ▪Built a Go service replacing 30+ hand-maintained Notion automation rules with a single YAML config, routing task digests to 14 Slack channels across 8 client accounts on a cron schedule
- ▪Added a Gemini-backed Slack assistant for reading and writing Notion tasks, designed so a non-developer operates it without touching code
Automation Contractor
CSI Prop
May 2024 - Feb 2026
Kuala Lumpur, MY
Property firm, contracted part-time alongside the day job. Standardising the automation workflows the business ran on, built with the non-technical people who would own them afterwards.
- ▪Standardised automation workflows for a property firm, designed with non-technical stakeholders so they could run and change them without me
- ▪Carried it as a concurrent contract from the Kloudius period through the move to full-time engineering, and handed it over cleanly at the end
Software Developer
Kloudius Services
Mar 2024 - Jun 2025
Kuala Lumpur, MY
Cross-platform React Native TV streaming app for a company serving global clients.
- ▪Maintained and extended a cross-platform React Native TV streaming app with modular TypeScript components
- ▪Worked across Redux and Zustand state, with Jest coverage on the parts that carried risk
- ▪Fixed accessibility and input handling for constrained TV hardware, where a remote is the only pointer
Automation Specialist → Lead
FAR Capital
2021 - Feb 2024
Kuala Lumpur, MY
Where the engineering started: business automation for a property firm, growing from building automations to leading the work.
- ▪Designed and implemented business automation across the property operation, from listings to portfolio and buyer management
- ▪Built a rental booking system, a custom CRM, and an MVP screening application over a MySQL database
- ▪Turned business requirements into working systems with non-technical stakeholders, which is where the interest in software came from
Assistant Architect
Architecture Firm
2020 - 2021
Kuala Lumpur, MY
Two months in the profession the degree was for, which was enough to know it was not the one.
- ▪Provided architectural assistance in developing construction plans
- ▪Produced 2D drawings and 3D renderings against tight project schedules
Get In Touch
A role, a build, or something you are stuck on — this reaches me directly.
Contact Information
Let's Work Together
I'm currently available for freelance projects and full-time opportunities. Feel free to reach out if you'd like to collaborate or just have a chat about technology.