Skip to content

Phnom Penh · Cambodia & ASEAN

Custom business systems, built right

Software shaped around how your business already works — designed, shipped and maintained in Cambodia by one engineer who answers the phone.

Nine systems built·Six running.

Sound familiar?

Nobody commissions software for fun

Custom software is worth it when the cost of carrying on is higher than the cost of fixing it. These are the four situations where that is usually already true.

The spreadsheet nobody will touch

One file runs a core part of the business, one person truly understands it, and everybody knows a wrong keystroke costs a week.

Two systems and a person in between

Data gets re-typed from one tool into another every day, and the mistakes only surface at month end, when they are expensive.

Software that nearly fits

You pay for a tool built for a different market, and half your process now exists to work around its assumptions.

Reports assembled by hand

It takes two days to pull together the numbers a decision depends on, so the decision usually gets made without them.

Proof of delivery

Nine systems built. Six running.

Not concepts — real products, each built end to end and shipped through the same CI-gated pipeline. The six below are deployed and demonstrable on the pre-production environment, which is what the Pre-livelabel means: running, but not yet in anyone's production. This page will say so when that changes.

Pre-live

SuiteWright HR

HR and payroll for Cambodian companies — from the clock at the door to the payslip

  • Express
  • Prisma
  • PostgreSQL
  • Vue 3
Pre-live

SuiteWright Task

Project management software for Cambodian teams — and you can pay by KHQR

  • NestJS
  • Prisma
  • PostgreSQL
  • Vue 3
Pre-live

SuiteWright Shop

Online store for Cambodia — one stock list behind web, admin and a phone app

  • Spring Boot
  • Java 21
  • PostgreSQL
  • Next.js
Pre-live

SuiteWright Hotel

Hotel management system for Cambodia — direct bookings, front desk, KHQR

  • Spring Boot
  • Java 21
  • PostgreSQL
  • Next.js
Pre-live

SuiteWright POS

POS for Cambodia — a till that survives a dropped connection, and takes KHQR

  • Express
  • GraphQL
  • TypeORM
  • PostgreSQL
Pre-live

SuiteWright School

School management system for Cambodia — K-12, university, TVET and language centres

  • NestJS
  • Prisma
  • PostgreSQL
  • Next.js

Built for the region

Software that fits how Cambodia does business

The details international tools skip — the ones that decide whether software actually works here rather than nearly working.

Bakong KHQR & ABA PayWay

Local payment rails as first-class options, sitting beside Stripe and PayPal — not bolted on after. Live in four of the systems.

Dual currency, local law

USD and KHR on every financial record where it matters, and rules like the 70% foreign-ownership cap encoded, not left to a spreadsheet.

Mobile and multi-tenant

Five systems ship a mobile app; four are true multi-tenant SaaS with isolation enforced in the data layer, not by convention.

Working together

How a build actually starts

No procurement process, and no commitment until there is something written down to commit to. You can stop after either of the first two steps.

  1. 01

    A conversation about the problem

    Usually an hour, and about what is slow, manual or breaking rather than about software. Sometimes the honest answer is that something off the shelf already does this, and you get told that.

  2. 02

    A scope and a number, in writing

    What gets built, what explicitly does not, and what it costs. This is the decision point — if it does not look worth it on paper, this is the natural place to stop.

  3. 03

    Built where you can watch it

    It runs on a real environment while it is being built, not just at the end. Changes are cheapest before something is finished, so that is when you are asked about them.

  4. 04

    Handover, then maintenance

    The code and the database are yours, in your repository. Maintenance carries on as a separate standing arrangement — a choice you keep making, not a dependency you inherit.

About SuiteWright

A wright is someone who builds — a shipwright, a wheelwright. SuiteWright builds the suite of systems a business runs on: the HR platform, the point of sale, the booking engine, the thing that finally replaces the spreadsheet everyone is afraid to touch.

Nine systems built so far, six of them deployed and running. Every one ships through the same pipeline: a vulnerability scan that fails the build on a critical finding, and a deploy that only completes once the new version reports healthy. That is not an aspiration — it is how the work is done now.

systems built
9systems built
deployed and running
6deployed and running
deploys, CVE-scanned
CI-gateddeploys, CVE-scanned
accountable engineer
1accountable engineer

Before you get in touch

The questions worth asking first

It is one engineer. What happens if you are unavailable?

That is the fair question to ask, and the honest answer is that there is no team to escalate to and capacity is finite. What reduces the risk is deliberate: you own the code and the database in your own repository, deploys run from a pipeline rather than from a laptop, and the stack is intentionally mainstream — NestJS, Express, Spring Boot, PostgreSQL, Vue and Next.js — so any competent engineer can pick it up. You are not holding a system only one person can read.

Why is there no pricing on the site?

Because scope decides it, and scope is not knowable before the first conversation. What you get instead is a written scope and a number before anything is built, so the decision is made on paper rather than on trust. If it does not look worth it at that point, that is a perfectly good place to stop.

How do the subscription systems work — POS, HR, Task and School?

Those four are multi-tenant SaaS: you subscribe per organisation rather than commissioning a build. A new workspace starts on a free 30-day trial of the Pro plan, and there is no permanently free tier — when the trial ends you move to a paid plan, or the workspace is suspended with your data kept intact for a grace period. Payment is by Bakong KHQR or ABA PayWay in Cambodia, and by card elsewhere. Hotel and Shop are not sold this way: they are deployed per client, and Chat runs on your own servers.

Do we own what gets built?

Yes — the code and the database, in your repository, on a stack you could hire for. That is the point of avoiding a bespoke framework: nothing here is designed to make leaving expensive.

Can this work with the systems we already have?

Usually that is the whole job. Most operational pain is not a missing tool, it is a person re-typing data between two tools you already pay for. Integrations run on APIs, webhooks or schedules, are idempotent so a retry cannot double-post, and alert loudly when they break rather than failing quietly.

Would an off-the-shelf product be better for us?

Often, yes — and you will be told so. Custom software earns its cost when the way you work is genuinely different from the assumptions an off-the-shelf tool makes, or when the tool built for another market leaves you maintaining a pile of workarounds. If that is not your situation, buying is the cheaper answer.

Are these systems in production with real customers?

Not yet, and the site says so rather than blurring it. Nine systems are built and six are deployed and running on the pre-production environment — reachable, demonstrable, shipped through the same CI-gated pipeline. They are labelled Pre-live rather than Live because a visitor reads "Live" as "in production", which is exactly what they are not. The labels will change when that changes.

Not a business system — a website or mobile app? Our sister studio Veltacode ↗ covers web design & mobile.

Got a system in mind?

The useful first conversation is usually about the problem, not the software.