Back to home

Blog

Writing about software engineering, AI, and building things.

·3 min read

Understanding CSRF: Why Cookies Aren't Enough

The Problem Imagine you're logged into bank.com. While browsing the web, you visit evil.com which contains this innocent-looking link: Win a Free iPhone! 🎁 When you click, your browser sends the request to bank.com with your authentication cookies a...

authenticationcsrfCORSWeb DevelopmentSoftware Engineering
·4 min read

Expanding RAG Search with MCP Tools: Augmenting AI Responses with Function Calling

Introduction: The Problem with Basic RAG When building [Kaiwakai](https://www.kaiwakai.com/), a Japanese learning application, I implemented a RAG (Retrieval-Augmented Generation) system to help users search through podcast transcripts and vocabulary...

AIsoftware developmentSoftware EngineeringRAG
·5 min read

Building a RAG Search System for a Japanese Learning App with Next.js and OpenAI

Introduction Kaiwakai is a Japanese language learning app that helps users practice listening through video content. Each lesson includes a YouTube video, bilingual transcripts, and vocabulary lists organized by JLPT level. While building the app, I ...

AIAI EngineeringSoftware Engineeringsoftware architecture
·6 min read

Analyzing Stagehand's Source Code: Classic Design Patterns Solving Modern AI Problems

Introduction Analyzing open source code is one of the best ways to become a better developer. Open source projects often require highly generic implementations, forcing developers to use advanced design patterns and architectural techniques. Understa...

AIAI EngineeringSoftware Engineeringdesign patternssoftware architecture