Custom web app development Software shaped like your business.
Marketplaces, council finance and engagement platforms, unified ERPs, operations systems and internal dashboards. Built on sovereign Australian hosting, with source-code escrow from sprint one and a data exit you could actually use.
100% compliance against 194 published requirements · 14 weeks build to UAT · A major Victorian council finance platform · Public-sector clients are named by sector and jurisdiction only
Seven ways rented
software costs you.
None of these show up on the invoice. They show up in the hours your team spends holding the gaps together, and in the decision you cannot make because the number is in three systems.
The software fits, so your process bends
Off-the-shelf tools push your work into someone else's shape. Every workaround your team invents is a step nobody wrote down and nobody can hand over.
- The field everyone knows to leave blank
- The status that really means something else
- The spreadsheet kept alongside, because the tool cannot do it
Per-seat pricing scales against you
The better your year, the bigger the bill — and the price is set on a roadmap you do not control.
- You hire five people, and your software bill rises
- Prices move on the vendor's schedule, not yours
- One council we designed for faced 9–14% list rises a year on its finance SaaS
Nine vendors, and the tax of connecting them
A regional shire we worked with ran nine disconnected systems. The cost of holding them together grows every year.
- Nine contracts to renew
- Nine separate logins and user lists
- Nine datasets that have to be reconciled
- Nine roadmaps you have no say in
No single view of the operation
Any question that spans two tools becomes a spreadsheet somebody rebuilds by hand every month.
- Jobs live in one tool
- Leads live in another
- Invoices live in a third
- “How much did we make on that job?” lives nowhere
Reports you cannot change
The number your executive asks for is never one of the fourteen the vendor ships.
- So it gets exported to a spreadsheet
- Pasted, reformatted and emailed around
- And by the time it lands it is a week old
Your data sits in somebody else's system
Shared user directories and shared databases, alongside hundreds of other organisations. For a regulated or public-sector buyer that is a governance question, not a technical detail.
- Who else is on the same database?
- Which country is it stored in?
- Who holds the encryption keys — you, or the vendor?
An exit nobody has ever tested
Leaving is theoretically possible and practically unbudgeted. If it is not written down before you sign, it does not exist.
- Is there a copy of the code you can reach?
- What format does your data come out in?
- How much notice do you have to give?
Judge it over ten years.
Custom is not automatically right. It becomes right when the process is the business, when the integration tax between tools is compounding, or when the data cannot live in somebody else's tenancy.
8
of 9 vendors retired
A regional Victorian shire council's ten-module ERP replaced eight of its nine incumbent systems on a single data model.
10
year whole-of-life view
Custom is judged over a decade, not a subscription year. That shire's envelope came in at A$5.18M against A$8.4M–15.8M alternatives.
194
published requirements
A major Victorian council's finance platform was designed against its published requirement set and answered all of them.
5
of 5 IAP2 levels
A metropolitan Victorian council's engagement platform covers all five participation levels, where the SaaS it replaced covered three.
14
weeks, build to UAT
Custom does not have to mean slow. The finance platform reached user acceptance testing in fourteen weeks.
3
SaaS tools consolidated to one
Msaha's operations team replaced three disconnected tools with one platform, plus an AI assistant they use daily.
And we will tell you when the answer is to buy, not build.
If an off-the-shelf tool covers ninety per cent of what you need, and the last ten per cent is a preference rather than a hard requirement, custom is the expensive way to get there. We would rather say that on the first call.
Where custom does win, it wins on three things:
- Your process fits without a workaround
- The ten-year cost is lower than renting
- You own the thing at the end instead of renting it
If none of those three is true for you, buy the tool.
Major Victorian council · finance
100%
Compliance · 194 published requirements
14 weeks from build to user acceptance testing
Same engagement · 10-year view
34%
Lower 10-year cost than the SaaS comparator
Sole-tenant AWS Sydney with Melbourne disaster recovery
Regional Victorian shire · ERP
8 of 9
Incumbent vendors retired
A$5.18M whole-of-life against A$8.4M–15.8M alternatives
Figures are from live and completed client engagements and are dated in each engagement record. Public-sector clients are identified by sector and jurisdiction only. Year-three automation figures are programme targets, not results.
Ten things happen on every platform. Here they are, in order.
This is the part most agency pages keep vague, and it is the part a procurement officer will ask about first. So it is written down.
Map the work before anyone designs a screen
We sit with the people who do the job and write down what really happens, including the parts that live in somebody's head.
- Who touches a job, and in what order
- What they open, and what they re-type
- The rules nobody ever wrote down
- The steps that only Sharon knows
Design the data model first
The data model is the list of things the system knows about and how they connect. It is the expensive thing to change later, so it is agreed before a line of code is written.
- One place a customer exists, not five
- A job that knows its own quote, invoice and photos
- Reviewed and signed off before development starts
Plan the integrations honestly
Two-way sync with the systems you are keeping. We name which way each field flows and what happens when both sides change — because that is where integrations actually fail.
- The systems: ERP, payroll, CRM, accounting, payments
- Per field: which system is the boss
- Per field: what happens when they disagree
Build in sprints you can see
Weekly demos on your real data, so you are testing the thing rather than reading a status report about it.
- You see working software every week
- You click it yourself, on real records
- If something is wrong, it is wrong in week three, not at handover
Build permissions in from the start
Adding permissions to a finished platform is a rebuild wearing a smaller word, so it goes in at the beginning.
- Who can see it
- Who can change it
- Who signs it off
- What the record shows afterwards
Make the audit trail impossible to quietly edit
If a decision can be questioned in three years, the record of it has to survive three years.
- Every change stamped with who, what and when
- Nobody can edit history, including us
- The council engagement platform: a seven-year log, with the council holding the keys
Design for the mobile reality
Field teams get an app built for a phone, not a desktop screen squeezed onto one — and it keeps working when the signal drops.
- FixCare's tradies: a mobile app with photo capture on the job
- FixCare's dispatch team: a console built for a desk
- Two different jobs, so two different screens
Add AI where it removes work, not where it demos well
The AI writes the first draft. A person signs the final answer. That order never reverses.
- Writing the first draft of a commentary or a reply
- Answering plain-English questions about your own data
- Sorting incoming requests to the right team
- Matching, scoring and suggesting — with the reasoning shown
Move the data properly
The migration is usually a bigger job than the feature list, so it is scoped as one.
- Pull the data out of the old systems
- Clean it, and map it onto the new model
- Do a practice run, and check the totals both sides
- Only then, the real switchover
Hand it over so you could run it without us
The measure of a good handover is that leaving would be inconvenient rather than impossible.
- A copy of the code, held where you can reach it
- Written documentation and training for your team
- A data exit with a notice period and a defined format
You see working software every week.
- Discovery
Map the current state
Workflows, systems, data, pain points and the decisions the platform has to support. For public-sector work this is also where the requirement set and the compliance overlays get read line by line.
- Architecture
Data model, APIs and hosting
The schema, the integration map, the identity model, the hosting posture and the disaster-recovery position — agreed and documented before development starts.
- Build
Sprints with weekly demos
You see working software every week on real data. Feedback goes into the next sprint rather than into a defect list at the end.
- Migration
Move the data, reconcile it, agree it
Legacy systems and spreadsheets extracted, mapped and dry-run before cutover, with a reconciliation both sides sign off. Nothing goes live on data nobody has checked.
- Launch
Train, hand over, support
Team training, written documentation, escrow lodged, and a support arrangement for the features and fixes that follow. Complex platforms are phased — one council programme runs eighteen months, starting with a free working prototype.
Dashboards run two to four weeks, marketplaces four to eight, AI-heavy tools six to twelve. Enterprise and government platforms are phased over months, and we scope every one in detail before a sprint starts.
Real screens from platforms running today.
Not mock-ups. Every screen below is from a platform in production, and each one links to the engagement it belongs to.
What those screens are actually doing.
Quotes built and sent from one screen
Line items, totals, PDF export and status tracking, so a quote stops being a spreadsheet and an email thread. FixCare's team builds, sends and tracks from the same place they take the job.
See how FixCare uses thisMatching that shows its working
Location, availability, equipment and budget weighed into a recommendation, with the reason each match scored well. The team trusts it because it can see why, not because it was told to.
See how Msaha uses thisEvery lead tracked, nothing falling through
Pipelines built around how the team actually works — filter and act by status, source or value, and see at a glance what is new, what is hot and what has gone quiet.
See how Sell My Car uses thisInvoices generated from the job, not retyped
Raised from the quote, tracked to payment, chased automatically and exported in your branding rather than a generic accounting template.
See how NexData uses thisA two-sided marketplace, both sides first-class
Role-based dashboards for hosts and tenants, searchable listings with real filters and an onboarding flow built for each side of the transaction rather than one side plus an apology.
See how Msaha uses thisWho is where, and what is next
Visual dispatch boards and workload views that stop double-bookings and missed jobs. Assign, reschedule and track completion from one screen built for field teams.
See how NexData uses thisMessaging that keeps the deal moving
Conversations in the platform with notifications and full history, instead of a decision buried across email, text and someone's phone.
See how Msaha uses thisWhere the business is actually growing
Demand by city, region or zone, so outreach and resourcing follow the map rather than the loudest anecdote in the room.
See how Msaha uses this
The terms, before the feature list.
A platform is a ten-year decision. These are the clauses a serious buyer asks about first. Each one is named, then said again in plain English, because these terms are usually where the jargon does the most damage.
Source-code escrow from sprint one
A copy of the code is held by an independent third party, so it survives us.
Not at go-live and not on request — lodged from the first sprint, so it exists somewhere you can reach even in the worst case.
- Lodged from week one, not at the end
- Held by an independent party, not by us
- The shire ERP: held with ECI Australia at go-live
Sole-tenant, sovereign hosting
Your own copy of the system, on servers in Australia — not a shared one.
Your user directory and your database are not shared with hundreds of other organisations.
- Council finance platform: AWS Sydney, with Melbourne as the backup site
- Shire ERP: an IRAP-aligned setup, plus an on-premises option
- Nobody else's data sits in the same database as yours
A 30-day data exit
If you leave, you get everything back inside a month, in a format you can use.
Leaving should be a project with a date on it, not a negotiation you enter from a weak position.
- A notice period written into the contract
- An export format agreed before you sign
- Thirty days on the council finance platform
An uptime commitment in writing
A promised percentage of the year the system will be available, in the contract.
And a tested answer for how fast it comes back if something serious goes wrong.
- Council finance platform: a 99.9% uptime service level
- Engagement platform: a four-hour recovery target
- That target was drill-tested at two hours forty-one minutes
An audit trail nobody can quietly edit
A permanent record of every change, which not even we can alter afterwards.
If a decision can be questioned in three years, the record of it has to survive three years.
- Every change stamped with who, what and when
- Engagement platform: seven years of it
- With the customer holding the encryption keys
Accessibility and sign-in, specified not assumed
Usable by people with a disability, and using the login your staff already have.
For a public-sector buyer these are requirements, not nice-to-haves, so they are written into scope.
- WCAG 2.2 AA — the accessibility standard, stated in the contract
- A six-language launch on the engagement platform
- Microsoft Entra ID single sign-on, so there is no extra password
Whole-of-life costing, not a subscription price
The ten-year number, not the monthly one.
The comparison that matters includes the licences you will not be paying and the annual increases you will not be absorbing.
- Licence fees you stop paying
- Integrations you stop maintaining
- Price rises you stop absorbing
- Finance platform: 34% below the SaaS comparator over ten years
Built to grow without starting again
The same architecture works at a hundred records and at a hundred thousand.
Modern infrastructure, encrypted in transit and at rest, with real backups and monitoring.
- Encryption on the wire and on the disk
- Row-level security, so people see only their own data
- Backups that have been restored, not just scheduled
Platform work leans on two of the six stages.
Compound is how our team works on any engagement — six stages every change passes through. A platform build puts most of its weight on these two.
Countersign
Nothing reaches a live account with one name on it.
Every migration script, permission change and release is checked by a second person before it runs. On a platform holding finance or citizen data, a single unreviewed change is the incident you spend a fortnight explaining.
Ledger
Every change we make becomes a record you can open.
Releases, migrations, decisions and access changes land in a dated record rather than in someone's memory. It is the same discipline as the immutable audit log inside the platforms we build — applied to how we build them.
Four platforms. Four real numbers.
Three of these are government engagements, so they are named by sector and jurisdiction only. That is a policy, not a hedge.
- Local government · Victoria100%compliance · 194 requirements14 weeks build to UAT · 34% lower 10-year cost than the SaaS comparatorMajor Victorian council
- Local government · Victoria5 of 5IAP2 participation levels$33K five-year saving · 12K+ year-one participants · sole-tenant Australian hostingMetropolitan Victorian council
- Local government · Victoria8 of 9incumbent vendors retiredA$5.18M whole-of-life · 17,800 hours a year targeted for automation by year threeRegional Victorian shire council
- Property maintenance · NSW8weeks, greenfield to liveCustomer portal, tradie mobile app and admin console · replaced Excel, WhatsApp and paperFixCare
Before you ask us anything
Here is what everybody asks first.
Platforms, answered.
Cost, timing, contracts, ownership and escrow, hosting, and what happens when a build is not going the way anyone hoped.
The first call is free and there is no deck.
Book a scoping callOff-the-shelf tools force you to adapt your workflow to their features. We build tools that fit your exact process — no compromises, no unused features, and no per-seat licensing that scales against you as you grow. The trade is that a custom platform is a bigger decision up front and is judged over ten years rather than over a subscription year, which is exactly how we cost it.
It is scoped and priced per engagement, and the number you get is a whole-of-life one rather than a monthly headline. For comparison, a regional Victorian shire council's ten-module ERP was designed inside an A$5.18M whole-of-life envelope against A$8.4M–15.8M alternatives, and a metropolitan council's engagement platform came in at $470,106 built versus $503,262 of SaaS over five years. Those are those engagements, at that scale — your number comes from discovery, in writing, before anything is committed.
Simple dashboards take two to four weeks. Marketplace platforms take four to eight weeks. Complex AI-powered tools take six to twelve. Enterprise and government platforms are phased over months rather than weeks — one council programme runs eighteen months and starts with a free working prototype so nobody commits on a slide deck. We scope every project in detail before starting.
Ownership, escrow and exit are written into the agreement before work starts. Source-code escrow is lodged from sprint one rather than at go-live, and the data-exit process has a defined notice period — thirty days on the council finance platform — with a defined export format. Leaving should be a project with a date on it, not a negotiation you enter from a weak position.
For Australian engagements, sovereign hosting in Australia — AWS Sydney with Melbourne disaster recovery on the council finance platform, and an IRAP-aligned posture with an on-premises companion option on the shire ERP. Sole-tenant means your identity store and database are not shared with hundreds of other organisations. Encryption in transit and at rest, row-level security, customer-controlled key management and immutable audit logging are specified in scope, not assumed.
Yes. We build API integrations with practically any platform — CRMs, ERPs, payroll, accounting software, marketing tools, payment gateways and custom APIs. The council finance platform runs two-way sync with Oracle Fusion ERP and Aurion or Workday payroll. What we insist on is naming, up front, which direction each field flows and what happens on a conflict, because that is where integrations actually fail.
The build is a scoped engagement with agreed phases and agreed deliverables, not a rolling lock-in. Ongoing hosting and support are a separate arrangement you can leave, and the escrow and data-exit terms exist precisely so that leaving is possible. We would rather keep the work because it is producing than because a clause says you have to stay.
You find out in week three, not at handover, because you are testing working software on real data every week. Where something is wrong we change it inside the programme. If the honest answer is that a configured off-the-shelf tool would serve you better than a custom build, we would rather say that during discovery than take the money — it is a shorter conversation and a much better reference.
We offer managed hosting and maintenance covering uptime monitoring, security updates, backups and ongoing support for feature requests and fixes. Where a service level is part of the engagement it is written down — the council finance platform carries a 99.9% uptime commitment and a four-hour recovery objective that was drill-tested at two hours forty-one minutes on the reference architecture.
We design for the person doing the job, and every interface is built around how your team already works — but we still run full training sessions and ship written documentation at launch, because a platform nobody was shown is a platform nobody adopts. Field teams get a mobile-first app rather than a desktop screen squeezed onto a phone.
Yes. We build on modern, scalable infrastructure with real backups, monitoring and structured data your team can query. Whether the table holds a hundred records or a hundred thousand, the architecture is the same one — there is no re-platform waiting for you at the point where things start going well.
Yes, and it is a large part of what this team does. Recent engagements include a finance and budgeting platform for a major Victorian council, a community engagement platform for a metropolitan Victorian council and a ten-module ERP for a regional Victorian shire. Those clients are presented as sector and jurisdiction only — public-sector and cultural clients are never named on this site, which is a policy we apply to every reference, page and asset.
A platform is rarely the only piece.
Most platform engagements sit alongside two or three of these. If you are not sure which order to do them in, that is exactly what the first call is for.
- Web designThe public-facing half — landing pages, business websites and online stores built around the click that pays.
- Mobile app developmentWhen the field half has to be a store download rather than a browser tab — iOS and Android, and what App Store and Google Play review actually involves.
- AI systems and automationThe agents, automations and private model deployments that sit inside these platforms, and what they are honestly good at.
- Public sectorHow we work with councils and agencies — anonymised engagements, procurement posture and the compliance overlays we build to.
- Technology divisionThe engineering side of SoudCoh, and the platforms it has shipped.
- Filling the platform once it is liveFilling the platform with work once it is live, and proving which channel paid for itself.
- Measuring what the platform doesHow a phone call or a form becomes a number you can act on. A platform without measurement is a filing cabinet.
- The technology division that delivers theseHosting arrangements, source-code escrow, support terms and the governance a larger build has to satisfy.
- Platforms we have built and written upGreenfield-to-live timelines, what replaced what, and what the operational change was worth once it shipped.
Before commissioning anything custom, two briefings are worth the time: how to tell whether an off-the-shelf platform will actually fit, and what dirty data costs once a system is live.
Bring us the problem
Tell us what your team is doing by hand and which systems refuse to talk to each other. We will map it, tell you whether custom is genuinely the right call, and put a whole-of-life number against it.
No pitch deck. A real conversation, and an honest answer about build versus buy.















