Custom Software Development
Web apps and internal tools built to spec
Internal tools usually start as a spreadsheet, then a spreadsheet with macros, then a spreadsheet that three people are afraid to touch. The alternative failure is a full custom platform commissioned for a problem an existing tool already solves. The useful question is not whether to build, it is what the smallest thing is that removes the actual bottleneck.
- Scoping session that names the bottleneck, the users, and the smallest useful first version
- Data model and API design before interface work, because the schema is the part that is expensive to change later
- Implementation in Python, Node.js, React or Next.js with PostgreSQL, chosen for what your team can maintain rather than what is new
- Review checkpoints on working software rather than mockups, so scope changes surface early
- Deployment on infrastructure we manage: SSL, backups, monitoring and a CI pipeline from day one, not bolted on later
- Handover with the repository, deployment runbook and a maintenance option if you want us to keep running it
From $500 (5-page web application) or a scoped quote for larger builds
See the full rate card for fixed packages and managed retainer plans.
Should this be a custom build or an Odoo module?
If the work touches your ERP data, an Odoo module is almost always the better answer, because it inherits the permissions, reporting and audit trail. Standalone apps make sense when the problem genuinely sits outside the ERP.
What stack do you build in?
Python and Node.js on the backend, React and Next.js on the frontend, PostgreSQL for data, Docker where it helps. This website itself is Next.js on infrastructure we run.
Do you maintain what you build?
Yes, on a managed retainer, which is how most clients keep it. You also get the repository and the runbook, so you are never locked to us.
Can you take over an unfinished project?
Often, yes. We read the code and give you an honest assessment first, including when the honest answer is that a rebuild is cheaper than the rescue.