Services
We build for other people, the same way we build for ourselves.
DetSol takes on SaaS products and new software projects for clients, built the same way as its own: designed before it is typed, shipped as a working slice rather than a big-bang launch, and operated in production afterwards.
What we build
Seven things, each with the work that proves it.
Every capability below is followed by where it already runs in production. A claim without that line does not belong on this page.
SaaS product development
Multi-tenant applications where each customer gets an isolated workspace, its own users and roles, and its own branding — with the tenant derived from the request rather than trusted from a URL parameter.
Where it already runs
Stockroot runs exactly this: per-business workspaces on their own subdomains, JWTs carrying a company ID, and tenant alignment enforced by the API rather than the client.
Web applications
React and Next.js front ends with a Node and Express API behind them, on PostgreSQL. Server-rendered where the content needs to be crawlable, client-rendered where the app needs to be fast to interact with.
Where it already runs
Stockroot is a React 19 and Vite application with fifty-plus screens; this site and expenddy.com are Next.js App Router builds whose every public page is prerendered to static HTML, so the content is in the markup before any JavaScript runs.
Mobile applications
React Native apps that share one API with their web counterpart, including push notifications, offline-tolerant flows and store submission.
Where it already runs
Expenddy is live on Google Play as a React Native app, sharing the ExpenddyApi backend with its web client, with Firebase push for expenses, invitations and settlements. SaveBox is a second React Native app on Google Play, writing finished files into the device's own gallery.
Roles, permissions and audit trails
Access control that actually restricts — permissions at the level of a module and an action, checked on the server, with a record of who changed what.
Where it already runs
Stockroot ships ready-made roles plus custom roles built from individual permissions, per-widget dashboard scopes, and separate permissions for approval steps such as confirming a purchase order or approving a stock adjustment.
Ledgers, reporting and documents
Records that are written once and read everywhere, reports built on them, and the PDFs and spreadsheets a business actually needs to hand to someone else.
Where it already runs
Stockroot records every receipt, delivery, return, transfer and payment once, keeps customer, supplier and bank ledgers from those records, exports its reports to CSV, Excel or PDF, prints documents from A4 to 80 mm thermal, and imports catalogues from Excel or CSV.
Background jobs and media processing
Work that is too slow for a request — queued, processed by workers, tracked with live progress, and cleaned up afterwards.
Where it already runs
SaveBox runs downloads through a Redis-backed queue and a worker service, converts every file with FFmpeg to a format any phone plays, reports progress to the app, and deletes server copies automatically after 24 hours.
Localisation and accessibility
Interfaces that work in more than one language and more than one reading direction, and that a keyboard and a screen reader can get through.
Where it already runs
Expenddy's Android app mirrors its entire interface for Arabic rather than swapping strings into a left-to-right layout; this site was contrast-checked against real painted backgrounds rather than assumed.
Running it after launch
Deployments, database migrations, backups, uptime and the support inbox. The part that decides whether software is a product or a portfolio piece.
Where it already runs
Every live DetSol product is operated by the same three people who built it — there is no separate ops team to hand a release to.
Stack
What we actually use.
This is the stack in production behind Stockroot, Expenddy and this site — not a list of everything anyone here has touched.
Front end
- React 19
- Next.js (App Router)
- Vite
- Tailwind CSS v4
Mobile
- React Native
- Firebase push
Back end
- Node
- Express
- PostgreSQL
- Redis queues
- FFmpeg
Delivery
- PWA
- PDF generation
- XLSX / CSV import & export
How it starts
Three steps, and the first one is a conversation.
Tell us the problem, not the spec
What the business does today, where it breaks, and what a good outcome looks like. If software is the wrong answer we would rather say so at this point than three months in.
We come back with a shape
The workflows worth building first, what they depend on, and what we would deliberately leave out of a first release. Narrow enough to be wrong about cheaply.
Build the slice, then widen it
One workflow end to end, in production, with real users on it. What gets built next is decided by what that usage shows rather than by a document written before anyone had used anything.
On pricing, honestly
There are no rates published on this page, because a number without a scope attached is not information. Tell us what you are trying to build and we will come back with what we think it takes — and if we think it is the wrong thing to build, we will say that instead.
Insights
How we think about the work
Got something that needs building properly?
You will be talking to the people who would build it, not to a sales team relaying it back to them.