Posts
Technical and design writing — cryptography, AI agents, design systems, and the reasoning behind them.
Strobe Assistant Part 3—ACP+MCP Pipeline
How Strobe Assistant chains an ACP client, an agent service and an MCP server behind one ALB: why an...
Strobe Assistant Part 2—How AWS ECS Glues Tasks, ALBs, Target Groups, etc. Together
How ECS turns a container image into running Fargate tasks, how the ECS service keeps them alive, an...
Strobe Assistant Part 1—AWS Target Groups and Application Load Balancer (ALB)
What an Application Load Balancer's listeners, rules and target groups each do, how health checks de...
Strobe Assistant—Extending Strobe with an AI Agent
How I extended Strobe, a photo-sharing app on AWS, with a conversational AI agent, an asynchronous p...
Strobe Assistant Part 4—How Cognito and Auth Fit In
Coming soon. How Cognito ID tokens are verified at each trust boundary in Strobe Assistant.
Strobe Assistant Part 5—Embeddings for Posts, Moments and Search
Coming soon. What Strobe Assistant embeds for posts, moments and search, and where the vectors are s...
Strobe Assistant Part 6—Why Ingestion Goes Through SQS
Coming soon. Why Strobe Assistant's ingestion pipeline buffers work through an SQS queue.
Strobe Assistant Part 7—Dual Index, RRF and MRR
Coming soon. Why Strobe Assistant searches two vector indexes, merges them with RRF, and what it cos...
Migrating a Traditional Monolithic Backend to a Cloud-Native Serverless Microservices Architecture
How I moved Strobe, a photo-sharing app, from a single FastAPI monolith to API Gateway, Lambda, Cogn...
Deterministic Attack-to-Alert Mapping with Correlation IDs
Timestamp-proximity matching between attack ground truth and Wazuh alerts wasn't reliable enough for...
Understanding the Log Types in a Wazuh + Claude Security Pipeline
A field guide to the five log types flowing through my IFN737 research pipeline — from raw attack ex...
Designing for Visibility: Adaptive Input Fields in LingoBun
Exploring the impact of adaptive input fields on user experience in LingoBun, emphasizing the import...
LingoBun: Hardening an AI Language-Learning Product for Production
An LLM-powered vocabulary app taken past the demo stage: Redis-backed rate limiting and cost caps on...
LingoBun Logo: A Case Study on Logo Design in the Era of AI
LingoBun is deliberately calm, focused, and serious about learning. Without a logo that reflected th...
Multimodal Context for Higher Retention: A Case Study
This article explores the implementation of media upload and notes features in LingoBun, driven by u...
Non-blocking AI Validation User Flow: A Case Study
Exploring the transition from a blocking to a non-blocking validation flow in LingoBun's AI-powered ...
LingoBun: Learning Language, Seriously
Language learning has never lacked tools. Over the years, I've tried various apps that promise faste...
AuStride: Striding Towards an Active Future
Walking or riding rather than driving offers the two-fold benefit of increasing mental and physical ...
No posts found for those tags.
View all posts