Previously, I built a RAG Search System for a Japanese Learning App with Next.js and OpenAI, a platform that collects episodes from a Japanese TV show and enables search for Japanese words that you'd like to study by listening to the pronunciation in...
Introduction In modern web applications, your frontend TypeScript types can become silently wrong the moment your Backend for Frontend (BFF) changes its response structure—and you won't know until runtime. The Problem Your React app has a fundamental...
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...
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...
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 ...
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...