Context Engineering: What Your AI Assistant Sees Matters More Than What You Ask

Sai Pavani Bhavanashi Agentic AI & AI-Accelerated Development, Articles, Artificial Intelligence, Tutorial Leave a Comment

Most of the advice I’ve seen about getting good code out of AI assistants like Claude Code is about writing better prompts. In my experience, that stopped being the main lever a while ago. What matters more is what the model can actually see when it reads your prompt: which files, which conventions, and how much noise is in the way.
People have started calling this context engineering. In this post, I’ll walk through what that means and three habits I’ve picked up, using Claude Code’s CLAUDE.md and subagent files as concrete examples.

Executive Interview Series: Moneesh Arora, CEO of gWorks

Keyhole Software Articles, Keyhole Perspectives Leave a Comment

At Keyhole Software, we spend a lot of time thinking about what it takes to modernize legacy systems for organizations where the stakes are high and the margin for error is low. Few sectors fit that profile better than local government. We recently sat down with Moneesh Arora, CEO of gWorks, the top-ranked cloud software platform built for municipalities, counties, …

Designing a Notification System at Scale with Spring Boot and Kafka

Aparna Choudaram Articles, Java, Spring Leave a Comment

A notification system often starts with a simple requirement: send an email, text message, or push notification when something happens in an application. For a small system, calling an external provider directly may be enough. As traffic grows, however, notification delivery becomes a distributed systems problem. A production notification platform needs to handle traffic spikes, provider failures, duplicate events, retries, delivery tracking, and multiple notification channels without slowing down the application that generated the notification.
This article explores how a scalable notification system can be designed using Spring Boot and Kafka, with a focus on asynchronous processing, fault tolerance, idempotency, retries, and horizontal scaling.