Web applications people use for eight hours a day.
Not a website. The interface an operation runs on, built for the person who did not choose it and cannot close the tab.
- 01Who uses it
- 02What it must not do
- 03How it is built
- 04What it costs to change
In productionGuru ERP and Guru POS are web applications in daily operational use in four countries, and both are open to inspect on the public demo tenant.
What goes wrong with operational web applications
Almost never the framework. Almost always one of these four.
Built for the demo, not the shift
It shows beautifully with eleven records and falls over at four thousand, which is the number the customer actually has.
The screen and the database disagree
Two people edited the same record and the last write won silently. Nobody finds out until a number is wrong.
Permissions bolted on afterwards
Roles were added once the first customer asked. Now every new screen is a security question nobody can answer quickly.
Slow in the one place that matters
The dashboard loads fast and the screen the shift supervisor opens two hundred times a day does not.
The parts that decide whether it holds up
These are the sections the structural plan lists individually. They are one build.
Frontend engineering
Component boundaries that match the data, not the mockup. Every state designed, including the four nobody demos.
Backend engineering
The rules live on the server. A validation that only exists in the browser is a suggestion.
API development
One contract, versioned, documented, and stable enough that the mobile client and the web client can disagree about when to upgrade.
Database architecture
Constraints and indexes chosen against the queries the application actually makes, measured rather than guessed.
Authentication and access
Sessions, roles and permissions modelled against roles that exist in the business, enforced server side on every path.
Integrations
Designed for the third party being down, slow, or returning something it has never returned before.
Performance
Core Web Vitals on the public surfaces, and time-to-interactive on the screen somebody opens two hundred times a day.
Accessibility
Keyboard paths, focus order and contrast checked against the standard rather than against an opinion.
What we build
Every platform we own is one of these, which is why the list is short and specific.
Operational dashboards
A live picture of what is where, what is moving and what happens next, correct while the work goes on.
Transactional interfaces
Tills, order entry, dispatch. Screens where a mistake costs money and the interface has to make the mistake hard.
Multi tenant back offices
One codebase, many customers, and configuration rather than a fork per client.
Customer portals
The resident, the buyer or the client seeing the same record the operator does.
Design systems
A component library with the states designed, not just the happy path. Empty, loading, partial, failed, denied.
Public sites that have to be fast
Server rendered and statically exported where it fits, because a page that needs JavaScript to say what it is does not exist for half the crawlers that matter.
What we build it on.
Grouped by what it does rather than shown as a wall of marks, and short enough that your own team can judge whether they could take it over.
- Frontend
- ReactTypeScriptNext.jsDesign systems
- Backend
- PythonDjangoFastAPINode.js
- Data
- PostgreSQLMySQLRedisData modelling
- Cloud
- AWSDockerCI/CDInfrastructure as code
Questions we get asked.
The objections specific to this line, answered here rather than in a first call.
Can we see a web application you built, running?
Yes. Guru ERP and Guru POS run in a public demo tenant seeded with generated data, and the credentials are printed on the product pages. It resets overnight, so you can change anything in it.
Which frontend framework do you use?
React with TypeScript by default, and we will use yours if you have one and a team who maintains it. The framework is close to the least consequential decision on an operational application; the data model and the access model are the ones that are expensive to get wrong.
Do you redesign an existing application or rebuild it?
Whichever costs less over three years, and we will tell you which we think it is before you commit. A rebuild that is really a redesign is the most common way an application budget disappears.
Where to go next
You do not need to arrive with a perfect technical specification.
Start with the problem. Tell us what is slowing the business down, what you want to build, or where the current system is failing. We will tell you the shortest path forward, including when that path is not us.
Start your build