Hi, We’re Keyhole!
We develop React applications for our clients.
React Consulting Services
Advisory & PoC Services
Strategic analysis, tailored advice, and proof-of-concepts to ensure that React is viable for the requirements of your organization.
React Development
Using React to build a custom application from start to finish or to extend your existing React apps with new features.
Education & Training
Hands-on instruction from our React experts to set your team up for effective development.
React Project Augmentation
Experienced React practitioners add key just-in-time React skills or leadership.
Project Highlight

Using React & AI to help people get their money faster after a car accident
Keyhole helped a multi-national company to develop an application focused on automating the insurance claims process after a car accident.
Technologies: React, Artificial Intelligence, Spring Boot, Microservices, REST, and Java
Adjusters upload damage photos to the application. It detects make/model and the damaged parts, type and severity. Using that, it defines set manufacturer repair operations and creates an estimate.
50% of claims are automatically authorized due to high confidence score—reducing estimating costs and getting consumers a faster resolution.
Learn About React
- So, you want to develop a new website with spiffy apps on Android and iOS, and you want that website and your APIs to run...
- I’m currently working on several cloud-native projects hosted on Google Cloud Platform (GCP) that use .NET for the API and React for the UI. These...
- In today's fast-paced web development world, Next.js is one framework that's becoming popular among developers. It’s a powerful React-based solution that offers a lot more...
- 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...
- This post demonstrates some of my favorite search techniques that work well in VSCode, including some basic RegEx (Regular Expressions) expressions that will help you...
- In the latest episode of Next Level, Zach has the pleasure of chatting with Tom Hill, Engineering Director at Corsearch, about his career journey and...
- In this post, I am going to demonstrate how to set up a simple Next.js web application. Next.js is a heavily opinionated JavaScript framework, in...
- Mobile application developers constantly seek innovative methods to craft apps that resonate across diverse platforms. This quest has given rise to cross-platform mobile development, a...
- In the post, I’ll be talking more about the map() function - how it differs from other common loops, exploring its optional second parameter, using...
- There is such a rich, user-driven ecosystem around React that it can be difficult to discern which frameworks, if any, should be used to develop...
- In this post, we will explore Apollo Client integrated with a React application and how it provides an abstraction layer between a JavaScript application and...
- In this post, I will go over some technical details on how to work with server-side rendering in Next.js as well as some cool and...
- Keyhole Software gives readers an in-depth code walkthrough and tutorial for how to integrate Avaya Agent for Desktop using React and SignalR.This integration allows the...
- A new trend of creating applications is emerging called Jamstack. No, this isn’t slapping together your favorite flavor of jelly (grape is the best) with...
- A 45-minute discussion diving into the Vue.js framework, including its technical philosophies, how it differs from the React library, and how it should be applied...
- For this blog, I'm going to continue using the example project I've used for the last several blogs, Whirlpool. You can find my last post...
- In this blog, I’ll focus on one tool you might use for State Management, Recoil. First, we’ll look at why State Management is an effective...
- Web application users are accustomed to canceling a popup (aka dialog or modal) by pressing the escape key, and many modals can even cancel if...
- In the world of technology and development, there are many different types of frontend frameworks that are used. In this post, we’ll discuss two of...
- Recently, I was involved with a project that required the client to collect payments from their customers. This brought up many questions on the best...
- Webpage navigation is something that is intrinsic to almost every website that goes past “Hello World." In this blog, I will be exploring React-Router, a client...
- In this blog, we will explore React Hook Form, an extremely lightweight and effective form building library using React. This open-source, third-party library has no...
- 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...
- React has gotten a little funny of late - a few years ago, it was normal to embrace the Object-Oriented paradigm, writing each component as...
- Hey everyone, my name is Haaris Chaudhry, and I’m a developer at Keyhole Software. Let me tell you about react-query!In this blog, I’m going to...
- Every application has some need for environmental variables that are specific to that environment. This can be database connections strings or URL to an API...
- Building a messaging app sounds complicated, but it really isn't. With the right tools, creating one might be simpler than you think. In this post,...
- In our past tutorials, we have gone over the different things we can test with Jest and Testing Library with React Native. In this tutorial,...
- In our last tutorial, we went over style testing. In this tutorial, we will go over functional testing for your React Native app.
- This series covers testing React Native apps with Jest and Testing Library. In our past tutorial, we went over testing text and a button. In...
- In our last tutorial, we went over how to test for an element/component that is not found. In this tutorial, we will go over...
- This 33-minute video features Keyhole Principle Consultant Mat Warger at our internal employee lunch and learn in November 2020. He discusses GraphQL's main features and...
- I created several JavaScript modal dialogs - I always extend a framework modal instead of scratch-coding my own. I thought I knew the things a...
- In the last installment (Part II), we walked through creating and executing our very first test. With that out of the way, let's move on...
- This is Part 2 of our series, Using Jest and Testing Library with React Native. This post will cover the steps you'll need to take...
- In this post, Part 1 of Using Jest and Testing Library with React Native, I'll give a brief introduction to Jest, Testing Library, and React...
- Expo is a platform and framework that allows you to write cross-platform code using React Native, taking advantage of the APIs native to each platform....
- No matter how much you love JavaScript, as with all languages, there are certain aspects of it that are bothersome and frustrating. The lack of...
- They say necessity is the mother of invention, and the pandemic has given us plenty of need for finding and innovating new ways of functioning. The...
- In most React applications, there are many components working closely together to share and pass data between them. This can sometimes make it difficult to...
- The React framework’s component-based approach makes managing large projects simpler. By making it easier to break functionality down into logical pieces that are encapsulated, the...
- Most, if not all, of my experience has been with .NET and .NET Core. I’ve also worked with most of the front-ends throughout history including...
- As your application complexity increases, you may start thinking about implementing a session timeout in instances when there is no activity for a period of...
- State machines are an old concept. They are a proven solution that provides a solid architectural foundation for application processes. In this article, I hope...
- We’ve all seen and read the React tutorials. We know about classes and components and JSX and whatnot, but then there comes the time when...
- Let us present this scenario. You’re building a React application, and you’ve been tasked to build a registration form. Seems simple enough, you think at...
- It can be challenging to decide on the right strategy for reaching the mobile audience, though. If you decide an app is what you need,...
- Both React and Angular are very popular front end development frameworks. In this post, I will discuss the similarities and differences between the two, and...
- So you have mastered Spring Boot and started toying around with React. Now you want React to talk to your Boot app as your back-end...
- Machine Learning enables a system to automatically learn and progress from experience without being explicitly programmed. It’s a subset of the artificial intelligence (AI) technology...
- I'm a big fan of Amplify. I'm also a big fan of TypeScript. Amplify is not built with TypeScript, and to use it effectively, sometimes...
- There are two ways to create React components, using functions or classes. A common question when learning React is often “When do I use which?”...
- In this post, we’ll discuss the concept of types, compare static and dynamic types, and show an unobtrusive type inference package provided by Flow.org.Facebook developed...
- The React Native framework supports an installable mobile application created from JavaScript source code. It is not a React-based web app wrapper. It isn’t a...
- As Keyhole consultants, we are exposed to a plethora of technology stacks and implementations from client project to client project. Particularly with our enterprise clients,...
- We are proud to announce the new release of a Hyperledger Fabric Blockchain Browser open source web application. This application utility allows developers and operators...
- Let’s say you’ve stepped into a React application to make some updates or been involved in building one yourself. You have been at it a...
- There are many options when it comes to managing the state of a React application. Choosing the right one for your application can feel daunting.The...
- Keyhole Software is proud to announce the release of the Keyhole Guitar Tuner application. This open source application provides audio for tuning guitars.With the free web...
- I have been with Keyhole Software for nearly four years. Every time I write a new blog post it is about a new framework that...
- In the last few years, React has continuously gained popularity for the development of web applications. At Keyhole, we have several blogs talking about React...
- The Keyhole team is excited to announce the release of an open source UI chat component that can be embedded in applications. This UI Component...
- Use Redux! Use MobX! Just use `setState`! Redux is functional! Mobx is reactive! `setState` is built-in! But Redux has so much boilerplate! But MobX is more difficult...
- Previously, we looked at a very basic example of how one can benefit greatly by using community projects such as Formik to avoid the tedium...
- New JavaScript frameworks and libraries are created every day. This generates a dilemma: which solution should we use when starting a project?My web development experience...
- React is a JavaScript library for building user interfaces. That's it. It's a way to use JavaScript to define UI elements based on user-defined properties...
- React v16.0 was released by Facebook on Tuesday, September 26th. This version introduces performance boosts and other very helpful features.React 16 brings some significant internal...
- We created a platform that supports developing a “conversational” type application through SMS. The user experience between a user and an SMS application can be...
- We at Keyhole have been helping our clients adopt JavaScript-based single-page applications for over five years. We have been impressed with the adoption and advancement...
- We at Keyhole have been helping our clients adopt JavaScript-based single-page applications for over five years. We have been impressed with the adoption and advancement...
- There are very good reasons to use immutable objects in certain languages. In JavaScript, however, I'm still kind of…. meh. In this blog post, I plan...
- NoteThis blog post will cover Facebook's React JavaScript library and Flux application architecture paradigm. It is a summary of the presentation I presented at DevCon 5 on 7/22/2015...
Six tried and true methods to improve the performance and design of your React application.
Get More Info: Improving Performance in React ApplicationsAn introduction to React hooks with code examples of those hooks in action. Specifically, we take a simple class component and convert it to a function with hooks, have an in-depth look at hooks useState
and useEffect
, and create a custom hook.


We are constant learners, evolving our skills to include the newest technologies to help us better serve our clients' needs.
React Competencies
- A team of skilled Keyhole Software developers is collaborating to modernize production and order management for a manufacturing client by replacing manual, spreadsheet-based workflows with...
- A team of six highly skilled Keyhole Software developers collaborated to deliver a robust full-stack solution for an advanced insurance platform tailored to enhance efficiency...
- Keyhole Software provided comprehensive solutions through architecture design, frontend and backend development, and deployment strategies. Using a combination of Java, Node.js, React, MaterialUI, MobX, and...
- Keyhole Software successfully developed a scalable, user-friendly web application dashboard for traffic data solutions. Utilizing technologies like React, Node.js, GraphQL, and AWS, the team implemented...
- Keyhole Software played a pivotal role in orchestrating a holistic modernization initiative for a client in the business finance software sector. The journey commenced with...
- The project is undertaken for a prominent healthcare system situated on the East Coast of the United States. Keyhole Software has been a trusted consultancy...
- A senior Keyhole Consultant led an architectural assessment for a cash flow management client. The goal was for the consultant to lay out a roadmap...
- Keyhole Consultants led the design and development of a greenfield React application, providing just-in-time leadership & development to help the bank successfully meet deadlines negatively...
- A Keyhole consultant worked independently to build and implement a new single-page React application with Typescript. This application is designed to run in a browser...
- Client Snapshot: National less-than-truckload (LTL) transportation company headquartered in the Midwest Project Snapshot A team of Keyhole consultants joined the client's team of engineers to develop a...
- Client Snapshot: The client is a Fortune 500, publically traded energy company. It covers over 28,000 square miles in eastern Kansas and western Missouri and...
- The client is an over 150-year-old, nationally recognized banking institution with hubs in Kansas City and St. Louis.A team of seven Keyhole consultants was brought...
- A Keyhole Consultant was brought in to directly work with the client’s full-stack development team. The goal of the project was to help the client...
- A team of Keyhole Consultants was brought in to help a client in the healthcare insurance space with a rewrite of their existing, proprietary application...
- Project & Client Objective A Sr. Keyhole Software Consultant architected and developed a full-stack set of applications (and DevOps) of a social events fitness platform with...
- Project Objective The project was part of a key initiative to expedite the modernization of a private company’s suite of websites and mobile applications. Keyhole was...
- A team of Keyhole Software consultants helped a multi-national company to develop an application focused on full automation of the insurance claims workflow process after...
- A team of Keyhole Software Consultants built a customer-facing analytics dashboard for an international leader in automotive data and software services. This project was performed...
- Under an aggressive 6-week deadline, a four-person Keyhole Software Consulting team was charged with delivering functionality to the first phase of a capital asset planning...
- Client Snapshot: Privately controlled and independent investment management firm.A cross-functional team of Keyhole Software consultants assisted a long-term client of Keyhole Software on various, concurrent...
- Project Objective Keyhole Software developed a cross-platform mobile app using React Native for a popular all-girls social networking site dedicated to the empowerment of young girls...
This varied experience directly benefits clients: Keyhole consultants quickly come up to speed on your stack, configuration, and action items to meet project goals.