Karson Kalt
.dev-
Connecting The useFilterManager Hook to FilterConfig with Query Parsing Wiring up the FilterManager to a Filter config for modular, well-tested, scalable UI
-
Building Config-Driven Rendering for a Data Explorer with Filtering A walkthrough of how we use a config-driven system to define filter behavior across different data explorer views Covers dynamic SQL-backed filters, input types, and rendering logic—all declaratively mapped and easy to scale
-
Designing an Encapsulated Filter State Manager for Query Building Designing a predictable, composable filter state manager for query-building UIs. Covers API encapsulation, deduplication, and SQL query generation using React hooks.
-
Building a Scalable Architecture Pattern to Migrate Off Supabase and Ship Quickly How I layered our Supabase app to stay modular, testable, and ready to scale
-
Cleaning Up Routing with Type Safety in React A lightweight approach to centralizing and type-checking route definitions using React Router and TypeScript.
-
Managing View State and Client-side Routing in SPAs A scalable routing approach to address routing challenges and illustrates a common pattern involving a collection rendering and routing in React.
-
Functional Programming in Ruby with Blocks and Procs Contrasting object-oriented programming against functional programming. Introduces the concept of functional programming in Ruby through the lens of blocks and procs. Also touching on code modularity and reusability.
-
Recursive Thinking Using recursion in algorithmic challenges. Talking about transitioning from iterative to recursive thinking, identifying base cases and the recognition of patterns.
-
Building Efficient Algorithms Using Memoization and Closures in Javascript Looking at the essentials of memoization and closures in JavaScript, exploring how these techniques can significantly optimize algorithms. Through a simple example of multiplying numbers, I look at the concept of caching solutions to enhance efficiency and speed in programming tasks.
-
Understanding 'this' in JavaScript Navigating the concept of this in JavaScript can be a tricky, especially for those accustomed to the straightforward self in object-oriented languages like Ruby or Python. I contrast this with self, and dive into JavaScript's prototypal inheritance to explain why this behaves the way it does.
-
What is a 'Hash' and How to Build one from Scratch in Ruby In this article, I explore what a hash is, starting from the basics and moving towards understanding their underlying structure and then illustrate how to build one from scratch.
-
Using Query Parameters in Rails Controllers Sharing learnings from my personal project, Houseplant Helper, on efficiently handling query parameters in Rails. I go over a scalable approach using the request object and the .send method within controllers, demonstrating how to dynamically respond to query parameters across an application..
-
Using React and Rails to build a SPA Demonstrating learnings from my personal project, OnRotation, a web app aimed at helping electronic music fans identify tracks played by DJs. I highlight the challenges and solutions in developing a user-friendly platform for music identification and go over the project architecture and how I designed the application.
-
Building a Turn-based Game Using JS and Rails I share learnings from building my personal project, GamePage, a web application that allows two players to engage in the classic board game "Reversi" (also known as "Othello"). I detail the project's architecture, including a Rails API backend and a JavaScript-manipulated front end, highlighting the seamless integration between the two technologies to offer a dynamic single-page application experience.
-
Building a Web App with Rails A guide to building a web app with Rails for my personal project, Houseplant Helper, an application designed to assist users in tracking their plant watering schedules. The article talks about MVC architecture, ActiveRecord, and the strategic implementation of partials to manage views.
-
Building a Web App Using Sinatra and ActiveRecord A walkthrough of my personal proejct, Kickflip, a web application designed for skateboarders to track local skateparks, share new tricks, and encourage engagement through a check-in feature. The application uses Sinatra and ActiveRecord for a Model-View-Controller (MVC) setup, and discusses the integration of the geocoder gem to enhance park search functionality by converting addresses into geographical coordinates.
-
My First Ruby CLI Program Sharing my journey as I continue the Flatiron School curriculum. I share learnings from a personal CLI project, DJ Booth, designed to track songs played by DJ. I also discusses nokogiri and open-uri gems due to the lack of an API from 1001 Tracklists.
-
Why I am Studying Software Engineering Growing up, one of my favorite books was "The Way Things Work". In the book, a cartoon woolly mammoth takes apart and explores the inner workings of everyday tools and machines. From giant faucets to oversize locks, the charming, slow-moving character explores everything that amazed me as a kid.
- React for true web apps. I have mixed feelings about the framework but can't argue that there is a large community and ecosystem around it.
- TypeScript. I believe in strong types, especially in an enterprise codebase. And with node now testing running TS, it's a no-brainer.
- Node for backends and scripting. I love the ecosystem and the ability to share code between the client and server.
- CSS of course for styling. Though I used to use them, I now don't think CSS preprocessors are needed with all of the new developments in CSS. Modern CSS supports design tokens, theming, and handles a lot of interactions that used to be handled by JS.
- Vanilla JS and Browser APIs. When I can, I try to stick to native web standards do so much cool stuff. Web components, element anchoring, view transitions, nested CSS is super powerful, so I keep it simple if I can.
- Next.js if I need SSR and infra out of the box. I don't love the pricing model, but getting something spun up quickly is a huge win.
- Vite, it's my favorite build tool.
- Vitest for unit testing. RIP Jest and Mocha, I won't miss you.
- Cypress for E2E testing.
- AWS for serverless infra and quick horizontal scaling.
- Storybook and Chromatic for interaction testing, design system libraries, visual regression testing, and as a UI sandbox.
Software engineer, UX advocate, people person.
I create UI experiences for the web that enable organizations to build faster and scale effectively.

About
I've always been interested in design and technology. Growing up, my favorite book was The Way Things Work by David Macaulay. With a math teacher for a mom and an industrial engineer for a dad, I naturally loved the space where logic-meets-design.
I began my professional career in 2014 working as a store manager for Target. After a few very challenging, but very rewarding roles, I re-evaluated my career path and attended a coding bootcamp at Flatiron School in 2020.
In 2021 I joined JupiterOne as a Software Engineer focusing on UI in React. After becoming more comfortable with the codebase, I began to take on more responsibilities. A few projects I worked on include: rolling out a design system, upgrading our data viz library, implementing virtualization and data-grid features for query results, assisting transitioning to a microfrontend architecture , building natural language querying, and overhauling our multi-modal search experience.
In 2024 I became a Senior Software Engineer at JupiterOne with the help of great mentors. Some recent projects I've worked on include introducing continuous threat and exposure management and adding smart classes to our query language and data model.
My Resume LinkedInMy Stack
Here is a short list of things that I use most often when starting a new project.