Project description of working with Python and event driven architecture for an engineering firm

Real-Time, Event-Driven Platform with Python, Kafka, and AWS

Lauren Fournier Bogner Application Enhancement, Microservices, New Development, Python Leave a Comment

Keyhole Software is supporting a client in the engineering and infrastructure sector with a custom platform designed to automate and streamline customer service operations. A two-person Keyhole team led the architecture and delivery of a real-time service portal, enabling operational insights for existing clients and generating new revenue opportunities. Key challenge: Integrating disparate data sources while maintaining a flexible data …

Updating Microservices with Netty 5, Kafka 3, and React: Whirlpool Revisited

John Boardman Articles, Development Technologies & Tools, Java, JavaScript, Microservices, React Leave a Comment

Back in 2015 and 2016, I wrote two blogs that went step by step to develop a microservice/Netty architecture with fully working code called Whirlpool.

A lot has changed in the years since, so recently I decided to come back to the project, update it with the latest versions of Kafka and Netty, and add a React UI to it (rather than the vanilla JavaScript version it used before). In addition, I also added Windows Subsystem for Linux (WSL) scripts in addition to the Mac and Linux scripts that were there before and made all of the scripts more robust.

This blog will be about the work that went into all of those updates, plus a look at the new React UI. This provides an excellent view into what it takes to update an outdated microservices application implemented with Kafka (version .9 –>3.0) and Netty (4.1.3->5.0.0-alpha2), bringing all versions up to date and adding a React UI. By the end you’ll be familiar with the latest versions of these frameworks, know some “gotchas” to avoid, as well as understand how to integrate WebSockets into React.

Whirlpool: Microservices Using Netty And Kafka

John Boardman Articles, Development Technologies & Tools, Java, Microservices, Tutorial 2 Comments

Attention: This article was published over 10 years ago, and the information provided may be aged or outdated. While some topics are evergreen, technology moves fast, so please keep that in mind as you read the post.Introduction Update! Whirlpool now uses the “just released” Netty version 4.1.3. The great news about this is the upgrade required zero code changes, just …

Custom Software Development Process: Enterprise Best Practices 2026

Keyhole Software All Industries, Articles Leave a Comment

Custom Software Development Process: Enterprise Best Practices Enterprise software development requires disciplined execution balanced with flexibility to adapt to changing requirements. Organizations implementing custom software projects are expected to deliver high-quality systems on predictable timelines while navigating legacy integrations, regulatory requirements, and evolving stakeholder needs. Industry research consistently shows that breakdowns in process—not tooling—are the leading cause of enterprise software …

Advantages of Custom Software Development: A Technical Decision Framework

Keyhole Software All Industries, Articles, Keyhole Perspectives 1 Comment

The build-versus-buy decision represents one of the most consequential technology choices facing mid-size to enterprise organizations. When existing systems constrain operations, internal teams lack bandwidth, or off-the-shelf platforms cannot accommodate complex workflows, technical leaders evaluate custom software development against commercial alternatives.

Drawing on industry data indicating that 67% of failed software implementations stem from incorrect build versus buy decisions¹, this guide examines eight key advantages of custom software development through a technical and financial decision framework designed for engineering leaders, architects, and executives evaluating when custom solutions outperform commercial alternatives.

What this guide covers:

Scalability advantages and architectural control that eliminate vendor pricing constraints…