Building Alice, an Empowering AI Agent

What does it look like to build AI agents that actually empower people’s lives, not just “augment” them? For HealthShare Technology Solutions, I wanted to build an AI agent that non-technical users can actually use to take the hassle out of their health care cost sharing plan. In this post I’ll describe the guiding principles and design decisions that made Alice not just possible, but empowering to everyday users. The guiding principles I used in building Alice come down to four key words: ...

March 18, 2026 · 9 min · 1905 words · Gordon Burgett

Building an Unstructured Data Import

Sometimes the hardest thing to figure out is not “how” to best apply a new technology, but “when not” to apply it. Nowhere has this been more true than with AI. With the rush to stick the AI brand on every project, software engineers are being pressured to “just throw more AI” at the problem and hope it works. In my hourly contracting on Neighbor Solutions, I’ve been asked to build a data import pipeline for community resources. To give a bit of context, one core function of the Neighbor Solutions app is to help users who have a heart for our unhoused neighbors to guide them towards helpful resources in their community. These can be food banks, shelters, warming stations, and many more. The major technical difficulty here is getting accurate data into the system in an automated way. Many times, lists of these resources are in poorly formatted PDFs or screenshots of webpages. There is very little consistency here, so some amount of natural language processing is required. ...

November 16, 2024 · 5 min · 912 words · Gordon Burgett

Implementing Licensing & Permissions in a React Redux app

In the process of building out the VoirDire App for our client, we ran into an interesting problem. How do we enforce licensing requirements in a cross-cutting way, without tediously identifying every area in the UI where the user might take an action that they were not allowed to take? The client’s licensing requirements were: On the free plan, a user can have 1 trial, up to 20 jurors, and up to 20 stored questions. With a standard license ($30), up to trials, 100 jurors, and 100 stored questions. An unlimited license ($50) removes all limitations. Since we are using Redux to handle application state, calculating the remaining jurors, trials, etc. in the license can be done with a selector. The selector accepts the entire redux state and the user’s current license key, then calculates whether they are over or under the limit. ...

October 20, 2024 · 2 min · 305 words · Gordon Burgett

Thoughts on Cursor

As AI tools continue to reshape software development, I’ve been particularly impressed with Cursor, an AI-powered code editor that has transformed my daily workflow. After several months of use, I want to share my experiences and observations about why this tool has become indispensable in my development process. The most striking impact of Cursor has been the dramatic increase in my productivity - I estimate it has doubled my coding speed. The secret sauce that Cursor has nailed is the UX around applying suggested edits back to my codebase. The experience feels natural, almost like dictating your thoughts to a junior developer who then implements the code exactly as you envision it. ...

September 20, 2024 · 4 min · 813 words · Gordon Burgett