06 / Software & automation
One application in the browser — for your team and for your clients
We build systems people use every day: roles and permissions, data in one place, and performance verified against a realistic load rather than an empty database.
An application people use every day rarely fails loudly. It usually just gets slower: a list takes seconds to load, a report gets produced by exporting to a spreadsheet, and a new department gets access "on the shared account for now". Every one of those workarounds looks minor, and every one costs the team hours a week.
We build web applications so those workarounds are never needed. We start from the data and permission model — who sees what, who can approve, what stays in the change history — and design the interface for a real load: tens of thousands of records and dozens of concurrent users, checked against data close to production. It runs in a browser, so everyone works on the same version and an update needs nothing from the user.
You get the scope and the price in writing before anything starts, and larger builds are split into stages that each leave the application usable. We are equally direct about when a web application is the wrong tool: if the work happens in the field, without signal and with a camera in hand, a mobile application fits better — and we will say so rather than sell the browser as the answer to everything.
What the service covers
Roles, permissions and many people at once
Everyone sees what they should and nothing beyond it. The permission model is designed before the interface — who can approve, who can only view, what stays in the change history — so the application can be opened up to a new department or to clients without being rebuilt from the inside.
- Accounts, sign-in and account recovery
- Roles and permissions at the data level
- Change history and an audit trail
- Several people working on the same record
Client and partner portals
Fewer calls and emails asking "where is this up to". A client or partner signs in and checks the status themselves, downloads documents and raises requests — and your team answers only the questions that genuinely cannot be self-served.
- Status, history and billing views
- Documents and downloadable files
- Requests and correspondence in one place
- Invitations and self-service registration
Dashboards and working with large data sets
A report without the monthly export to a spreadsheet. Filtering, sorting and search are computed on the server, and metrics are prepared so a view opens in a fraction of a second even when the table holds hundreds of thousands of rows.
- Server-side filtering, sorting and search
- Metrics and reports computed continuously
- CSV and XLSX export
- Charts and comparison views
Access from any device, nothing to install
The same system on a laptop in the office and a phone in the warehouse. The interface is designed for both, and where it helps, the application can be installed straight from the browser like a native one — no app store and no release-approval process.
- An interface that works on phone and tablet
- Installable from the browser (PWA)
- One version for every user
Rebuilding an application that stopped keeping up
The application slows down, every release breaks something elsewhere, and adding a feature takes weeks. We start by measuring rather than rewriting: we show what specifically is slow and why, then fix it in stages — without freezing development for six months.
- Performance measurement and bottleneck analysis
- Query and data-layer optimisation
- Staged clean-up of code and architecture
- Migration to current library versions
Typical situations
A list that loaded in a second at a thousand records now takes ten.
The whole team works on one account, because the application has no concept of permissions.
Clients ring for a status update because there is nowhere for them to check it themselves.
Every month somebody exports the data to a spreadsheet to build the board report from it.
What you can count on
- One place of work for the team and for clients — nothing to install, and no versions drifting apart between people.
- A permission model that lets you add a department or a client without rebuilding the application.
- Performance verified against production-like data, with headroom for growth worked out.
- Code in your repository, with tests and documentation — ready for your own team to take over.
Technologies
- TypeScript
- React
- Next.js
- Node.js
- PostgreSQL
- Supabase
- SQL
- Docker
- AWS
Projects in this area
Selected work where this scope was part of the delivery.
IZAPzoo
IZAP, a brick-and-mortar retail chain, wanted its own loyalty programme on customers' phones instead of plastic cards. We designed and built the whole thing — Android and iOS apps, a cloud backend and an admin platform — and store staff now run points, rewards and promotions themselves.
Loyalty app and admin platform
ThomasSeekerAI
A private trader was combing OLX, Otomoto, Allegro and a handful of smaller sites by hand, every day, for things worth reselling. We built an internal tool that takes that work over: searches described in a plain sentence run on a schedule in the background, the noise is filtered out, and what is left is ranked by how good the opportunity looks — hours of manual browsing turned into an automated job.
Private opportunity-discovery tool with AI-assisted analysis
Questions about this service
It comes down to where the work happens. At a desk, in a warehouse or on any client's computer, the browser wins: one version for everyone, updates without an app store or release approval. A mobile app earns its place when you need the camera, work without signal, push notifications or one-handed use. Sometimes the right answer is both: a browser-based system for the team and a light mobile app for work in the field.
That is a question about architecture and hosting, so we answer it with numbers from your project rather than a general claim. Before we start we agree how many users and how much data are realistic over the next few years, and design the database and query layer for that. Performance is then checked against production-like data — an empty database is always fast.
Yes — and we run the project so that is genuinely practical, not just formally possible. The code lives in your repository, the stack is standard and widely known, and the handover covers architecture documentation, a walkthrough of the key decisions and a code review session with your developers. You can keep development on our side or take the application over entirely.
As standard: encrypted transport, secure password storage, permissions checked server-side on every request, least-privilege access, backups with restores actually tested, and dependencies kept up to date. If your sector requires a formal security audit or penetration testing with a certified scope, we will say so plainly and tell you what falls outside what we do.
Related services
Software development
Software written for a specific problem: internal systems, MVPs, integrations and taking over an application from another vendor — designed around how your company works, not the other way round.
Mobile apps
We build Android and iOS apps from one React Native codebase — loyalty, customer-facing and internal — and run them from design through store release to maintenance after launch.
Databases and data
PostgreSQL design and optimisation, migrations, reporting and automated data validation, so the numbers across your company finally agree.
Tell us who is going to work in this application
Tell us what the process looks like today and where it jams. You'll get a concrete answer: what we would build in the first stage, what we would deliberately leave out of it, and what it may cost.