nickbell.dev
A full-stack AI portfolio running across four hosting services and three repositories — React frontend, Laravel API, AI chatbot agent with semantic search, and a cross-device sharing ecosystem. Total cost: under $1/month.
My portfolio site, built as a learning platform for technologies and architectures I want to work with. It runs across Netlify, Render, Supabase, and Cloudflare Pages, with the only cost being a few cents a month for OpenAI embeddings.
What It Does
Beyond the standard blog and project showcases, the site includes an AI chatbot agent called sudo — built with Laravel AI and Gemini's free tier — that can search across all content using hybrid vector and keyword retrieval with Reciprocal Rank Fusion. A Progressive Web App and Chrome Extension let me save and annotate interesting links from my phone or desktop, with automatic OpenGraph metadata extraction.
AI CHATBOT sudo 8 tools · multi-turn Gemini · Free tier SEMANTIC SEARCH Hybrid Retrieval pgvector + keyword Reciprocal Rank Fusion CROSS-DEVICE SHARING PWA + Extension Web Share Target API Auto metadata extraction HEADLESS CMS Filament v5 Rich admin panel 24h cache · auto-invalidationArchitecture
The frontend is a React 19 SPA with TypeScript, Vite 7, and Tailwind CSS v4. The backend is a Laravel 12 API with a Filament v5 admin panel, serving multiple consumers: the React frontend, the shares PWA, the Chrome extension, and the AI agent. Supabase provides PostgreSQL with pgvector for both relational data and embedding vectors.
NETLIFY React Frontend React 19 · TS · Vite 7 · Tailwind v4 SUPABASE PostgreSQL + pgvector Relational data + 1536-dim vectors RENDER Laravel 12 API PHP 8.4 · Filament v5 · Sanctum API Hub — serves all consumers REST + SSE Eloquent + pgvector CHROME Extension GEMINI AI Agent CLOUDFLARE PAGES Shares PWA CRONJOB.ORG Cache Warming Under $1/monthCaching is aggressive (24-hour TTL on all API responses) with automatic invalidation via model events and proactive cache warming triggered by cronjob.org. The result is fast responses even on Render's free tier.
Deep Dive
For the full technical breakdown, see the four-part blog series: the architecture overview, the AI agent, the sharing ecosystem, and Filament as a headless CMS.
You might also like
blog How I Built a Full-Stack AI Portfolio for Under $1/Month
Four hosting services, three repositories, an AI chatbot, semantic search, and cross-device content sharing — practically free.
blog Building an AI Portfolio Agent with Laravel, pgvector, and Gemini
A chatbot that knows everything I've written — built with the Laravel AI SDK, pgvector embeddings, hybrid search, and Gemini's free tier.
blog Filament v5 as a Headless CMS for a React Frontend
Using Laravel's most powerful admin panel builder to manage content for a decoupled React frontend — with caching, preview URLs, and automatic cache invalidation.