Kasir Kaki Lima
An offline-first point-of-sale app for street vendors and small shops, with stock, customer credit, reports and QR table ordering.
AI Solutions
Machine learning as one component inside a working product, chosen when it beats simpler logic and run on the device when privacy or connectivity demands it.
The useful question is rarely “can we add AI?” It is “which step in this workflow is a model actually better at than a rule?” Sometimes the answer is a speech recogniser. Sometimes it is a dictionary and a scoring function that anyone can read and debug.
Laras uses the Vosk speech recognition engine on the device to score pronunciation: a learner reads a phrase aloud, the recogniser transcribes it locally, and the app compares the result word by word with the target. No audio leaves the machine. Job Wire goes the other way on purpose. Its CV matching is rule-based, runs entirely on your own backend, and the suggestion builder is a single function that can be replaced with a language model call when that trade-off becomes worth it.
Portfolio
An offline-first point-of-sale app for street vendors and small shops, with stock, customer credit, reports and QR table ordering.
A language learning app that keeps working with no signal, on desktop and Android.

A development team made of AI agents that you run from WhatsApp, from work plan to pull request.
01
Pronunciation practice, voice notes or spoken commands recognised on the device, without a round trip to a cloud API.
Scoring documents against requirements, starting with transparent rules and adding a model only where the rules run out.
Workflows where the text or audio is sensitive and should be processed locally or on infrastructure you control.
Extraction, classification and drafting steps that can be handed to a language model behind a clear interface, with a fallback when it is unavailable.
02
A deterministic baseline ships first. It sets the bar a model has to clear and remains the fallback.
Model calls sit behind one function or one sidecar process, so the provider can change without touching the rest of the application.
When there is not enough signal to score something, the product says so. Job Wire reports “score not available” rather than a misleading default.
Describe it in a few sentences on WhatsApp. You get a direct reply about scope, platform and a sensible first version.
Request a Project