Lead Programmer at Tighten and former Tech Lead at VueSchool, with over 15 years of experience building web applications. Laravel, Vue.js, Nuxt, and Tailwind rock! Here you'll find my articles and projects.


I regularly speak at conferences and meetups about Laravel, Vue, AI, and modern web development.


From an empty folder to a published npx command. Learn the structure I use for my own CLIs: citty for commands, clack for prompts, rc9 and zod for config, and Vite+ for linting, testing and bundling.

JavaScript runs on a single thread. Give it a heavy task, like resizing a large photo before uploading it, and the page freezes until it finishes.

Transformers.js lets you run open source AI models directly in the browser. No API keys, no server round trips, and it keeps working offline once the model is cached.

You can build your own AI teammate and talk to it via Slack! 🤖
I have vast experience with Laravel, including Inertia, Livewire, Nova, and Filament.
I love building Vue Apps! And using Pinia, VueUse and Vitetest.
Nuxt is my favorite framework for creating SPA, SSR and SSG applications.
I have been using Tailwind since the alpha days! It is my favorite CSS framework.