Custom web development: the system your operation needs
When the operation lives in spreadsheets, on paper or in a system that has run out of road, off-the-shelf software is not enough. We build the web application that is missing — users, data, integrations and a panel your team can actually use — and hand it over with the code in your name.
How people realise they need this
- The data lives in three different spreadsheets and none of them agree.
- Someone spends hours retyping what comes out of one system and goes into another.
- Nobody knows how much stock there is, how much was sold or who handled what, without sitting down to add it up.
- The system they bought eight years ago works, but nobody can change it or get the data out.
- Every new hire takes weeks to learn a process that only exists in one person's head.
What we build
The data model first
Before a single screen, we work out what entities your business has and how they relate. A badly designed model gets paid for over years; a well designed one makes adding features cheap.
Users, roles and permissions
Who sees what and who can change what. It is one of the first things asked for and the last thing that gets added well if it was not there from the design.
Integrations with what you already use
Invoicing, payments, spreadsheets, messaging, a supplier's system. If it has an API we connect it; if it does not, we automate the bridge with Python or n8n.
A panel that needs no manual
The person using it every day is not the person who bought it. Screens are built for whoever is entering data at seven in the morning.
Automated deploys from day one
CI/CD set up from the start: every change passes tests and a typecheck before it ships. No uploading files to a server by hand.
The code is yours
Repository in your name, a standard open stack, a database you can export. If you continue with another team tomorrow, nothing proprietary stops you.
How we work
Four steps, no mystery and no invented phases to make the proposal look bigger.
- 01
Understand the operation
Before talking technology, we work out how you operate today: what gets entered, who enters it, where it jams. Half the problems get solved by changing the process rather than programming it.
- 02
Scope the first version
We do not start with the whole system: we start with the part that removes the biggest pain. It ships sooner, costs less and lets you decide what comes next with the system already running.
- 03
Build with continuous delivery
We do not disappear for two months and come back with something finished. Every time a piece is done it gets deployed and you see it working with your data.
- 04
Deploy, adjustments and maintenance
We ship, and you get two weeks to request changes and fixes on what was delivered. After that, three months of maintenance and warranty are included.
What it costs
From US$1,000
We charge per project, not per hour: you know the number before we start and it does not change if the work takes us longer than expected. A system with users, a database and integrations starts above a marketing site; the exact number comes out of the scope, and we settle it before writing the first line.
What moves the price
- How many entities the system has and how tightly they are related.
- Whether different user types need their own roles and permissions.
- Integrations: how many outside systems have to be connected and whether they have an API.
- Design: whether it has to be commissioned from scratch or there is an existing identity to apply.
What is included
- CI/CD and deploys configured.
- A modelled and documented database.
- Two weeks of adjustments on what was delivered.
- Three months of maintenance and warranty.
- The repository and the data, in your name.
If what you need is a marketing site or a landing page, this is not the service: it costs more than you need. That is our Next.js development service, which starts lower and ships in two weeks.
See Next.js development →What the result looks like
Cimiento is our own point-of-sale, inventory and real-time analytics system for corner shops and grocers: register, stock, reports and alerts, built end to end with Next.js and PostgreSQL. It is our own demo, so the code and the design decisions are there to inspect before hiring us — which is rather more than a portfolio of screenshots lets you ask for.
See Cimiento →Frequently asked questions
- How much does a custom system cost?
- From US$1,000, and up from there depending on scope. We charge per project, so you know the number before we start. The first conversation is free and exists precisely to put a number on it: a range quoted before understanding your operation is worth nothing.
- How long does it take?
- It depends on scope, but we do not start with the whole system: we start with the part that removes the biggest pain, which is usually running in weeks rather than months. From there you decide what comes next, with the system already in use.
- Can it connect to what I already use?
- Almost always. If the outside system has an API, we connect it directly. If it does not — common with local or older software — we build the bridge with automation in Python or n8n. What we do not do is promise an integration before confirming there is a way in.
- What happens to the data I already have in spreadsheets?
- It gets migrated. It is part of the work and it is usually the part that does the most tidying: importing reveals what was duplicated, incomplete or entered wrong. It is uncomfortable for a week and saves months afterwards.
- Am I locked in to you?
- No. The repository is in your name, the database is yours and exportable, and the stack is standard and open: Next.js, React, TypeScript, PostgreSQL. Any team working with those tools can continue it.
- Do you do the design?
- We do not do graphic design or brand identity: we commission it separately or work from what you have. We do design the system's screens, which is a different thing: how data gets entered and how you move around.
- What if the system grows?
- That is why the data model comes before the screens. Adding a feature on a well designed model is cheap; on an improvised one, every new feature breaks two old ones. It is the difference you cannot see in month one and pay for in every month after.
- Are you a big team?
- We are two. That means you talk directly to the person writing the code and there are no coordination layers — and it also means we do not take projects that need ten people. When a project is too big for us, we say so.
When we are not the right fit
- If you need a native mobile app. We have not delivered one yet and we would rather say so.
- If the project needs a team of ten. We are two, and we would rather say no than deliver late.
- If you need brand identity and design from scratch as part of the same contract. We subcontract that, and there are studios that do it better end to end.
- If all you need is a marketing site. The Next.js service is the right one there, and it costs less.
Tell us how you work today
Write to us with the part of your operation that is costing you most. If we can help, we will tell you how and how much; if we cannot, we will tell you that too.
Let's talk about your project