Operations and workflow systems
The core system for how work moves through your business — the one the ERP covers 70% of and the remaining 30% runs on email.
Order to dispatch, including the approvals the ERP has no concept of.
Capability
The operational system underneath — the one the packaged software did not cover. Built around your process rather than configured around someone else’s, in React and Django, and handed over with the documentation to maintain it without us.
From $14,000 · 8–12 weeks · fixed scope, agreed in writing
What your team gets
Not a strategy deck. A running system, the permissions around it, and the code in your repository.
What we build
All of them start the same way: a packaged product covers most of the job, and the part it misses is the part the business actually runs on.
The core system for how work moves through your business — the one the ERP covers 70% of and the remaining 30% runs on email.
Order to dispatch, including the approvals the ERP has no concept of.
Self-service for the people who currently email your office, with the records behind it staying in one place.
A portal serving 10,000+ members, delivered in four months including migration.
The back office your team lives in all day, designed so the twentieth repetition is as fast as the first.
A dispatch desk where a saved click compounds across a thousand orders.
Numbers your team trusts because they come from the system rather than from a manual export somebody maintains.
Branch performance visible daily instead of at month end.
A middle layer where several systems have to agree, with the reconciliation logic in code rather than in a person’s head.
Storefront, ERP and accounting kept in step continuously.
Taking over a system whose original developer is gone, running the two in parallel, and migrating without a weekend of downtime.
A decade-old internal app replaced module by module.
How we build it
Most custom software is not abandoned because it stopped working. It is abandoned because nobody can safely change it any more. Every decision here is aimed at the third year, not the launch.
The data model is the thing you cannot cheaply change later. We spend real time on it with the people who know the business, before any interface is drawn.
Web, mobile and partner integrations all enter through the same API with the same rules. Business logic never lives in a screen, which is how two clients start disagreeing.
Django and React, PostgreSQL, Celery. Chosen because your next developer will already know them and because they will still be maintained when the current fashion is not.
Heavy coverage on domain rules and money, light on the presentational layer. A test suite nobody trusts is worse than none, because it gets skipped rather than fixed.
Documentation, environment setup, a runbook and a walkthrough with whoever will maintain it. If your team cannot run it without us, we have not finished.
We would rather tell you the package wins than build something you later regret. Before quoting a custom build we name the closest product, verify what it genuinely cannot do, and compare three years of cost on both sides including maintenance and dependency on us. Custom is right when the process is genuinely yours and the mismatch is structural — not when a configuration screen is unfamiliar.
Systems become unmaintainable through accumulated exceptions nobody documented, business logic scattered across screens, and a test suite that stopped being trusted. We keep rules in one layer, keep the data model clean enough that new requirements are additions rather than surgery, and treat documentation as part of the definition of done.
Increasingly the system is the platform an agent later acts on. We build the API and permission model so that adding an agent afterwards is a small project rather than a re-architecture — even when AI is nowhere in the current scope. It costs nothing now and saves a great deal later.
Where it lands
Member portals, chapters, renewals and the records behind them, in one system.
The production and stock logic the ERP does not model, connected to the ERP.
Dealer ordering, allocation and delivery tracking across branches.
Floor operations that need software and hardware to agree, down to the firmware.
Listings, enquiries and site visits in one place instead of three.
Operational systems around a regulated core, with auditability designed in.
Technology
We pick the boring option unless there is a reason not to — the framework is the part most likely to be abandoned before your system is.
How the engagement runs
Every phase ends in a named deliverable. You can stop after any of them and keep what has been built.
What the process is, what currently fails, and whether a packaged product would do it better. Thirty minutes, and a straight answer.
Process mapping, the domain model drafted with your team, integration constraints tested, and the scope written down with a change process agreed.
Vertical slices delivered to a staging environment every two weeks, so you are using something real long before the end rather than reviewing screenshots.
Data migrated and reconciled, your team testing against real records, and the fixes that come out of that.
Go-live with monitoring and a rollback path, then documentation, a runbook and a walkthrough with whoever maintains it.
Why Devs Core
React and Django web applications, PM-led discovery, and maintainability. Most of the 32+ projects we have delivered are this shape.
If a packaged product covers it, the honest comparison says so. That has cost us builds and earned us the call when the product later failed.
Vertical slices in staging every fortnight. Nobody should first see their system in month three.
Agreed before work starts. Nobody discovers the budget moved in a status call.
A clean API and permission model, even when AI is nowhere in the current scope. It costs nothing now and saves a lot later.
Documentation, runbook and a walkthrough. If your team cannot run it without us, the project is not finished.
Questions
When the mismatch is structural rather than cosmetic — the process is genuinely specific to your business, it is part of why you win, or several systems have to agree in a way no single product covers. When a packaged product covers the standard version of the problem, buying it is usually right, and our readiness audit will say so.
Custom software starts at $14,000 for a fixed scope agreed in writing, typically over eight to twelve weeks. The variables are the number of user roles, how many external systems must be integrated, and whether data has to be migrated from something existing.
Django and React by default, with PostgreSQL, Celery and Redis, deployed in Docker on AWS. They are deliberately boring choices: your next developer will already know them, and they will still be maintained in five years. We use FastAPI where a service is AI-facing, and Next.js where the front end needs server rendering.
You do — 100%, documented, in your repository, with no licence fee and no runtime component we retain. Another team can pick it up without our involvement, which is the point.
Yes, and it is common. We start by reading what exists and producing an assessment of what is worth keeping, what needs replacing and what it would cost — before agreeing to own it. Taking over a system without that assessment is how both sides end up unhappy.
Scope is written down before work starts, along with the process for changing it. A change is priced and agreed in writing before it is built. This matters more than it sounds: most project disputes are scope disputes that were never written down in the first place.
Handover includes documentation, a runbook and a walkthrough with whoever will maintain it. Ongoing maintenance is available but never required — the deliverable is a system your own team or another firm could run.
Yes. Migration is scoped explicitly, run against a copy first, and reconciled record by record before cut-over. It is usually the most underestimated part of a replacement project, so we treat it as its own phase rather than as a task at the end.
Thirty minutes, no preparation, no deck. You describe what keeps going wrong and we tell you whether AI is the answer — including when it is not.
Prefer email? contact@devs-core.com