How I Structure Projects: Vertical Slices Over Layers
Grouping code by technical layer means jumping across the project to follow one feature. I group by feature instead, and adapt the structure to whatever the language and framework expect.
I am a software architect. I focus on writing efficient code, defaulting to performance, and delivering systems that work predictably under load without unnecessary complexity.
Let's discuss your projectI work across the stack, focusing on reliability, maintainability, and structural integrity.
Building backend applications and systems software. I focus on writing efficient, predictable code.
Designing backends and cloud infrastructure. I work with teams to make technical decisions that scale reasonably over time.
Developing web applications. I build interfaces that are straightforward and functional.
Working alongside teams as a lead engineer to help refactor existing code, improve performance, or build out an MVP.
Integrating language models into existing products. I build RAG pipelines and features that solve specific problems.
Building natively compiled mobile applications. I use tools like Flutter to extend web products to iOS and Android.
Core Principles
I prefer established tools over new trends. A standard monolith on Postgres is often sufficient. Complexity should be introduced only when required by scale.
Speed is a feature. Whether writing systems or web interfaces, I focus on predictable latency and efficient resource usage.
Systems aren't designed in a vacuum; they evolve. I try to ship functional cores early, gather constraints, and refactor as needed. Software is grown over time.
I adapt to project needs, but I frequently reach for these tools.
Useful for systems where memory safety and predictable latency are priorities.
Solid choices for building full-stack applications with complex business logic.
Proven relational databases for read-heavy workloads and standard web applications.
A practical tool for building compiled cross-platform mobile applications.
A pragmatic framework for building reactive user interfaces and islands of interactivity.
A must-have for large codebases, providing type safety and improved developer experience.
A selection of my professional background, architectural work, and deep dives.
An open-source novel scraper and library manager. It uses a WebAssembly extension system so scraping logic can update independently of the core engine.
An async Rust library for making HTTP requests through Cloudflare's anti-bot infrastructure. Implemented entirely via directed AI generation.
Built enterprise integrations for a security product API in Rust. Navigated a sparse ecosystem to implement SCIM, LDAP, IMAP, and CVE ingestion from scratch.
A block-based website builder built in Laravel. An exercise in understanding the boundaries, trade-offs, and ecosystem of the Filament framework.
Resurrected an abandoned internal task management tool. Stabilized the backend, resolved complex IMAP syncing issues, and delivered new web and mobile clients.
A timeline of my past roles and engineering experience.
Developed applications using Laravel and Flutter, focusing on complex integrations including IMAP and Document AI.
Architected and maintained high-performance backend systems and infrastructure using Rust.
Building full-stack platforms and mobile solutions for the travel industry using Laravel, Nuxt, and Flutter.
Thoughts on software architecture, performance optimization, and building products that last.
Grouping code by technical layer means jumping across the project to follow one feature. I group by feature instead, and adapt the structure to whatever the language and framework expect.
AI doesn't eliminate engineering work. It moves it — onto reviewers, and onto your future self.
Your understanding of a problem is lowest before you write the code. The systems that actually last are grown through real-world feedback, not built from a master plan.
Wasm is a genuinely interesting runtime primitive. I think it could become the compute layer of the web. I also think that probably won't happen anytime soon.