InJoinery custom app
InJoinery is a specialist labour agency that supplies fitting teams to the joinery firms who need their work installing. I've worked with Todd and his team since 2021 — first on the direction of the business, then on the operational processes and data systems that run underneath it. For the past few years Airtable has been our primary operations database, and it's carried the business well as it's grown.
Since late January 2026 we've been building a web app on top of that foundation. It gives fitters a mobile interface for the things they do every day — accepting work, signing in and out, checking their bookings — and gives the office a custom view to explore and update the same data with an interface that is intentional for they do. Airtable remains the source of truth; the app is the faster, calmer place to see it and act on it.
This is deliberately a work-in-progress. Rather than commission one big build and hope it fits, we're growing the app in small, steady steps — proving each piece against real day-to-day use before moving on. It’s also noteworthy that it is an AI-assisted dev project. The first months showed the principle holds; the work since has been patient and incremental. It's a long-term investment: a foundation the business owns and controls, and a lever it can keep pulling as it scales.
Read more with the case study.
Seeking a dev partner
Last updated: 29 June 2026
About InJoinery
InJoinery (InJ) is a specialist labour agency based in London, supplying skilled teams for joinery installation. Its internal software exists to run that operation — matching people to work and keeping the day-to-day moving.
Purpose
InJ is seeking an ongoing, evolving relationship with a multi-person development partner to own the build, hosting, maintenance and DevOps of our internal software. This deliberately replaces a single-person arrangement: it removes our reliance on any one individual and frees our fractional CTO (Ben Edmonds, We Sort) to focus on advisory and product. This is a working relationship, not a fixed build-and-leave engagement.
Our current production app is a proof-of-principle. The partner should be comfortable that it may be extended, evolved, or entirely rebuilt — we are not precious about the codebase, only about the outcomes.
The current app
A custom internal web app, live in production since January 2026 as a proof-of-principle. It is AI-coded, built using Claude Code — which is exactly why we want a partner fluent in working with AI-assisted software. The stack is a deliberate, mainstream choice:
Laravel — a robust, extensible foundation for the whole application.
Livewire — reactive interfaces driven from the server, avoiding a separate JavaScript front-end and its complexity.
AlpineJS — lightweight client-side interactivity where it's needed (bundled with Livewire, so it carries no separate front-end overhead).
Flux — Livewire's first-party UI component library, so we don't reinvent the wheel on common interface elements.
Tailwind — utility-first styling for consistency and speed.
What we're looking for
No single point of failure — a team, not a person. Resilient to any one individual being unavailable, with shared knowledge and documented access.
Capacity geared to need — able to resource a few people for a few days a week when work demands it, and scale down when it's quiet. We don't want to pay for an idle team; we do want a partner who flexes proactively as needs change.
AI-forward — fluent working with and on AI-assisted software, and using AI in their own delivery.
DevOps as standard — version control, environments, deployment, backups, monitoring and recovery built into normal ways of working, not bolted on.
Proactive and plain-speaking — flags risks and opportunities, proposes the smallest useful step, and works in small reversible increments rather than cathedrals of complexity.
What "service level" means here
Not an uptime guarantee on a specific app — the app itself may change. The service level is about capability and responsiveness:
Business hours only — no 24/7 or on-call expectation.
Responsiveness — briefed work and incidents acknowledged and triaged within one business day (starting position, to confirm); genuinely urgent issues (work blocked) prioritised same day where reasonable.
Continuity — no lock-in to any one of their people or ours; access, credentials and key knowledge documented and shared.
What this is not
A fixed-scope build, an idle reserved team, a 24/7 service, or a guarantee tied to the current prototype.
Who you'd be working with
On the InJ side, the partner's relationship is directly with InJoinery. We Sort is the lead liaison and day-to-day point of contact, providing ongoing advisory and product direction and bridging InJ's operation and the dev partner.
Ben Edmonds — founder of We Sort (est. 2009) and InJ's fractional CTO. A small-business consultant who has worked with creative and craft businesses across furniture, design, art, film, food and construction, with a long-standing focus on operations, sensible processes and building. His role here has combined advisory with hands-on build, and he is now stepping out of the hands-on build to concentrate on advisory and product direction — which is what creates the need for this partner.
Lucy Roome — product manager and service designer at We Sort. She came up through The Modern House and Inigo — where she led sales and built out their internal systems, including Salesforce — before retraining in product design and leading the design of Checkatrade's first AI assistant from concept to launch. She keeps work anchored to real user needs and the right problem before reaching for solutions.
From the partner: a named delivery/account lead as the counterpart to the above.
Appendix — current dependencies (for reference)
A summary of the app's actual manifests, so a partner can size the pickup before seeing the repo.
Back end (composer.json) — built on the official Laravel Livewire starter kit:
Foundation — PHP 8.2+, Laravel 12, Livewire 4.
UI — Flux 2.9 plus Flux Pro (a paid, licensed component library).
Auth & access — Laravel Fortify (authentication), Spatie Permission (roles/permissions), lab404 Impersonate (admins acting as other users).
Supporting — Intervention Image (image handling), Mews Purifier (HTML sanitising), Matomo device-detector.
AI workflow — Laravel Boost, the AI-assist tooling that pairs with the Claude Code build.
Quality — Pest 4 (testing), Pint (code style), Pail (logs), Sail (Docker dev environment).
Front end / build (package.json):
Build — Vite 7 with the Laravel Vite plugin.
Styling — Tailwind CSS 4 (with the typography plugin).
Libraries — Axios (HTTP), Mermaid (in-app diagrams), Concurrently (running dev processes together).
AlpineJS isn't listed separately here because it ships inside Livewire/Flux.