Web apps that survive their second year
You get the dashboard, portal or product your business runs on. Senior engineers build it, and stay on it after launch.
The short version
4 things that decide this
- 01A web app is software people log into and work in. A website is something they read. The difference decides your whole budget.
- 02Hashlogics has 22 systems in production, including TrialTriage, which handles oncology patient data with field-level encryption and an audit trail across 23 tracked actions.
- 03Most web apps fail after launch, not during the build. Integrations change, traffic shifts, and the vendor has moved on.
- 04We put the maintenance decision in the contract at the start: an agreed service level with us, or a documented handover to your team.
Nothing breaks on launch day
Launch day goes well. Everyone is watching, the load is light, and the bugs that show up get fixed within the hour. Month seven is the dangerous one.
By then a payment provider has changed an API and a table has grown past what the queries assumed. The engineers who built it moved to another client. Your app does not go down. It gets slower, drops the odd record, and your team starts keeping a spreadsheet on the side.
That spreadsheet is the real signal. When people work around your software, it has already failed.
What is running now
Counted, not estimated
22
systems in production
23
tracked actions in TrialTriage's audit trail
1000+
players held in sync by Elevent at once
38
countries using Broollie
What we actually build
Named products, running for named clients.
Multi-tenant products
WAIQ standardises SOPs, workflows and training across every site and role for multi-site operators. One platform, separated tenants, leaders watching readiness live.
Regulated systems that hold patient data
TrialTriage ranks eligible oncology trials from de-identified data, with a nurse approving every result. HIPAA-aligned, with PHI masking, multi-factor login and an audit trail across 23 tracked actions.
Operations dashboards that replace six tools
TomoDomo runs residents, rooms, bookings and payments for a Swiss coliving operator in one place. Applications flow through to a booked room with nobody rekeying a spreadsheet.
Real-time apps under load
Elevent holds a live trivia game in sync from ten players to over a thousand, on Socket.IO with a Redis adapter across multiple servers. Real time is an architecture choice, made before the first screen.
- ScopeFree call. What breaks today?
- ModelData and roles settled before code.
- BuildSenior engineers, live environment.
- HardenLoad, access, logging, backups.
- RunService level, or trained handover.
Model comes before Build because permissions are the thing nobody retrofits. TrialTriage separates admins, nurses, patients and insurers, and that had to be true in the database before it was true on screen.
AI inside the product, not a chat box in the corner
A chat widget answers questions about your product. A useful AI feature does the work the product exists for. Those need different builds.
Greenlight scores how sustainable a company really is by reading laws, certifications and controversies rather than the company's own reporting. It covers over 50 ESG topics with 10 to 15 independent sources each, then hands an expert a draft assessment to verify. That is a product feature with a person in the loop, not a bot bolted on.
- Retrieval grounded in your own documents, so answers can be traced back to a source.
- A person approves anything the business cannot take back.
- Scored test cases before release, re-run whenever a prompt or model changes.
- The model name lives in configuration, because every model gets retired eventually.

What we build on
Frontend
Backend and data
Run
Shipped integrations
Web apps running now
TrialTriage
AI clinical trial matching for oncology nurses and insurers.
Read the case study →
Greenlight
AI ESG and sustainability research platform.
Read the case study →
TomoDomo
Coliving operations platform for TomoDomo, Switzerland.
Read the case study →
SmartREI
Real estate investment analysis and advisory platform.
Read the case study →
“They really help you understand the problem and deliver solutions in a short time frame.”
Johannes Peter · CEO, TomoDomo Coliving
The usual web project against ours
Both hand over a working app. The difference shows up in the year after.
| Criterion | The usual approach | How we build |
|---|---|---|
| Who writes the code | Seniors pitch, juniors build once the contract signs. | The engineers on the scoping call are the ones who ship it. |
| Permissions and roles | Added when the first customer asks for them. | Modelled in the database before any screen is designed. |
| AI in the product | A chat widget over the docs. | A feature that finishes work, with a human approving what matters. |
| After launch | Support ends when the invoice clears. | An agreed service level, or a documented handover. Decided up front. |
| Ownership | Deployed to the vendor's accounts. | Your code, your cloud accounts, your keys, from day one. |
01What counts as a web application, rather than a website?
A web application is software people log into and do work in, and a website is something they read. Logins, records, permissions and workflows put you on the application side. That distinction sets your budget, because an application needs a data model, roles and a plan for the day the data grows.
02Can you rescue a web app that another team already built?
Usually, and that is exactly where the paid two-week diagnostic applies. We read the codebase, find what is load-bearing, and tell you what is worth keeping against what should be rewritten. A new build needs no diagnostic, so that scoping call is free.
03Our app slows down as data grows. Is that a rewrite?
Rarely. Most slowdowns come from a handful of queries and a missing index, and they get worse quietly until one page times out. We measure before proposing anything, because a rewrite sold without a measurement is a vendor protecting its own margin.
04How do you keep one customer's data away from another's?
Separation is enforced in the database, not in the interface. Trading CoPilot and ExtraaJe both use Postgres row-level security through Supabase. A query that forgets a filter returns nothing, not someone else's records. Multi-tenant products get this decided in the first week.
05Do we own the code and the cloud accounts?
Yes, all of it, and it lives in your accounts from the first deploy rather than being handed over at the end. That includes the repository, the infrastructure and the keys. Anything less means your business depends on a vendor answering an email.
06Can the app connect to the systems we already run?
Yes, through their APIs, and that is nearly always cheaper than replacing them. Across our builds that has meant Stripe, QuickBooks, Twilio, HubSpot, Google Calendar and a government right-to-work service. We only propose replacing a system when keeping it costs more than it saves.
07What does a web app cost to build?
Cost is driven by how many user roles exist, how many outside systems the app touches, and whether it must satisfy an auditor. Naming a range before seeing the workflow is guessing, and the guess protects nobody. The scoping call is free, and the price is fixed before the build starts.
08Is this for enterprises or startups?
Both, and they buy different things. A startup wants one workflow live and evidence that users return, so we ship narrow and instrument it. An enterprise wants audit trails, role separation and integration with what already runs, which is what TrialTriage needed across four user types. The engineering standard does not change between them.
Related
- Custom software development →The wider build, web and mobile together.
- Mobile app development →An app that works with no signal.
- Next.js vs React →Which one your product actually needs.
- Postgres vs MongoDB →The database choice that is hardest to reverse.
- Why you never use floats for money →The bug that shows up in reconciliation, months later.

