Self-Hosting Directus on Azure: What I Learned Rebuilding My Blog
A practical guide to deploying Directus as a Docker container on Azure Web Apps, including Azure Storage configuration and custom domain setup.
Thoughts on software architecture, .NET ecosystem, and building effective engineering cultures.
A practical guide to deploying Directus as a Docker container on Azure Web Apps, including Azure Storage configuration and custom domain setup.
Migrating SearchExtensions from a dotNet project to dotnet core
Improved Levenshtein string search for use with Entityframework or other IQueryable data sets
Celebrating 10000 downloads of SearchExtensions whilst calling out for new features and ideas
NinjaNye.SearchExtensions now supports searching child collections for IQueryable meaning you can perform complex searches that automatically translate to the SQL
Ability to search child collections now supported in Ninjanye.SearchExtensions
I like building things that solve real problems. No unnecessary complexity, no premature abstractions — just working software that does what it needs to do.
Done is better than perfect. Get it out, get feedback, iterate.
From database to UI. Whatever it takes to build the thing.
No over-engineering. The best code is the code you don't write.
Always learning. New tools, new patterns, new problems to solve.
const stack = {
backend: [".NET", "Node", "SQL"],
frontend: ["React", "Vue", "Next", "Nuxt"],
ai: ["Claude", "OpenAI", "LangChain"],
cloud: ["Azure", "GCloud", "AWS"]
};