Writing

Blog

RSS

I write about software engineering, web performance, developer tools, and career growth. 11 posts and counting.

AI AgentsPythonOpenRouter
June 19, 2026

How to Fact-Check a Whole Paragraph with an AI Agent (Python + OpenRouter)

15 min read

JavaSpring AIGemini
June 14, 2026

RAG Basics in Spring AI: Retrieval, the Assembly Trap, and When Retrieval Lies

13 min read

JavaSpring AIGemini
June 12, 2026

Spring AI Provider Portability: Running One App on Gemini and OpenRouter

14 min read

JavaSpring AIGemini
May 31, 2026

Spring AI Tool Calling: Let Gemini Query Your Database in Java

14 min read

PythonAI AgentsGemini
May 25, 2026

Build an AI Agent in Python from Scratch with Gemini and Tavily (2026)

17 min read

JavaSpring AIGemini
May 17, 2026

Spring AI Structured Output: Typed Java Records from Gemini in One Line

14 min read

JavaSpring AIGemini
May 13, 2026

Spring AI + Gemini Tutorial: Your First API Call in Java (2026)

11 min read

GraphQLMicronautJava
May 6, 2026

Custom Scalar Types in GraphQL Micronaut: A Working Guide

10 min read

ClaudeAIDeveloper Tools
April 26, 2026

Stop Prompting Claude Like It's Google

7 min read

Next.jsReactDeveloper Experience
March 15, 2026

Why I Switched from Create React App to Next.js

7 min read

UXBloggingWriting
February 20, 2026

The Underrated Power of Reading Time on Your Blog

A tiny UX detail that builds trust with readers before they've read a single word.

2 min read