Fixing Claude Code Git Lock Hell
How a custom Claude Code status line running git status causes index.lock race conditions during git operations, and how to fix it by reading .git/HEAD directly.
20+ years building products and leading engineering teams. Whether you need a fractional CTO, AI adoption strategy, or hands-on development — let's talk.
Whether you need strategic guidance, hands-on development, or help getting your team to the next level — I've got you covered.
Strategic technical leadership without the full-time commitment. Perfect for startups and scale-ups needing experienced guidance.
Help your team leverage AI tools effectively. From developer productivity to building AI-powered features. AI is here and it can vastly increase productivity
Full-stack development when you need an experienced engineer to ship features. .NET, React, Vue, Node — whatever gets the job done.
Level up your engineering team through mentoring, workshops, and establishing better development practices.
Have we worked together? I'd love to hear from you.
David G
Engineering Manager at LandTech
Jon E
Principal Backend Engineer at Epic Games
Coder
AI Coding Agent
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"]
}; Thoughts on software architecture, .NET ecosystem, and building effective engineering cultures.
How a custom Claude Code status line running git status causes index.lock race conditions during git operations, and how to fix it by reading .git/HEAD directly.
How I applied John Ousterhout's 'deep modules' concept to fix architectural friction in my small Astro blog. A practical guide to refactoring comment systems, API helpers, and tag handling without over-engineering.
How a Directus 500 error led to migrating from Next.js to Astro in an afternoon, then architecturally cleaning up the entire codebase in a single conversation using Claude Code and composable skills.
How I self-host Spacebot on bare metal with Ubuntu Server - building from source, configuring model routing, systemd, Caddy reverse proxy, and nightly auto-updates.
Stop spam bots without those annoying CAPTCHAs by using three invisible layers: honeypots, timestamp validation, and server-side hashing. A privacy-friendly, user-friendly spam prevention guide for Next.js forms.
Learn how to add Unicorn Studio 3D animations to your Next.js blog while maintaining a perfect 100 Lighthouse score. Self-hosting, CSP optimisation, and React integration tips.
Let's discuss your challenges and see how I can help. No commitment, no pressure — just a conversation about what you're building.