Skip to content

Blog

Writing

Engineering, AI experiments, and software craft.

Posts tagged "Laravel"

Essays, field notes, and engineering write-ups by Al Amin Ahamed covering Laravel — practical patterns, gotchas from production code, and lessons learned shipping real systems. Topics include architecture decisions, performance tuning, debugging stories, and integration notes you can apply directly to your own Laravel work.

Filtered by Laravel ✕ clear
May 14, 2026
· 0 min read

Scaling a Laravel MCP Tool Registry to 46 Tools

The May 12 post covered the MCP server architecture. This one goes inside the tool registry: class-per-tool structure, Sanctum ability scoping, JSON Schema validation before dispatch, tag-based auto-discovery, and the three things that broke when the registry hit 46 tools.

May 14, 2026
· 0 min read

Voyage AI vs OpenAI Embeddings for Technical RAG in PHP

Why I switched from OpenAI text-embedding-3-small to Voyage AI voyage-code-3 for this portfolio's RAG layer — model comparison, the input_type asymmetry Voyage requires, measured retrieval improvement, and the migration path that keeps search live throughout.

May 14, 2026
· 0 min read

A Claude Tool-Calling Loop in Laravel: From First Request to Final Answer

The exact pattern for registering tools, dispatching multi-turn Claude conversations, and processing tool results in a Laravel service — including the three production failure modes the happy path does not cover.

May 12, 2026
· 0 min read

MCP Servers for Laravel: A Production Pattern

How I built the MCP server that powers AI access to this portfolio — JSON-RPC over Streamable HTTP, Sanctum bearer auth, an ability-scoped tool registry, and the gotchas worth knowing before you ship.

Apr 25, 2026
· 9 min read

RAG on SQLite: Pure-PHP Cosine Similarity Without pgvector

How I built RAG retrieval against a SQLite database using pure-PHP cosine similarity — when it scales, when it doesn't, and the migration path to pgvector.

Mar 10, 2026
· 10 min read

A Multi-Provider AI Driver Pattern for Laravel

A clean driver pattern for switching between Claude, OpenAI, Groq, and Ollama in a Laravel app — with failover, testing, and a single calling interface.

Feb 5, 2026
· 8 min read

Cutting Claude API Costs by 89% with Prompt Caching

A practical Laravel integration of Anthropic prompt caching — what to cache, the 1024-token minimum, multi-breakpoint strategies, and real cost numbers.

Jul 5, 2025
· 7 min read

Splitting Laravel into Three Vite Bundles for Smaller Pages

How I split this portfolio into three independent Vite bundles (frontend, auth, dashboard) — separate dependencies, separate CSS, working HMR across all three.

Jun 18, 2025
· 8 min read

Caddy + Laravel: A 50-Line Production Config

The exact Caddyfile I run in production — automatic HTTPS, HTTP/3, security headers, rate limiting, asset caching, all in ~50 lines.

May 22, 2025
· 8 min read

Supervisor for Laravel: Queue Workers, Scheduler, Horizon

Production Supervisor configs for Laravel queue workers, schedule:work, and Horizon — with the gotchas around stopwaitsecs, max-time, and zero-downtime restarts.

Apr 30, 2025
· 8 min read

Cloudflare in Front of Laravel: Real IPs, Trusted Proxies, Locked-Down Origins

How to make Laravel see real visitor IPs through Cloudflare — TrustProxies config, origin firewall rules, geolocation headers, and the caching gotchas.

Apr 15, 2025
· 8 min read

Building a RAG Pipeline in Laravel with pgvector

How I built the AI chat on this site: chunking documents, generating embeddings with Voyage AI, storing them in pgvector, and answering questions with Claude.