Essays
Writing
Topics
7 of 43 essays
2026
· 0 min read
Anthropic Academy — Six Certifications Completed
I completed six Anthropic Academy courses covering the Claude API, Model Context Protocol, subagents, agentic workflows, Claude Code, and AI fluency — each with a verified certificate from Anthropic Education.
· 0 min read
RAG Without a Framework: A Minimal pgvector Pipeline with Claude
How to build a complete RAG pipeline in Python without LangChain or LlamaIndex — chunking, embedding with text-embedding-3-large, pgvector retrieval, and grounded generation with Claude — with the tradeoffs that matter at production scale.
· 0 min read
Stop Using Fixed-Size Chunks for Technical Documentation
Why naive fixed-size chunking breaks on code-heavy documentation, and the heading-aware approach with paragraph fallback and overlap that replaced it in this portfolio's RAG pipeline.
· 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.
· 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.
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.
2024
· 9 min read
Semantic Search with pgvector and Laravel Scout
Add meaning-based search to your Laravel app using a custom Scout driver, pgvector HNSW index, and Voyage AI embeddings — with a hybrid keyword fallback.
About RAG
Everything Al Amin Ahamed has written about RAG — written after shipping rather than before, so what is in here is what the constraint turned out to be and what I got wrong first.