Please wait while your request is being verified...| keyholesoftware.com
Artificial intelligence is no longer limited to large data centers and high-powered servers. Today, more organizations are deploying ML models to edge devices such as smartphones, tablets, and IoT hardware. These devices work in environments where connectivity is not guaranteed and computing resources are restricted. By running models directly on edge hardware, businesses reduce latency, enable offline functionality, and improve ... Read More The post Deploying ML Models to Edge Devices with ...| Keyhole Software
Remember when blockchain was going to change everything? Now AI is the trend dominating every conversation—but some of the most effective programming ideas have been around for decades. This post examines one of COBOL’s lesser-known yet highly practical features: the 88-level field. Far more than a simple boolean, 88-level fields provide a clear, maintainable way to describe data conditions, enforce business rules, and streamline initialization. Through real-world examples, you’ll see h...| Keyhole Software
Outdated deployment practices can slow down even the best software teams. When you’re still manually moving files between servers, it’s easy for small| Keyhole Software
The Keyhole team is proud to announce the publishing of a new, free white paper: COBOL Modernization Strategy with Spring Batch This strategy positions Spring Batch as an irresistible proposition for organizations ready to bid farewell to their COBOL legacy. Keyhole Software offers guiding principles for COBOL modernization, with a comprehensive guide based on tangible experience for enterprises navigating the realm of COBOL modernization.| Keyhole Software
A familiar challenge for many businesses is knowing when it’s time to modernize. Legacy applications that once ran smoothly on in-house servers start to| Keyhole Software
Deploying a mobile app is often more difficult than building it. In this guide, we simplify the confusing, often poorly documented process of deploying a Flutter app for internal testing. Learn step-by-step how to distribute your app through Google Play Internal Release and Apple TestFlight, so real-world testers can start using your app sooner.| Keyhole Software
Please wait while your request is being verified...| keyholesoftware.com
In this blog, we'll explore how CI/CD automation with tools like JIRA Cloud, Jenkins, Slack, GitHub, SVN, and Postman benefits Agile teams as a whole.| Keyhole Software
Securely integrate AI into your enterprise with EnterpriseGPT by Keyhole Software. Deploy GPT-powered tools with custom filters, flexible hosting, and full data control.| Keyhole Software
Please wait while your request is being verified...| keyholesoftware.com
Industry: Supply Chain & LogisticsTechnologies: Java, Azure DevOps, Terraform, Helm, Azure Kubernetes Service (AKS), CrossplaneServices: DevOps| Keyhole Software
Please wait while your request is being verified...| keyholesoftware.com
It’s common to face challenges around long-running workflows, state management, and resiliency when you’re building cloud-native applications. Traditional approaches like background services or message queues might work sometimes, but they often require a lot of “glue code” and custom retry logic. This entails not only more work up-front for the developer, but also more maintenance in the long run. That’s where Azure Durable Functions come in. The post Long-Running Workflows Made Si...| Keyhole Software
Please wait while your request is being verified...| keyholesoftware.com
Google Cloud Platform (GCP) offers developers and organizations the ability to create and deploy serverless Cloud Run functions. This code – whether it’s written in Node.js, Python, C#, or another language – can interact with other parts of GCP’s infrastructure. By default, the function is triggered by a basic HTTPS request. However, that is not our only option. In this blog, we’ll introduce the concept of event-driven functions—a powerful way to automatically respond to changes a...| Keyhole Software
Virtual machine deployments are no longer the standard for running modern software. If you’re using Docker for event-driven applications, choosing the| Keyhole Software
Get ahold of the Keyhole Software team! If you have questions regarding our consulting, application development, or learning services, send us an email.| Keyhole Software
It's an exciting phase when you decide to build a web application for your business. Whether you're looking to launch a new digital product, streamline| Keyhole Software
The purpose of this demo is to show you how easy it is to leverage Power Apps to quickly create an internal Attestation page. Power Apps can easily be tailored to meet your company’s design guidelines and delivered to your platform of choice, individualized, and tied to complex workflows leveraging the tools you use. This post is organized into three, fairly simple steps. I tried to break it down into minute, succeeding tasks, so it’s easy to follow along. Without further ado, let’s jum...| Keyhole Software
Streamlined frameworks like Spring Boot make it easier to build enterprise Java applications, but getting them to perform well under real-world loads| Keyhole Software
Security is the cornerstone of software built for regulated industries. Applications must work properly and meet strict compliance standards while| Keyhole Software
Expert developers, hands-on leaders & technical educators providing quality software consulting and solutions your organization can rely on.| Keyhole Software
We specialize in developing robust, well-documented APIs that serve as the backbone of enterprise applications. Whether you're building new digital products, modernizing legacy integrations, or enabling secure access to your data, our expert developers help you design and implement APIs that are reliable, scalable, and built to last.| Keyhole Software
A team of six highly skilled Keyhole Software developers collaborated to deliver a robust full-stack solution for an advanced insurance platform tailored| Keyhole Software
A Keyhole Software consultant has played a pivotal role in modernizing a complex financial management platform, seamlessly transitioning a key section of| Keyhole Software
As a Standard Tier Consulting Partner in the Amazon Web Services (AWS) Partner Network (APN), Keyhole joins an elite group of technology partners nationwide.| Keyhole Software
Keyhole Software has experience developing custom mobile apps using Flutter for various industries, including healthcare, finance, and education. Advisory & PoC Services: Custom consulting and training services, including guidance on best practices, architecture, and design patterns, as well as training developers to create their own Flutter apps. Flutter Development: Building custom Flutter apps, leveraging the framework to create high-quality, visually attractive, and performant mobile appl...| Keyhole Software
Accelerate software delivery and modernize legacy systems with AI-powered development. Keyhole Software leverages tools like EnterpriseGPT, RAG, and Windsurf to boost quality, reduce time to market, and ensure secure, scalable solutions.| Keyhole Software
Project description of a successful large-scale COBOL modernization and microservices implementation by Keyhole Software for KC Southern Railway.| Keyhole Software
Case Study: Modernizing Legacy COBOL Batch Processing for a Leading Food Wholesaler Keyhole Software successfully modernized a legacy COBOL batch processing system, addressing inefficiencies and integration challenges through an AI-optimized POC. Keyhole accelerated development efforts by 20-30% leveraging AI-driven tools in the migration from COBOL to Spring Batch, enhancing scalability, maintainability, and cloud-native capabilities for the client’s system. Download the case study -| Keyhole Software
The process of hiring quality developers has become more complex in today’s AI-driven world. With automated resumes and advanced interview technologies on| Keyhole Software
Keyhole Software is excited to announce the release of EnterpriseGPT, a powerful web application designed to help enterprise IT organizations leverage AI| Keyhole Software
This post walks through a hands-on experiment in agentic development using an AI-powered digital twin embedded in the IDE. See how a single, well-structured prompt enabled the agent to implement a real user story, generate behavioral tests, and prepare Git commit documentation—with minimal developer input. Includes real-world code samples, implementation insights, and a candid look at what worked, what didn’t, and where human oversight is still essential.| Keyhole Software
And we're not talking about the surface-level stuff! We dive into how these bleeding-edge revolutionists use GenAI to increase revenue and decrease operational costs. You'll learn how they have woven GenAI into the very fabric of their business to push themselves to new limits, beating out competition and exceeding expectations.| Keyhole Software
Welcome to the Keyhole Software Development Blog Join below to subscribe to the Keyhole dev blog and receive new posts by email. Free, no spam & opt out anytime. Categories Filter - All Topic - Choose One: .NET .NET Core Agile Angular Architecture ASP.NET AWS Azure Blockchain C# Cloud Consulting Databases Design DevOps Docker Flutter Git GraphQL Java JavaScript Kubernetes Microservices Mobile Node.js React React Native Spring TypeScript Testing Vue.js Video Xamarin.| Keyhole Software
Keyhole Software is passionate about providing consulting, education, and high-quality software development services for organizations of all sizes.| Keyhole Software
I wanted to take some time to put together a summary of some popular dependency injection (DI) frameworks for Java. This is a high-level overview of| Keyhole Software
You’ve officially made it! We’re almost ready to wrap up our conversation about the Scaled Agile Framework. In case your memory is hazy, I’m a senior consultant and team lead on the Keyhole Software team. I’ve been working with a client who is adopting SAFe, guiding their team and helping to set the right culture for the methodology. I’ve learned a lot about SAFe over the past year, and in this blog series, I’m sharing what I’ve learned with you. In this final series installment...| Keyhole Software
Good code can run, but clean code endures. In the world of Java, writing clean, efficient code is essential for building robust, maintainable applications| Keyhole Software
The toolset of the JavaScript developer is ever-evolving and ever-changing. Array manipulation saw dramatic improvements in usability, utility, and readability with the release of the ECMAScript 6 standard in 2015. This update was released with game-changing features like arrow functions, scoped variables like ‘let’ and ‘const’, and many other commonly used tools. As a developer, I use these features on a regular basis when developing in a Javascript environment, whether that’s a fr...| Keyhole Software
Helping your business harness the benefits of mobile platforms and achieve your goals through expert consulting & custom development.| Keyhole Software
TL;DR: Struggling to keep form validation and UI in sync in your React app? Here’s how I used Zod and React Hook Form together to define a single source| Keyhole Software
In this guide, we'll show you how to leverage Ollama, a popular tool for local LLM execution, and the Continue VS Code extension to create a powerful coding environment. Follow along, and you'll be running AI-powered code suggestions in no time!| Keyhole Software
Event Source is an implementation of the Single Source of Truth architecture. Event Sourcing, at its core, just stores events as an ordered sequence of| Keyhole Software
The hiring landscape is evolving, and so are the scams targeting companies. From AI-generated resumes to remote job location deception, bad actors are finding new ways to infiltrate hiring processes. In this blog, we break down common hiring scams, how they work, and—most importantly—how to protect your organization from costly mistakes. At Keyhole Software, we take the headache out of hiring by providing vetted, U.S.-based consultants you can trust—eliminating the risks and ensuring qu...| Keyhole Software
In today's fast-paced technology landscape, choosing the right software development model is crucial. Whether it's onshore, nearshore, or offshore, each| Keyhole Software
In this article, we will go over how to install the Hangfire NuGet package within the NuGet Package Manager in Visual Studio. Then, we’ll walk through how to configure it within the .NET Core framework using Service Fabric. Lastly, we’ll learn how to use the BackgroundJob.Enqueue method in order to schedule a background task to be performed and at the same time not disturb the flow of your code.| Keyhole Software
This blog describes the basics of what it takes to get an existing LDAP server moved from the PV virtualization type to HVM. I encountered this situation personally while working for a client earlier this year. Efforts have been made to keep most of it generic enough to be useful for other situations involving system upgrades or replacements as well.| Keyhole Software
Documentation is an integral part of any development process and can take significant time and effort to write. Additionally, even if we write quality documentation, oftentimes it fails to evolve as development best practices change and can quickly become outdated. Mermaid aims to fix this so-called “Doc-Rot” by creating a quick and easy way to create detailed diagrams that can evolve alongside code development. Today, we will be going over Mermaid and, more specifically, how it can be us...| Keyhole Software
Creating dynamic, responsive web forms doesn't have to be complicated. With HTMX, you can build a seamless signup form using just a few HTML enhancements. In this blog, I'm going to show how to make a basic signup form with HTMX. We'll cover how a few minor improvements to HTML allow us to make a simple form quickly while keeping state consistent. There will be only three sections to the form, but it's easily extendable with changes in only one or two routes per change.| Keyhole Software
Effective communication isn’t just about sending messages; it’s about knowing they landed, were understood, and acted upon. In agile software teams, short feedback loops are one of the most powerful ways to reduce misunderstandings and build alignment. Here’s why they matter and how to build them—both inside and outside the development team room. “The hardest part of any project is communication.” ~Lynn Brownlee| Keyhole Software
Keyhole Software is pleased to share that it has earned multiple Clutch awards for 2025. Clutch, a leading B2B ratings and reviews platform, has ranked Keyhole among the top software development firms in Kansas City. These accolades highlight Keyhole’s expertise across Kansas and Kansas City, including Top Software Developers, Top Staff Augmentation Company, and Top App Modernization Service. The firm also stands out in key technology areas, earning recognition as a top provider for .NET, J...| Keyhole Software
It’s important to thoroughly consider both the benefits and drawbacks of microservices architecture before you implement it. It’s also important to implement robust testing strategies to ensure the reliability and quality of the overall system. Over the course of this blog, I’ll explore the good, the bad, and the testing side of microservices. My hope is that this will give you a starting point as you consider whether microservices architecture is right for your project.| Keyhole Software
The world of technology is constantly evolving, but despite the rise of cutting-edge programming languages and modern software frameworks, COBOL| Keyhole Software
Application Development Services At Keyhole Software, our core focus is application development, creating custom applications that solve real business problems. We cater to a wide range of clients, from well-funded startups to Fortune 100 organizations. We excel in providing high-quality new development or adding new features to existing applications. Additionally, we specialize in integrating with systems or third-party gaps to ensure seamless operations.Custom Application Development We bui...| Keyhole Software
When it comes to building applications in the .NET framework, performance is a critical aspect that can make or break the user experience. However, even| Keyhole Software
I am working on a project that leverages both Azure Functions as well as Cosmos DB. In trying to get both of these components wired together, I found that there are very few examples that work with the most recent versions of these components. I also saw examples that could work at a small scale, but don’t show industry-standard best practices, and would lead to performance issues if deployed in an environment with any meaningful traffic. To that end, I put together this blog post showing h...| Keyhole Software
In this post, I show how to cajole Array.sort() into producing the following order. This: instead of this.... The answer is to pass the sort function a comparator argument from the International Collator built into every major browser and Node.js. This approach is simple and declarative for lists of flat strings. The comparison function arguments default to each string being compared. For sorting objects such as a list of dropdown choices, just pass a pair of the sort field drill-downs to the...| Keyhole Software
Is offshore software development really the best option for your business? At first glance, the lower costs and larger teams may seem appealing, but in| Keyhole Software
In Part 4 of the Keyhole Blazor Server in .NET 6 series, we covered adding events in our Blazor components. In sum, I demonstrated how to add a service that contains the events that components can listen to with methods to notify when to invoke our events. After that, we added that service to the BaseComponent. The section is complete with adding the new character to our list of current characters in storage in order to notify all listening components of this event. I hope you’re enjoying w...| Keyhole Software
We help clients to plan, prioritize, and implement DevOps strategies that reduce time from "code commit" to deployment while maintaining uptime and quality. Services include Assessment & Strategy: Analysis of current practices, tools, and workflows, identifying areas for improvement and developing a tailored DevOps strategy that aligns with unique business objectives and goals. Containerization & Orchestration: Containerizing apps and adopting container orchestration platforms to automate the...| Keyhole Software
Keyhole Software offers a range of services related to Microsoft Azure, helping clients leverage the capabilities of the Azure cloud platform. Services include Cloud Migration: Migrating applications and infrastructure to Microsoft Azure by assessing the existing environment, developing a migration strategy, and executing the migration process while ensuring minimal disruption to business operations. Azure App Services: Building and deploying web & mobile applications using Azure App Services...| Keyhole Software
Helping nationwide clients embrace cloud technologies through custom modernization, migration, and cloud-native development services. Services include Cloud Strategy & Consulting: Assessing current status and defining cloud adoption roadmaps, identifying the right cloud for specific needs. Cloud Migration: Migrating existing apps & infrastructure to AWS, Azure, and Google Cloud Platform through lift-and-shift, re-architecting, and re-platforming. Cloud Native Development: Developing apps from...| Keyhole Software
We work with organizations in every industry, all of which employ different technologies & development processes. To demonstrate, look at our recent projects.| Keyhole Software
If you work with Java, you're likely aware that performance is crucial. No one wants a slow application, especially when scalability and user experience| Keyhole Software
In this post, we will walk through using Terraform to create a Google Cloud function that triggers when a file is uploaded and outputs the file details in| Keyhole Software
Have you ever wondered why some companies remain committed to Java while others thrive with .NET? As technology rapidly evolves, making the right choice| Keyhole Software
The digital landscape is constantly shifting, compelling enterprises to seek out strategies that not only streamline their development processes but also| Keyhole Software
AI is already changing the way developers build, test, and deploy software. At Keyhole Software, we have been using AI tools for over five years to| Keyhole Software
MSAL, or Microsoft Authentication Library, is an essential tool for developers aiming to implement robust authentication systems efficiently. It| Keyhole Software
Keyhole Software is proud to announce its Top-Four rank as a Software and Web Development firm by the Kansas City Business Journal. The ranking is a testament to Keyhole's contributions and growth in Kansas City’s technology sector.| Keyhole Software
The pace of technological change is faster than ever, and enterprises are under constant pressure to improve their software development processes. AI has| Keyhole Software
Discover how Terraform IAC setup simplifies cloud infrastructure management, with a focus on Identity Aware Proxy (IAP) configuration on Google Cloud Platform (GCP). Learn from real-world challenges and solutions to streamline your cloud environment and automate processes.| Keyhole Software
Software development constantly evolves, with new architectural trends emerging and reshaping how we build applications. Over the years, we've seen| Keyhole Software
Mainframes have long powered critical financial transactions and government operations. However, across the U.S., particularly in Kansas, these systems| Keyhole Software
Keyhole Software has a team of experienced architects who can help clients design scalable and efficient software architectures that can handle complex business requirements.Architecture Design Designing software architectures that are tailored to client business needs. This includes identifying the best technologies, frameworks, and design patterns to use for the project.Performance Optimization Optimizing software architectures for performance, enhancing application responsiveness to handle...| Keyhole Software
We are thrilled to announce that Keyhole Software is a Bronze Sponsor of Big Slick 2024! This annual event, which combines a passion for charity with the excitement of entertainment, brings together celebrities and the community to support a cause close to our hearts. As a company deeply committed to community engagement and social responsibility, Keyhole Software is honored to contribute to this noble cause. Our sponsorship reflects our dedication to supporting initiatives that make a tangib...| Keyhole Software
Your PostgreSQL database might be handling today’s workload just fine, but what happens when traffic surges, data volume skyrockets, or queries start| Keyhole Software
With a strong foundation in machine learning and automation, Keyhole helps clients design robust AI architectures that deliver at scale.| Keyhole Software
AI is changing how mobile apps work, and it no longer requires constant internet access. With on-device machine learning, mobile applications can run AI| Keyhole Software
In software development, certain patterns can make or break the maintainability and flexibility of your codebase. If you've ever faced challenges managing| Keyhole Software
JavaScript development has transformed dramatically since its inception, mirroring the rapid evolution of the digital world. Every few years, the tools| Keyhole Software
It’s time to release your latest front-end changes to production. However, as you create a new tag, you notice a large number of commits unrelated to the| Keyhole Software
Imagine a world where coding for the web was akin to painting with charcoal on rough cave walls—primitive, cumbersome, and lacking finesse. That was the| Keyhole Software
Choosing the right development framework can directly impact your app’s performance, scalability, and long-term success. In 2025, two major options stand| Keyhole Software
In my last post, “Introduction to Web Apps with Next.js”, we went through the steps of setting up a new Next.js project, customizing a landing page, and implementing a very simple web application. In this post, we’ll implement an Open Authentication (OAuth) based Single Sign-On (SSO) API within Next.js using NextAuth.js. We’ll be using GitHub as our provider, but the steps here are very similar for other platforms, such as Google or Discord. This will allow us to place portions of our...| Keyhole Software
Automated testing is a great way to ensure that any application can continue to grow and change while still giving fast and practical feedback to developers. This feedback can tell developers whether or not the changes introduced meet the requirements of the product and don’t introduce bugs. As discussed in a previous blog series, automated testing can be a valuable resource when trying to deliver both agile and maintainable applications. But where should you get started and what technologi...| Keyhole Software