FC

All Posts

thoughts, discoveries, and ideas

Post thumbnail
Aug 4, 2026·13 min read

How To Cure log4net's Lock Convoy on a Sitecore CD

At the worst moment of a load test, 279 of our Sitecore Content Delivery server's 427 threads were parked on a single lock, waiting for permission to write a log line. This is the story of how log4net's synchronous file appender becomes a lock convoy under concurrency, how a memory dump and two WinDbg commands convicted it in ten minutes, and the sixty-line never-blocking appender — built against Sitecore's log4net fork, because Apache-targeting packages won't load — that structurally abolished it. Plus an honest accounting of the trade-offs: dropped events over blocked threads, a crash that eats the queue, and a log that lags reality.

Post thumbnail
Jul 23, 2026·25 min read

You Probably Don't Need Vault: How Deleting a Cache Made Our Key Storage More Secure

pCraft is a BYOK 'Postman for LLMs' whose database is full of other people's provider API keys, bearer credentials with a credit card behind them. This article walks through the envelope-encryption scheme that keeps a stolen database backup worthless, then tells the counterintuitive story of replacing HashiCorp Vault with a local key-encryption key: a change that deleted a plaintext-DEK cache a security review had flagged as critical and collapsed the key's in-memory lifetime from sixty seconds to microseconds. It covers AEAD binding contexts that defeat cross-tenant splicing, self-describing ciphertext, KEK rotation without re-encrypting rows, and how to tell when a managed secrets service is actually worth its operational cost.

Post thumbnail
Jul 23, 2026·10 min read

Introducing pCraft: A Workbench for People Who Build With LLMs

For a year my most important work, the prompts, lived in Python strings, scattered notes, and 1am messages to myself, with no version history and no way to fairly compare one model against another. pCraft is my answer: a workbench for building with language models, 'Postman for LLMs', where you bring your own key, wire up multi-step chains, and run the same prompt across several models side by side. This founder-tone launch post covers why I built it, why I think it's useful, and the unglamorous lessons the project taught me: overbuilding infrastructure for a scale that didn't exist, falling in love with an architecture instead of a product, and what it means to hold someone else's API key.

Post thumbnail
Feb 20, 2026·26 min read

Building a RAG Pipeline from Your Sitecore Content

This article details how to build a production RAG pipeline that turns Sitecore CMS content into an AI chatbot. It covers using Sitecore's Layout Service for clean content extraction, component-aware chunking, vector embeddings for semantic search, and prompt engineering to keep responses grounded with source citations. The architecture is composable and keeps Sitecore as the single source of truth.

Post thumbnail
Jan 6, 2025·15 min read

Migrating from React to Next.js in a Sitecore World: Overcoming the Component Factory Hurdle

Migrating a React-based Sitecore application to Next.js can unlock powerful server-side rendering and modern performance benefits—but it also presents unique challenges. In this post, we dive into how Sitecore’s default component factory generation can unintentionally inflate your rendering list, turning each subcomponent into a standalone element. You’ll learn why this happens and how to implement a custom script that respects your existing folder structure. By doing so, you can keep your code organized, prevent confusion in Sitecore, and ensure a seamless editorial experience.

Post thumbnail
Oct 12, 2024·7 min read

Pros and Cons of Using AI for Testing: A Developer's Journey with CenariusCMS

In this article, we explore how AI assisted in writing tests for his Go-based CMS project, CenariusCMS. While AI isn’t flawless, it helped speed up the testing process and uncovered edge cases that hadn't been considered. The article delves into the benefits and challenges of using AI for testing, highlighting its ability to assist without replacing human intuition.

Page 1 of 2
FC

Senior Software Engineer building for the modern web.

Navigation

Connect

© 2026 Frank Costoya. All rights reserved.