▸ The stack
The stack I actually ship on.
Honest list. Tools earn their spot by surviving paid customer work, not because they trended on Twitter. Daily drivers tagged ⚡: used on customer work in the last 7 days.
▸ Last reviewed
October 2026 · revisit each quarter
-
72
Tools in production
-
8
Stack lanes
-
20
Daily drivers ⚡
-
14+
Years curating
Daily drivers.
▸ Used on customer work in the last 7 days
-
▸ Backend
Laravel + PHP 8.3
Workhorse. Filament, Octane, Horizon, Pest. Every backend I ship.
-
▸ AI
Anthropic Claude
Daily driver model. Claude Code for pairing, Claude API + MCP in product.
-
▸ DevOps
Docker + Coolify + GH Actions
Self-hosted infra. Containers, CI/CD, zero-downtime deploys. No vendor lock-in.
-
▸ Commerce
Shopify Plus
App Bridge, GraphQL Admin, Functions, Catalog API. Embedded apps + Plus theming.
I also keep small browser tools for the math I redo often, like token counts, cron schedules and connection pools. See the free tools →
Jump to a lane.
▸ 72 tools across 8 lanes
-
Backend
Where the business logic lives
- Laravel 12 (Default framework)
- PHP 8.3
- Octane (FrankenPHP) (Default · RoadRunner or Swoole when needed)
- Horizon (Queue workers, retries, observability)
- Filament v4 (Admin panels in hours, not weeks)
- Livewire (Server-driven UI for admin tools)
- Symfony (When PHP needs framework-free libraries)
- Node.js + Express (For Shopify Remix / lightweight services)
- Python (ML scripts, data pipelines, scraping)
- TypeScript (Everywhere outside PHP)
-
AI engineering
Production-grade AI features
- Anthropic Claude API
- Claude Code (Pair programming + agent loops)
- Model Context Protocol (MCP) (Tool exposure to agents)
- Provider SDKs (Anthropic, OpenAI, Mistral)
- OpenAI (Embeddings + fallback model)
- Cohere Rerank (Hybrid-search reranker)
- Vector embeddings (OpenAI text-embedding-3-large)
- Eval harness (Pest) (AI quality regressions)
-
Frontend
When the API hits a browser
- Vue 3 + Inertia.js (Default Laravel SPA)
- React 19 (Shopify Remix admin apps)
- Remix (Shopify app framework)
- Astro (Static + content sites (this one))
- Nuxt.js (Heavy SSR projects)
- Tailwind CSS v4
- shadcn/ui (Radix-based design system)
- Polaris (Shopify admin UI kit)
- Vite (Build tool, default)
-
Database & caching
Where the data actually lives
- PostgreSQL (Default datastore)
- pgvector (Embeddings + hybrid search)
- Redis (Cache, queues, locks)
- MySQL (Legacy + Shopify Plus workloads)
- Elasticsearch (Full-text + faceted search)
- MongoDB (Doc store when justified)
- Meilisearch (Self-hosted search alternative)
-
Shopify ecosystem
The commerce stack I ship apps on
- Shopify Plus
- Shopify GraphQL Admin API
- Shopify Catalog API (inferredFields + agentic SEO)
- App Bridge (Embedded admin UI)
- Polaris (Native admin look)
- Shopify Functions (Discounts + cart transform)
- Theme App Extensions (Storefront UI without theme edits)
- Shopify Billing API (Subscriptions + dunning)
- Webhooks + Bulk Ops (Data sync at scale)
- Protected Customer Data (Scope approval workflow)
-
Cloud & DevOps
Where it runs in production
- Docker (Default packaging)
- Coolify (Self-host all the things)
- Laravel Forge (Managed deploys)
- GitHub Actions (CI/CD pipelines)
- GitLab CI/CD (Self-hosted runners)
- Google Cloud (GCP) (Pub/Sub, Cloud Run, GCS)
- AWS (S3, SES, CloudFront, ECS)
- Cloudflare (CDN, R2, Workers, DNS)
- Cloudflare Pages / Vercel (Static sites)
- Nginx (Reverse proxy + tuning)
-
Testing & quality
Tests before optimism
- Pest PHP (Default test runner)
- PHPUnit (Legacy + interop)
- Jest / Vitest (JS / TS unit tests)
- Cypress (E2E for admin UIs)
- Playwright (Cross-browser flows)
- PHPStan + Larastan (Static analysis, level max)
- ESLint + Prettier (TS / JS formatting)
-
Tools & flow
Editor, terminal, brain
- Neovim + LazyVim (Daily editor)
- Cursor (AI-native IDE for pairing + agents)
- PhpStorm (When refactoring large codebases)
- Ghostty (Terminal)
- Claude Code (CLI) (Agent pairing)
- 1Password (Secrets + SSH)
- Linear (Issue tracking)
- Notion (Docs + spec writing)
- Raycast (Launcher + workflows)
- Figma (Design handoff)
- Postman (API debugging)
How I architect.
Methodologies and patterns I default to. Boring, opinionated, hard to argue with under pressure.
- Clean Architecture
- Domain-Driven Design
- SOLID
- Test-Driven Development
- Multi-tenant SaaS
- Event-Driven
- Microservices
- REST + GraphQL
- OAuth 2.0 + JWT
- Async-first
- Idempotency
- Observability
Honest curation.
New tools earn a slot only after shipping on customer work. List shrinks more than it grows, by design.
Currently learning
- FrankenPHP worker mode tuning at scale
- Bun runtime for Node services
- Postgres logical replication for tenant fan-out
- Cloudflare Workers + Durable Objects
Recently dropped
- Heroku: cost / lock-in
- Algolia: Meilisearch caught up
- Vercel for Laravel apps: Coolify wins
- OpenAI as default model: Claude now is
Would not ship
- Vector-only RAG without reranker
- MongoDB as a primary OLTP store
- Hand-rolled auth in 2026
- Untested AI features in customer-facing flows
Want this stack on your project?
Same defaults, same speed. Fewer surprises in production.
Where this stack shows up
-
▸ Post
/blog/laravel-octane-high-traffic/
Octane and FrankenPHP in anger — worker tuning, memory bloat, and what actually got faster.
-
▸ Series
/blog/series/self-hosting-saas/
The Coolify half of this list, start to finish: ship and scale a SaaS on your own boxes.
-
▸ Post
/blog/claude-mcp-dev-tools/
The Claude + MCP setup I run daily, and which servers earned a permanent slot.
-
▸ Page
/library/
The books, docs and repos behind these choices — not just the tools themselves.