Custom web applications for teams that outgrew the spreadsheet.
I build the software that sits in the middle of your operation — the POS, the audit trail,
the booking queue, the approval flow. Practical systems, built to be handed over and kept running.
Every project below starts the same way: a team is doing important work in tools that
were never meant for it. The job is to move that work somewhere it can be trusted, shared, and measured.
01 / Core
Custom web application development
A full application built around one real process, from database schema to the screens your team uses every
day. No off-the-shelf product bent into a shape it was not designed for.
Role-based access
Reporting & exports
Audit history
Responsive on tablet
02 / Operations
Internal tools & admin dashboards
The unglamorous screens that decide whether a team is fast or stuck: queues, approvals, bulk edits, and a
dashboard that answers the question someone asks every morning.
Approval workflows
Bulk operations
Operational dashboards
CSV / Excel exports
03 / Business systems
POS, inventory & booking systems
Point-of-sale, stock control, room and resource booking — systems where a wrong number costs real money, so
they are built around accuracy first and speed second.
Sales & stock tracking
Low-stock alerts
Resource scheduling
Daily reconciliation
04 / Automation
Workflow automation & integrations
The repetitive step nobody should still be doing by hand. Notifications, scheduled jobs, and connections
between the systems you already pay for.
Telegram notifications
Scheduled reports
REST API integrations
Data sync jobs
05 / Rescue
Spreadsheet & legacy migration
Moving a process out of a shared spreadsheet or an abandoned system, without losing the history or the
habits your team already has.
Data cleanup & import
Permission modelling
Parallel-run period
Team onboarding
06 / Continuity
Deployment & handover
A system nobody can deploy is a liability. Every project ships with a repeatable deploy, documentation, and
a repository you own outright.
Docker deployment
Written documentation
Source code handover
Optional maintenance
How a project runs
Most of the risk in custom software is decided before any code exists. So the first stage is deliberately slow
and the rest moves quickly.
1. Scope — understanding the actual workflow
We walk through the process as it happens today, including the workarounds. This is where the real
requirements live: the exception nobody documented, the report someone rebuilds by hand each month, the
approval that happens over a phone call. You get a written scope and a fixed picture of what version one
contains.
2. Build — in stages you can see
Work happens in a repository you have access to from day one. Each stage delivers something usable rather
than a progress percentage, so you are testing real screens with real data early instead of reviewing a demo
at the end.
3. Deploy — and then actually use it
The system goes live with your data, usually alongside the old process for a short period so nothing depends
on a single switchover day. I fix what surfaces in the first weeks of real use, because that is when the
genuinely important bugs appear.
4. Hand over — you own it
Source code, database, deployment configuration, and documentation are yours. If you want me to keep
maintaining it, that is a separate arrangement — never a dependency you were locked into by default.
A note on scope. The fastest projects are the ones where version one does less than the
wish list. Shipping a narrow system that people use beats shipping a complete system three months late that
they work around.
The stack I build with
These are the tools I reach for by default, chosen because they are stable, well-documented, and easy for
another developer to pick up after me — which matters more than novelty when you own the result.
Backend: Laravel (PHP) and Flask (Python), with REST APIs where other systems need to
connect.
Frontend: Vue.js and JavaScript, Tailwind for styling, Vite for builds, and Three.js when
a product genuinely needs 3D.
Data: MySQL for production systems, SQLite for smaller or embedded cases.
Operations: Docker for reproducible deployment, Git for history, and the Telegram API for
workflow notifications teams will actually read.
Custom software is not the right answer for everyone. It fits best when:
A process is central to how you make money, and no off-the-shelf product matches it closely.
More than a handful of people touch the same data and keep overwriting each other.
You need history — who changed what, when, and with whose approval.
Someone on your team spends hours each week manually moving data between systems.
If an existing product covers 90% of what you need, I will tell you that rather than quote a build.
Common questions
How much does a custom web application cost?
Cost depends on three things: how many user roles the system has, how many workflows it replaces, and
whether it has to integrate with software you already run. A focused internal tool with one or two roles is
a much smaller build than a multi-department business system with approvals and reporting.
I scope every project before quoting, so the number is based on your actual workflow rather than a
template. This breakdown of what drives cost walks
through the factors in detail.
How long does it take to build a custom web app?
A narrow internal tool usually reaches a usable first version in a few weeks. Larger business systems with
multiple roles, approvals, and reporting take longer and are best delivered in stages — you start using
part of the system while the rest is still being built.
Do you work with clients outside Cambodia?
Yes. I am based in Phnom Penh and work remotely with clients in any time zone. Collaboration happens over
email, Telegram, and scheduled calls, with work visible in a shared repository as it is built. If you are
hiring locally, the Cambodia page covers how that
works.
Can you replace the spreadsheets my team currently uses?
That is one of the most common reasons teams reach out. Spreadsheets stop working once several people need
to edit the same data, history matters, or approvals are involved.
Moving that process into a web application gives you permissions, an audit trail, and reporting — without
changing how your team already thinks about the work.
Do I own the code you write?
Yes. You own the source code and the data. I hand over the repository and the deployment setup so you are
never locked into working with me to keep the system running.
What technologies do you build with?
Mainly Laravel (PHP) and Flask (Python) on the backend, Vue.js with Tailwind on the frontend, and MySQL or
SQLite for data. Docker handles deployment, and I integrate services like the Telegram API when a workflow
needs notifications.
Have a process worth fixing?
Tell me what your team does by hand today. If custom software is the right answer, I will scope it. If it is
not, I will say so.