Maloha Coast is a small studio in Malaysia. We believe most software fails for a simple reason: it was built around features instead of around how people actually work. So we start there. We work from the real problem, the real person using it, and the smallest thing that solves it. The interesting part is rarely the screen. It is the data model underneath, the context that makes the system worth returning to, and whether it still holds up six months into real use.
Products
Keep what your kids make, so grandparents see it in one tap.
Grandparents love seeing what their grandchildren make. The problem is everything that gets in the way: the photos live in one parent's phone, sharing means five taps and an app install, and the artwork ends up in a camera roll nobody looks at again. Sundry removes those barriers. It is a private family archive for children's artwork and milestones, with a deliberately stripped-down view for grandparents. One tap to open, one tap to send a heart back.
The design driver is the receiving end. If the person you are sending to has never installed an app and will not learn one, then the software has to meet them where they already are. Everything else follows from that constraint.
Under the hood, Sundry keeps a Living Graph: a map of the people, objects, dates, and relationships in a family's life, plus where each piece of information came from and any corrections a human made along the way. That structure is why the archive stays useful. Instead of a folder of files you never open again, the system can resurface the right memory at the right time. An anniversary, a milestone, a piece of art from three years ago.
Write a line, drill closed-book, see what you forgot.
Most study tools are built around a flashcard deck: you flip a card, you rate how well you knew it, and you move on. That approach has a quiet flaw: you are grading yourself, and you tend to be generous. Notimon starts from the opposite direction. You write the answer from memory, closed-book, and the system scores what you actually produced.
Every miss becomes a tracked gap, and each gap resurfaces on its own schedule until it is genuinely closed. The unit of progress is a gap you have closed, not a card you have reviewed. That single change turns studying from a task you complete into progress you can watch accumulate.
The note surface is a PixiJS canvas: notes grow into plants, and [[backlinks]] between them become vines. It is playful on purpose. It gives you a reason to return to the notes, which is the hardest part of any knowledge tool. Underneath, it is a React and TanStack Router application with a domain-driven, event-driven core.
Guests claim limited food over WhatsApp before it sells out.
A restaurant does not fail because it cannot take an order. It fails because the menu, the order, the calendar slot, the loyalty balance, and the voucher all live in different places. A till, a notebook, a spreadsheet, three chat threads. None of them agree. Restaurant OS is a single operations platform that holds all of it in one place: menu, orders, time slots, loyalty, and vouchers for restaurants.
Guests claim limited food over WhatsApp before it sells out, which matters because a scan of what is actually available and a simple yes/no is often the whole transaction. The system has to be right about what is left, in real time.
One deliberate design decision shapes the architecture: the part of the system that answers requests runs separately from the part that runs scheduled background work: expiring vouchers, releasing time slots, recalculating loyalty tiers. Keeping the scheduled path out of the live path means a bad scheduled task cannot take down checkout. The live service is running today; the background worker is planned, not live.
Internally, the codebase is organised by business domain under src/contexts/, and pricing and gating rules register as plugins keyed by rule type. Adding a new promotion or access rule means one new file plus one registry line, and PlaceOrder and the pricing pipeline do not grow new branches every time the business invents something. The database holds 17 tables across nine migrations.
A queryable knowledge base that keeps every fact tied to its source.
Everything a business knows is scattered across an inbox, a set of meeting notes, and a folder of documents. The knowledge is real, but it is not findable. So people re-answer the same questions, re-learn the same context, and lose decisions that were made last year. A knowledge base fixes that. It pulls a client's email, meeting transcripts, and documents into one structured place you can actually query.
The part people tend to skip is the part that decides whether it works: nothing is written until a human approves it. The pipeline reads and proposes, a person reviews and accepts or rejects, and only then does the fact land in the brain. That review step is what keeps a knowledge base trustworthy instead of slowly filling with confident nonsense.
Retrieval is hybrid: full-text search finds exact terms, vector search finds things by meaning, and the two ranked lists are fused so you get the best of both. Every fact keeps a link back to the message it came from, so you can always check the source. The client owns the underlying data as plain markdown in a GitHub repository they can open in Obsidian. It is structured memory that survives any single app. Each client runs as an isolated tenant with their own dashboard view.
Open the live demoSeeded with sample data. 25 pages, graph, pipeline.
A small portfolio of niche directories, each one built around a single need families keep searching for. One is live today and five more are on the way.
Parents of children with extra learning needs often have to phone school after school just to learn what support exists. Sokong Sekolah is a free directory that gathers it in one place: learning support units, shadow aides, exam accommodations, and on-site therapy. It works in English and Bahasa Malaysia, and you can filter by state, school type, and the need you are looking for.
Parents and schools can submit a listing or a correction through a short form, and there is a newsletter for updates. Listings are based on public information, so the directory always points back to each school's own details and asks families to confirm with the school directly.
It runs on Cloudflare Pages, with Pages Functions and a D1 database behind it, plus a small admin CMS for reviewing submissions and keeping listings current.
Client Work
We turn a business's scattered email, meetings, and documents into a knowledge base you can actually ask questions of.
An ingestion pipeline that pulls a client's email, meeting transcripts, and documents into one knowledge base. Nothing is written until a person reviews it, so the base stays accurate instead of filling with guesses. Retrieval is hybrid: full-text search for exact terms, vector search for meaning, and the two ranked lists fused together. Agents reach the base through an MCP server behind OAuth. Every fact keeps a link back to the source message it came from. The client owns their data as plain markdown in a GitHub repository they can open in Obsidian, and each client runs in their own isolated tenant.
Speaking
Kracked Devs · Kuala Lumpur
Fifty builders signed up, with more on the waitlist. The goal was simple: everyone leaves with their own assistant in their pocket, connected to their Hermes agent. Some went straight for a server, others got it running on their laptop.
19 JUN 2026
Workshop with Sunway DealFlow Club and Kracked Devs. Taught the fundamentals of building with AI, showing how tools like GitHub and Vercel turn an idea into a working product in an afternoon.
30 JUN 2026
An online session for Kracked Devs over Google Meet. A relaxed, fast-paced hangout on the flow of building, experimenting, and thinking out loud, with a front-row seat to the whole process.
2026
Session with Kracked Devs and Microsoft at Cradle Fund. Covered building agents on Microsoft Foundry, including the lessons from hitting real live-environment issues.
Building something that needs a calm, useful product?
Start a project