Service
When off-the-shelf software does not fit the job
Some requirements are not a website. They are a portal, a dashboard, a booking engine or a workflow that three departments depend on. We build those, in plain PHP or Laravel, scoped through discovery rather than guessed at.
- Client portals, staff dashboards and internal tools
- Booking, quoting, calculation and approval workflows
- Integrations between systems that were never designed to talk
- Fixed-price discovery before any build commitment
When do you need custom development rather than a website?
When the thing you are describing has users who log in, data that changes state, rules about who can do what, and a process that has to be followed in order. A content management system can be bent into that shape, but it becomes fragile and slow. If your requirement involves roles, permissions, records moving through stages, or calculations that drive decisions, it is an application, and building it as one is usually cheaper over its life.
- Users, roles and permissions rather than just pages
- Records with a lifecycle, not just content with a publish date
- Rules and calculations that must be right every time
What we build
Typical custom systems
Each of these is a real category of work rather than a hypothetical. The specifics are always different; the shape is not.
-
Client portals
A logged-in area where clients see their own documents, job status, invoices or reports, without a phone call.
- Role-based access
- Document handling
- Notification rules
-
Staff dashboards
One screen that shows the state of the operation, replacing a spreadsheet that three people update by hand.
- Live operational data
- Filtering and export
- Audit trail
-
Booking and scheduling
Availability, capacity and rules that reflect how you actually schedule, including the awkward exceptions.
- Availability logic
- Capacity rules
- Confirmation workflow
-
Quoting and calculators
Pricing logic that produces the same answer every time, exposed to customers or kept internal.
- Rule engine
- Version control on pricing
- PDF or email output
-
Approval workflows
Records that move through defined stages with the right person notified at each one, and a record of who did what.
- Stage transitions
- Permissions
- Full history
-
System integrations
Getting your website, CRM, accounting package and operational software to agree on the same facts.
- API integration
- Scheduled synchronisation
- Failure handling
How we scope it
Discovery first, and it is a paid piece of work
Custom projects fail when they are quoted from a conversation. The requirement always contains something nobody mentioned: a rule with three exceptions, a report someone runs every Friday, a system that must keep working during the transition.
So we run discovery as its own fixed-price engagement. It produces a written specification, a data model, a technical approach, a risk list and a build estimate. You own that document. If you decide to build it with someone else, or not build it at all, that is a legitimate outcome and you leave with something useful.
- A written functional specification, not a proposal
- Data model and integration map
- Identified risks and the decisions that resolve them
- A build estimate you can take to another supplier if you want to
Delivery
How a custom build runs
-
01
Discovery
Users, processes, rules, data, integrations and the constraints that will not move.
You receive: Written specification and estimate
-
02
Architecture
Data model, permission model, integration approach and environment plan.
You receive: Technical design
-
03
Build in stages
Delivered in working increments you can use and react to, rather than one reveal at the end.
You receive: Reviewable staging releases
-
04
Test
Functional testing against the specification, plus security, permissions and failure-path checks.
You receive: Test results and defect list
-
05
Migrate and launch
Data migration, user setup, training and a planned cutover with a rollback path.
You receive: Live system and training
-
06
Support
Defined support arrangement, monitoring, error logging and an agreed route for changes.
You receive: Support agreement
Stack
What we build custom systems with
Application
- PHP
- Laravel
- CodeIgniter
- Queues and scheduled jobs
- Authentication and roles
Data
- MySQL
- MariaDB
- Migrations
- Reporting queries
- Import and export routines
Interface
- Server-rendered views
- Tailwind CSS
- Vanilla JavaScript
- Accessible forms
- Responsive tables
Integration
- REST APIs
- Webhooks
- Third-party SDKs
- Scheduled synchronisation
- Retry and error handling
Questions
Custom development questions
How much does a custom system cost?
Can you build on top of our existing system?
What happens if we want to change the requirement mid-build?
Who owns the code?
Do you provide ongoing support for custom systems?
Related services
Often paired with this
-
Web application development
The build itself: portals, dashboards and SaaS platforms, once the decision to build is made.
Web application development -
Plugin & theme development
When the custom functionality belongs inside WordPress rather than alongside it.
Plugin & theme development -
Our process
How discovery, build and launch stages actually run, and what you receive at each one.
See the process
Have a requirement that does not fit a website?
Describe the process, who uses it and what goes wrong today. We will tell you whether it needs a custom build or something simpler.