How a project actually runs.
No quote forms. No ten-page requirements document you have to write yourself before anybody will talk to you. We come and watch how the work is done today, because that is where the real specification lives - and because half of what we end up building was never in anybody's brief.
From a conversation to a system your staff prefer.
Understand the business
We sit at your counter, walk your stockroom, read your existing books and your actual paperwork. We ask what happens when the usual thing does not happen - the customer who pays half now, the delivery that arrives short, the price that gets negotiated on the spot. Those exceptions are the system; the happy path is the easy part. Nothing is quoted until we understand them.
Agree the scope and the price
You get a fixed, itemised price broken into stages, in writing, before any work starts. No hourly meter running in the background, no licence per user, no annual renewal that arrives as a surprise. If something turns out to be bigger than we thought, that is our problem, not a change request - and if it turns out smaller, you pay less.
Design what you will actually touch
Screens first, in front of you, before a line of business logic is written. We watch somebody who has never seen it try to run a real transaction on it. If your cashier cannot complete a bill inside two minutes without help, the screen is wrong and it goes back - not into a training manual.
Build the engine underneath
The ledger, the stock movements, the pricing rules, the printing, the backups. Every money path is covered by automated tests, and a full replayed week of trading is run against the books on every change. You see working screens throughout, so progress is something you watch rather than something you are told about in a status meeting.
Move your data across - and prove it
Your existing records come with you: spreadsheets, an old package, handwritten books, or all three. The copying is the easy half. The part that matters is the reconciliation afterwards, where we put your old totals and the new system's totals side by side and show them agreeing, line by line, before anybody is asked to trust it.
Go live beside you, then stay reachable
We are there on the day. Staff are trained on the real system with real stock, on their own machines - not on a slide deck. The old system stays available until you no longer want it. Afterwards: WhatsApp, a call, AnyDesk onto the machine, or in person if it needs hands. Systems keep growing, and that is normal.
The rules we don't break, even when it's slower.
These are not style preferences. Each one exists because breaking it produces wrong money - and wrong money is how software loses a business's trust permanently.
Money is whole cents
Never a decimal, never a float. Decimal money drifts, and one day an outstanding balance reads 0.0000098.
Quantities are exact
Held as integer thousandths, so half a metre and part of a kilo stay precise instead of accumulating error.
Every journal balances
Debits and credits must agree before a save is permitted. A mismatch fails loudly; nothing rounds a difference away.
History is append-only
A posted document is reversed, never edited. What happened stays visible, with who did it and when.
One event, one transaction
The document, the ledger lines and the stock movement are written together, or none of them are.
Reports are derived
Nothing is kept in a second place by hand, so two reports can never disagree with each other.
Remainders are allocated
Splitting money rarely divides evenly. The leftover cent is handed out deliberately, never dropped.
Backups you can restore
Verified by reading them back, kept off the same disk, and actually restore-tested rather than assumed.
Hardware never blocks work
Printer dead, network gone, scanner unplugged - the sale still completes and the books still balance.
Nothing sends itself
Messages to your customers are prepared and ready. A person always presses send.
Cost is never on display
Where cost must appear on a customer-facing screen, it appears in a cipher only your staff can read.
Below cost needs a person
A price under the floor is refused until somebody with the authority confirms it, and that override is recorded.
Upgrades never touch data
Program and data live in separate folders. A new version physically cannot land on your records.
Migrations are proved
Old totals and new totals shown agreeing, line by line, before anyone is asked to rely on the new system.
Tested before it ships
Automated tests cover the money paths; a full week of trading is replayed against the books on every change.
Your data stays yours
Open formats, documented, exportable on request at any time, for any reason, without discussion.
Support is the part most people get wrong.
A system is not finished on the day it goes live - that is the day it starts. Staff change, rules change, a branch opens, a new report becomes necessary. Being reachable when that happens matters more than anything we did during the build.
We are in Kandy and working out of Colombo, and we travel anywhere on the island when something needs hands on the hardware. Everything else runs remotely, and runs well.
WhatsApp, first
The quick question at eight on a Saturday evening. Usually answered the same evening.
AnyDesk onto the machine
Most things are looked at and fixed inside a few minutes, without anyone travelling anywhere.
On site when it needs hands
Hardware, a new counter, a fresh set of staff to train. Anywhere in Sri Lanka.
Fully remote, worldwide
Clients outside Sri Lanka are served entirely this way, in English, across time zones.
You own it. All of it. Permanently.
Software companies have a long tradition of holding a business's own records hostage - the export that mysteriously does not work, the proprietary format nobody else can read, the annual fee that has to be paid or the lights go out.
We think that is indefensible, so we have made it structurally impossible in the way our systems are built. Your data sits on your machine, in an open and documented format, and we will export it in whatever shape you ask for at any time, for any reason, without asking why.
What that means in practice
- Your data lives on hardware or an account that you control
- Open, documented formats - readable without our software
- A full export on request, at any time, at no charge
- No per-user licences and no renewal fee to keep working
- If you stop working with us, everything keeps running
- Your records stay organised and documented, never locked in somebody's head
The awkward questions, answered.
Fixed price, itemised, in writing, broken into stages, before any work begins. We arrive at it after the first stage - understanding the business - because quoting before that is guessing, and a guess always gets corrected in your direction later. There is no hourly meter, no licence per user, and no annual renewal required to keep the software working.
You will, and that is normal - a business that stops changing is in trouble. Small adjustments during the settling-in period are part of the project. Genuinely new work is quoted the same way as the original: fixed, itemised, agreed before it starts. We would rather you asked for the thing you need than worked around the software for a year because you were worried about the bill.
A fair question to ask anybody, and there are two honest answers. Practically: your system runs on your own machine, so it does not stop working because we are not reachable on a particular day, and your records stay in an open, documented format that belongs to you. More to the point: we only take on a project we are confident we can see all the way through. If we cannot commit to that, we say so in the first conversation rather than start something and leave you looking for somebody to finish it. That is the whole reason we turn work down.
They are exactly who we design for. The systems we are proudest of are used daily by people who had never used business software before - because the screen asks one plain question at a time, the common path is the fast path, and mistakes are reversible rather than frightening. We train on your real data, on your machines, on the day you go live.
A focused system - a shop counter, a costing tool, a stock book - is typically weeks rather than months. A full multi-module platform with migration from an old package is longer, and the migration is usually the part that sets the pace. You will see working screens early and often, so you are never waiting in the dark.
Taking over is something we do well and often. An old package, a half-finished build, a decade of spreadsheets, handwritten books - we lift the records out, reconcile them, and carry on properly in something modern. You keep your whole history; you simply stop fighting the software that was holding it. What we generally avoid is sharing one codebase with another team, because split ownership is how a system ends up with two half-built ways of doing the same thing and nobody able to say which is correct. And if your current system is genuinely fine and only needs one thing added, we will tell you that rather than sell you a rebuild.
We do, fairly regularly. If an off-the-shelf package genuinely covers what you need, custom software is the wrong answer and we will say so. If the timeline is not achievable at the quality we work to, we would rather lose the project than ship something that produces wrong numbers with our name on it. You will get that assessment in the first conversation, free, either way.
It starts with a conversation, not a quote form.
Tell us what your business runs on today - even if the honest answer is a notebook and a spreadsheet. Especially if it is. The first conversation is free and it is genuinely a conversation, not a sales call.