Custom Directus extensions
Directus covers a lot out of the box. When it does not cover the thing your business depends on, that gap is what an extension is for — and writing one properly is cheaper than reshaping your process around a limitation.
Sound familiar?
A field type that does not exist, so your team fakes it in a text box
A manual step someone repeats every day because nothing automates it
An external system that has to stay in sync, and currently does not
A report your team rebuilds by hand every month
A rule that should be enforced by the system but lives in someone’s memory
An operation that is risky to run on live data with no safety net
What we build for you
Interfaces, layouts, panels, hooks, endpoints and operations — written to the same standard as the ones we publish publicly, because the ones we publish are how people find us.
Custom interfaces
The input your data actually needs: a map picker, a structured editor, a calculated field, a lookup against another system. Whatever stops your team working around the software.
Hooks and automations
Logic that runs when something changes — validation, notifications, syncing to another system, enforcing a rule that currently depends on someone remembering it.
Custom endpoints
API routes shaped for the app or partner consuming them, rather than exposing your whole schema and hoping for the best.
Dashboard panels
The numbers your team currently exports to a spreadsheet, shown where they are already working and updated without anyone touching it.
Safe operations on live data
Our open-source safe-rename extension exists because renaming a collection in Directus can break relations, permissions and flows. We build the same care into anything that touches production.
Open sourced where it helps
If what we build for you is useful to everyone and contains nothing of yours, we will ask about releasing it. You get maintenance from a wider community; we get the reputation. Never without your agreement.
Custom extension work is right if:
You already run Directus and have hit a limit
Your team has invented a manual workaround for something the system should do
You need Directus to talk to something specific to your industry
You want the work done by people who ship extensions publicly
You need it maintainable by whoever comes after us
How extension work runs:
You describe the limitation, ideally by showing us the workaround
We check whether an existing extension already solves it — sometimes one does, and we say so
A fixed-price proposal for the build, with the behaviour written down
We build it against a copy of your setup, not your live data
You test it in your own environment before it goes near production
Handover with source, documentation and a warranty period
Common questions about directus extensions
Do we own the extension you build?
Yes, completely. Source code and full rights. If it turns out to be generally useful and contains nothing specific to your business, we may ask whether you are happy for us to open source it — always ask, never assume.
What if Directus adds this feature later?
Good outcome, and we will tell you when we think it is likely. Extensions are self-contained, so you can drop ours and move to the built-in version. We would rather warn you off a build than sell you something with a short life.
Can you fix or take over an existing extension?
Usually. Send us the repository and we will tell you honestly whether it is worth repairing or cheaper to rewrite — including when the answer costs us the bigger job.
How do we know the quality before hiring you?
Read our code. Our extensions are on GitHub and npm, in public, with their history. That is a more honest reference than a case study we wrote about ourselves.
Ready to get started?
Tell us the limitation you have hit. If an existing extension already solves it, we will point you there instead of quoting.