Jamie Craane personal blog

My views, thoughts and experiences about Fullstack software development.

Chunk Overlap Solves the Right Problem at the Wrong Time

Split on structure at ingest, and buy the context back at retrieval

Standard RAG advice says to overlap your chunks by 10 to 20 percent. My knowledge base uses zero overlap and expands a matched chunk to its enclosing section at query time instead. Here is why, and where it actually breaks down.

Multi-Tenancy With Postgres Row-Level Security in Ktor

Enforcing tenant isolation in the database instead of in every query

How I use Postgres Row-Level Security, a non-owner application role, and a small Kotlin transaction wrapper to guarantee tenant isolation in a production Ktor and Exposed application.

Parsing, Visualizing and Analyzing Log Data with Claude Code

From a static log file to an interactive analysis tool, and beyond

How I used Claude Code to turn a production slow-query log into an interactive visualization, then let Claude analyze the result and propose fixes.

Operational Guardrails for Autonomous AI Agents in Production

Reliability Engineering in the AI Era

Defense in Depth practices for running autonomous AI agents safely — from least-privilege credentials and environment segregation to soft deletes, PITR, and RPO/RTO targets.

Bridging Human Intent and AI Code Generation with @AIGuideline

A Novel Approach to Embedding Architectural Guidelines in Your Codebase

Learn how the @AIGuideline annotation helps AI assistants understand and respect your project's architectural decisions and coding patterns.

Integrating Firebase auth in server side Thymeleaf app

Using Firebase authentication with Ktor and Thymeleaf

This post, we will look at how to integrate server side Firebase authentication with Ktor and a Thymeleaf application

Integrating Firebase JWT token verification in Ktor - Part 2

Using Firebase authentication with Ktor

This post, we will look at how to integrate your Firebase users in your own application database.

AI Assistant Prompt Catalog

Collection of useful prompts for Jetbrains AI Assistant

This blog post provides a collection of powerful prompts for JetBrains AI Assistant, designed to boost productivity and simplify development tasks. Perfect for Kotlin developers, it demonstrates how to leverage AI effectively within JetBrains IDEs.

Integrating Firebase JWT token verification in Ktor - Part 1

Using Firebase authentication with Ktor

This blog post guides you through integrating Firebase JWT token verification in a Ktor server application, enhancing security by leveraging Firebase's authentication capabilities.

Jetpack Compose - Recompositions

Recompositions in Jetpack Compose

This post describes what Compose recomposition is and how to optimize your Compose code to minimize recompositions.