The recent Trivy GitHub Actions security incident got me thinking more seriously about the security model around CI systems. Most teams spend a lot of time thinking about dependency security, but I increasingly think GitHub Actions workflows deserve to be viewed through the exact same lens. In some cases, they may actually represent a larger […] The post Is GitHub…
Atomic Object
https://spin.atomicobject.com/ · 110 posts · history since 2026 · active
Yesterday
9 Jun
Update: This post was written prior to the GSD repository being abandoned by its maintainer. The future of GSD is uncertain, but the lessons from this can be applied to other spec-driven development frameworks. My Intro To GSD I first used the Get Shit Done spec-driven development system for Claude on a client project. This […] The post Getting Shit…
8 Jun
As a Junior Developer who is just starting out, I never really got to witness the world of Software design without virtual backlog management. I often hear about the boards filled with sticky notes as the backlog stand-in, but I always just assumed that since we don’t do it anymore, it must be inefficient and […] The post The Value…
7 Jun
A few weeks ago, I asked my younger brother a very random question: “What would the consequences be of putting higher performance shock absorbers in my car?” Question One He led me down an interesting conversation about the costs, the considerations, the damage it could do to my very simple Mazda CX-30. We chatted about […] The post My Encyclopedia…
6 Jun
Not all questions are created equal. Recently, some discourse has been happening in my early career program around finding our voice, participating in meetings, and asking questions. This tends to be harder for early-career people for a multitude of reasons. I think a common denominator for a lot of the reasons comes down to self-limiting […] The post How to…
5 Jun
Every year, the Merge conference in Grand Rapids brings together software developers, designers, product leaders, and technology professionals from across West Michigan to discuss how our industry is changing. Organized by Software GR, the conference has become a space for practical conversations about software development, collaboration, leadership, and emerging technology trends. For the past few […] The post From AI…
4 Jun
Below, you’ll find a tour of CQRS, Event Sourcing, and Projections as they actually appear in a real production NestJS + KurrentDB + PostgreSQL + Drizzle codebase. It’s roughly a 15-minute read. The goal is not just to discuss what these patterns are, but why they are shaped the way they are, and where they […] The post CQRS and…
3 Jun
Smart home devices are usually sold on convenience. Control the lights from your phone. Turn down the thermostat from bed. Get a camera notification when someone walks up to the porch. Automate the boring stuff and feel like you are living slightly closer to the future. That future gets a lot less fun when the […] The post Your Smart…
2 Jun
Have you ever wondered if there was an easier way to sort imports automatically in your Angular project? Disorganized imports make code harder to read, slow down code reviews, and cause unnecessary merge conflicts. Sorting them manually requires a lot of effort — what if you could automate it? Introducing simple-import-sort simple-import-sort is an ESLint […] The post How to…
1 Jun
A few months ago I watched a sprint board do something I’d never quite seen before. Story cards weren’t stacking up in In Progress. They were stacking up in Ready for Review. On every project I’d ever worked on, the bottleneck was writing the code. Suddenly, on this project, it wasn’t. So how’d we get […] The post When Code…
31 May
We are producing more with AI. What we’re producing less of, apparently, is honest reflection on what that actually means. The internet is full of frameworks, prompt guides, and tutorials promising you’ll “10x your productivity overnight.” The question nobody seems to want to answer is whether any of it is actually good. Most of it […] The post Hard-Won Lessons…
30 May
How do you currently give feedback to new team members as they’re onboarding in their new role? How do you set clear expectations for them of what success looks like? When we onboarded two delivery leads to the Ann Arbor office last year, we experimented with a lightweight informal feedback framework. This framework allowed us […] The post Liked Best/Next…
29 May
I’ve been talking to a lot of people lately who say some version of the same thing: “I know I should be doing more with AI, but I don’t know how to start.” Each week, it seems there are new models, new tools, new patterns, new takes on Twitter. It’s a moving train, and figuring […] The post Unsure How…
28 May
At Atomic Object we have a pair lunch policy that allows Atoms to take each other out to lunch on the company’s dime. Free lunch is a no-brainer, right? Well, yes, but every time I decide I’m in the mood for a pair lunch, I need to make a few decisions: Who do I ask? […] The post I Almost…
27 May
Agentic development tools have started to change the way I approach software work. Instead of only asking for a small autocomplete suggestion or a quick explanation, I can now ask an agent to inspect a problem, propose a plan, make code changes, and even iterate on a solution. That can be incredibly useful, especially when […] The post How I…
26 May
Most list endpoints start the same way: a SQL query, a few joins, a LIMIT/OFFSET, and a DTO. It works fine. Until it doesn’t. I had a breaking point with a list page that needed to filter by data three relationships away from the root entity. The join got ugly fast. Pagination got weird. Adding […] The post Graph-Style Queries…
24 May
Whiteboard interviews have quite a reputation in the software development community. Dreaded by most, many companies use intense “LeetCode” style questions, designed to test for depth of algorithmic knowledge. Most of the time, this style of interview can result in those who have only spent time grinding practice questions passing with flying colors, while neglecting […] The post Whiteboard Interviews:…
23 May
There’s a lot of talk about growing as makers. While individual contribution can be beneficial, it’s important to highlight and lift up the work your teammates are doing. It’s important for strengthening client relationships, reducing silos, and bringing your fellow workers’ strengths to light. We’re going to talk today about small but intentional habits to […] The post Small Habits…
22 May
Spec-driven development uses upfront documentation to drive implementation. That looks, on the surface, like Waterfall. It isn’t. The difference comes down to four behaviors, which are observable, not philosophical. The Short Answer Waterfall treats documents as gates: write, approve, freeze, hand off, build against. Spec-driven development treats documents as a working tool: written and rewritten […] The post Spec-Driven Development…
21 May
Wave Function Collapse is an algorithm that generates structured randomness. There are plenty of reasons to want structured randomness. Maybe you want to create a randomized world map, with rivers coming out of lakes, and mountains ranges gradually sloping, like in Minecraft. Or maybe you want to create randomized towns, with the layout of the […] The post Introduction to…
20 May
Eight months ago, I joined a large-scale database migration project. I had already written C# in small Unity AR applications and multiplayer game prototypes but nothing quite of this magnitude. My prior projects had tight scopes and short feedback loops. This codebase has hundreds of thousands of lines, a deep domain, and translation logic driven […] The post From Unity…
19 May
RGB has been the standard color model on the web for decades. It’s widely supported and works well. But it wasn’t designed to replicate the way humans perceive color. oklch() models lightness, chroma, and hue in a way that mirrors human vision. That makes color manipulation more predictable, accessible, and expressive than RGB allows. What […] The post oklch() in…
18 May
Not everything needs to be AI-powered, even within an AI-first tool. I recently learned this while writing a Claude skill paired with the Claude in Chrome extension, and I got a lot more clarity on how to get the most out of these tools. Here’s what I learned. Writing My First Claude Skill I was […] The post Don’t AI…
17 May
As a software developer, you will need to become familiar with many tools and technologies as you work and grow in the field. This is not helped by the fact that it feels like new tools are being released every day, not to mention new feature updates added to tools you already know. The easiest […] The post Your Hobbies…
16 May
Five years ago, I had just finished three years working here at Atomic Object, and wrote up a blog post reflecting on some of the projects I had worked on, to give a window into what the job is like. Now, in 2026, it’s been eight (!) years since I started. I don’t think I’ve […] The post An Overview…
15 May
One of the more noticeable changes with coding agents shows up when you sit down to pair with someone newer to the codebase for mentorship pair programming. On the surface, things can look like they’re going unusually well. Code appears quickly, the structure is reasonable, and there are fewer moments where someone gets stuck trying […] The post Thanks to…
14 May
I’ve been using Claude Code steadily for the last three-plus months. I wouldn’t call myself a power user, but I’ve settled into a rhythm that works: tight PR loops, lean on it for real feature work, push back when it wanders. Why I Finally Bothered with Claude Code Insights The tooling in this space moves […] The post What I…
13 May
On a recent software development project that already planned to use AWS, we used AWS Cognito for authentication. Cognito is Amazon’s managed identity platform for web and mobile apps, offering features like MFA, password reset flows, and sign-in. On paper, it’s a strong fit for projects already using AWS. In practice, the rough edges cost […] The post 3 AWS…
12 May
Most agent setups are overbuilt. You can feel the framework wanting to happen before the problem is even clear. There is a planner, a runtime, a memory layer, a tool registry, a workflow engine, and a long explanation for why all of that is necessary. Then you look at the actual job, and it is […] The post Try This…
11 May
One might think computer vision models are supposed to be easy to put into production. There are whole companies built on that promise: label a few images, click train, click deploy, done. In practice, it’s messier. Most of us working with these models aren’t ML experts, and moving fast to keep up with the industry […] The post Lessons from…
10 May
I’ve been working with AI long enough to be past the “please write an epic poem about my dog” phase and into something that actually moves my work. The real shift for me, in the last couple of months, has been using tools like Claude Cowork and Cursor. It’s not because they generate better prose […] The post 26 Things…
9 May
I’ve been approached more times than I can count by organizations on LinkedIn, all of them claiming to be impressed by my background and eager to feature my story in their publication. After doing my research, the pattern became clear. Your name gets listed in a booklet for free, but your photo, your story, your […] The post The Visibility…
8 May
Anyone who has spent time navigating downtown Raleigh, N.C., knows the routine well. You have a clear destination in mind, you know the most direct route, and with any luck, the lights will cooperate. But Raleigh is a city that never stops evolving. Road construction, lane closures, and unexpected detours are as much a part […] The post Navigating the…
7 May
Pair programming has always had a bit of a reputation problem. It’s easy to look at two people working on the same task and see inefficiency. More coordination, more talking, less obvious forward progress. Even on teams that value it, there’s usually some quiet pressure to just go knock something out instead. That tension has […] The post If You…
6 May
There’s an assumption floating around right now that working with AI is supposed to feel effortless. When you prompt AI, you describe what you want, iterate a bit, and eventually land on something usable. Sometimes that works. More often, it leads to a long chain of almost-correct outputs, missed edge cases, and issues that only […] The post How to…
5 May
Recently, my software development team needed to upgrade our Expo version (it was at 52). Doing so in a monorepo containing multiple web and mobile apps was a big job—when we upgraded, we’d need to verify that the React and React Native versions in all the apps in the monorepo were compatible with the new […] The post How My…
4 May
Recently, I was onboarded to a React Native project on a new developer laptop. I realized that the initial setup to launch the app had a few tricks and small gotchas that weren’t obvious at first. Here’s a simple breakdown that will hopefully help if you need it! Setting Up Developer Tools Before configuring platform-specific […] The post A Beginner’s…
3 May
Detroit has always been a city of systems. Long before people talked about “platforms” or “digital transformation,” Detroit was solving a harder problem: how to coordinate thousands of moving parts with precision. Assembly lines, supplier networks, logistics routes—these weren’t just operations. They were carefully designed systems, built to be reliable under pressure. If one part […] The post Software Is…
2 May
I give a talk called “Claude for Normies” to rooms full of professionals who are feeling confused and stuck. They’re taking shelter as the AI earthquake upends work (or at least conversations about work on LinkedIn) around them. The talk walks attendees through a seven-level Claude adoption framework. I’ve run it enough times now to […] The post Offices are…
1 May
97% of executives say they’ve deployed AI in the past year. Only 29% say they’re seeing real ROI. (Both from Writer’s 2026 Enterprise AI Adoption survey — 2,400 global leaders) I’ve been sitting with that gap for weeks now — not because the numbers surprise me, but because I keep watching it play out in […] The post “Hours Saved”…
30 Apr
One important practice we employ at Atomic is developer rotations. This provides benefits for the longer-term success of the project and keeps our developers at the top of their game. While you might assume that long-running project teams, living with the project through its conception, implementation, and maintenance, might be the most effective approach, I’ve found […] The post How…
29 Apr
My software development team had a client who wanted to represent activity on a stage, not in the usual top-down layout that shows up all over the internet. A 3D stage? Reasonable request, slightly unreasonable visual problem. My wacky idea: what if this was mostly CSS? Maybe a little JavaScript. But mostly CSS. It turns […] The post How to…
28 Apr
A few years back, I created portable-color for adding color to shell scripts. Then I deprecated it in favor of a new library, dye, that fixed a number of things that bothered me about portable-color. dye eventually added its own built-in templating, which meant users could just print a string full of things like “{{red}}” […] The post How I…
27 Apr
Previously, I showed how you can use JSDoc and jsconfig.json as a replacement for TypeScript style type checking — without a build step, no less. At the end of that post I teased an ESLint follow-up. And here we are, I’m happy you’re here. First Things First Before jumping in, I wanted to address a […] The post More on…
26 Apr
I’ve never really been great at side questing in video games. In most games I play, I tend to lock in on the main storyline. The objective is clear, the path is defined, and progress feels measurable. Side quests exist but they get pushed off with the assumption that I’ll come back to them later. […] The post Software Development…
25 Apr
Over the past 14 months on my current project with an AI startup, I’ve typed out an average novel length’s worth of meeting notes. Here’s a quick summary: Metric Value Total files (1 file per meeting) 132 Total words 77,967 Total characters 429,329 Average words per file ~590 Average characters per file ~3,252 It might […] The post Why I…
24 Apr
I don’t know about most developers, but there is a very specific kind of sinking feeling you get when you join a project, clone a repo, and realize you’ve just inherited a total disaster. I’m talking about the kind of codebase where you don’t even know left from right: unhelpful generic variable names, no documentation, […] The post Help! I…
23 Apr
In previous posts, I examined claims about “building a product in one day” and discussed my attempt to take a game from wireframe to working prototype. Here’s what happened next. By the time the game was fully built, tested, and stable, there was one step left that felt harder than anything technical: actually launching it. […] The post Using AI…
22 Apr
In a previous post, I wrote about the idea of “launching a product in one day.” Today, let’s talk about how I took the initial idea and turned it into a working prototype. In the first phase of building my puzzle game, I wasn’t thinking about deployment or databases. I was thinking about mechanics, and […] The post Using AI…
21 Apr
If you spend any time on YouTube right now, you’ve probably seen the headlines: “I built a SaaS in 24 hours.” “AI built this app for me.” “From idea to launch overnight.” I genuinely enjoy those AI product development videos. They’re motivating. They make building feel accessible. They show what’s possible with the tools we have […] The post Using…
20 Apr
My client team recently updated its code review policy: an approval from an AI tool is now all that’s needed to merge. In this post, I’ll reflect on this change and what it means for the way our team works together. My Personal Relationship with Code Review Reviewing PRs is one of my very favorite […] The post Here’s What…
19 Apr
When I joined Atomic Object nearly 16 years ago, I was drawn in by many factors: people who were generous with their time, interesting development tools and clients, personal connections, and wanting to work with the smartest people I could find. Threaded through all of that was a deep curiosity that resonated with me. The […] The post The Increasing…
18 Apr
At Atomic Object, we build great software, and we partner with our clients to help them figure out what the right thing to be building is in the first place. As software consultants, we show up as strategic thought partners who bring perspective on direction, tradeoffs, and timing. Getting that right requires a shared understanding […] The post There’s More…
17 Apr
When ChatGPT went mainstream, the narrative was clear: anyone can build an app now. Software engineering, as we know it, is over. My Bias I’ll be honest about my bias. I run a software consultancy with about 100 software engineers. I have skin in this game. But from my front-row seat, what I’ve watched is […] The post Software Engineering…
16 Apr
Running and deploying with Kubernetes may sound excessive and intimidating, but it’s not nearly as hard as it once was. The immense popularity of Kubernetes over the past decade means tools can quickly set up and deploy a cluster in almost any environment. And what once was a technology platform requiring deep systems knowledge to […] The post K3s: A…
15 Apr
I have long been a fan of OpenBSD, over two and a half decades after I first started using it. It’s a complete operating system maintained with a strong and smart design ethos. It makes sense to me in a way that makes every other operating system feel frankly kind of cobbled together. Many folks […] The post A Webserver…
14 Apr
AI tools have made it easier than ever to build and ship software. On one of my recent projects, I’ve seen firsthand how quickly a team can generate features, prototype ideas, and release new functionality. But I’ve also noticed something else. Just because we can build faster doesn’t mean we’re learning any faster. On this […] The post Shipping Faster…
13 Apr
In a time of pressing adaptation to AI, it’s tempting to get to the result with fast prompts. But I’ve found that with some planning before prompting, I get better results that scale well. Here’s what I ask before I get started. What is the end goal? Am I solving a bug ticket? If it’s […] The post Questions to…
12 Apr
The OM-84 Omnichord, released in 1984 Outside of my 9-to-5 job as a software engineer, I play keys in a six-person cover band. A few months back, our drummer came into rehearsal exclaiming, “Georgia, you won’t believe what I found on Facebook Marketplace!” He reached into his backpack and pulled out an Omnichord. What the […] The post How to…
11 Apr
In previous posts, I have written about my Proxmox Backup client helper scripts and an Ansible role to provision them. The main limitation of the prior version of the scripts is that they could only specify one backup target file or directory. Now they can target multiple. Backup scripts improvements The primary new feature is […] The post Check Out…
10 Apr
Picture Monday morning at a growing virtual diabetes clinic. Over the weekend, 800 patients called or messaged about refills, scheduling, and portal issues. Fifteen support reps are already behind before they log in. Your board wants higher self‑service and lower unit costs. Clinical leaders want less burnout. Your security officer is worried that the first […] The post How to…
9 Apr
Here’s how I replaced Payload CMS’s built-in login system with Better Auth so an Next.js site and its Payload admin panel could share the same authenticated session. Using Payload CMS If you’re comfortable working in a Next.js app, and you haven’t given Payload CMS a try, you really should. It’s a config-first Typescript CMS that […] The post Use Better…
8 Apr
I like the basic idea of snapshot tests. Many software developers first run into them in frontend work, where you snapshot rendered output and compare it later after a code change. That feels pretty natural. You are checking whether the shape of the result changed in a way you expected. On a recent migration project, […] The post Here’s How…
7 Apr
You might be familiar with this classic XKCD strip about SQL injection: What’s happening here? Imagine there is a form where a student can fill in their name, and this input gets incorporated into a SQL query. Something like: When the name is interpolated into that query, it becomes: SQL statements are separated by semicolons, […] The post Your AI…
6 Apr
On a recent project, my client had a firm rule: one commit per pull request. No exceptions. At first, it seemed like a minor constraint. But it quickly pushed me to get comfortable with a handful of Git commands I’d been using only occasionally: git commit, git rebase, and git reset –soft. Each one solves […] The post Git Commands…
5 Apr
This spring, I went to North Carolina State University’s Engineering Career Fair a second time, but this time I was standing behind the table. Accelerator A year ago, I found Atomic Object through the NC State career fair and ended up applying for the Accelerator program. This year I was representing Atomic Object and talking […] The post On the…
4 Apr
If you’re commute-curious but haven’t pulled the trigger yet, I’ve been there. Most of what felt like obstacles to biking to work turned out to be either mental barriers or have simple solutions. Somewhere on the other side of figuring that out, I realized I was actually looking forward to it each morning. Here’s what […] The post Most of…
3 Apr
As a Quality Assurance analyst, I have tested more forms and input fields than I would like to admit. I recently onboarded to a software development project where a user must create an organization before accessing most other sections of the app. This process requires entering company data into about a dozen fields across six […] The post Form Fatigue?…
2 Apr
If you’re anything like me, you’ve been thinking a lot about how AI is reshaping the way we work as developers. Tools like Claude Code have become part of my daily workflow, and they’ve changed how I approach feature development in a big way. But here’s the thing I keep coming back to: the quality […] The post Your Best…
1 Apr
At Atomic Object, kickoff meetings are a cornerstone of how we start projects. We’ve built significant internal infrastructure around planning and delivering them. That’s because how you begin sets the tone for everything that follows. For longer-term engagements, though, the kickoff is only part of the story. Periodic on-site visits can make a measurable difference […] The post The Neglected…
31 Mar
Recently, I’ve been performing some heavy lifting on my client project in the form of state management. For context, we use Angular on our front end, and need to keep tabs on all data points a user is changing. Our team chose to use NgRx, a state management tool based on React’s Redux package, but […] The post Angular NgRx:…
30 Mar
Let’s say you install a tool. Maybe it’s Node, or maybe it’s a CLI for a project you just cloned. The installer runs successfully. Then you open your terminal and type: node And your shell responds: zsh: command not found: node A completely normal reaction to seeing “command not found.” At some point, most of […] The post What the…
29 Mar
Successful relationships – both inside or outside of business – require a focused effort to meet others where they are to build connections. Without a strong relationship, navigating obstacles and aligning on goals is exponentially more difficult. A key tool for achieving this is mindfulness – the deliberate choice to bring your focus to the […] The post Mindfulness: A…
28 Mar
This Snake project is a useful way to study how a simple game-playing agent works end-to-end. It is small enough to read quickly, but complete enough to show the important parts: state representation, neural network inference, scoring, and iteration through training. Read on to learn: Why Snake works well as an AI learning exercise How […] The post Teach a…
27 Mar
As with most peers I know, I’ve been thinking a lot about what it actually means to be a software developer right now. There seem to be two predominant takes floating around the industry right now about AI and the future of dev work. The first is that software developers are going the way of […] The post AI and…
26 Mar
As software developers, we’ve all been there: a simple requirement change requires adding a tenantId field to your User model. It’s a five-minute code change, but suddenly, 458 tests are failing. It’s happening not because the logic is broken, but because the User model is used everywhere, and now the test data is invalid. I’ve […] The post Test Builders:…
25 Mar
Somewhere in your backlog is a ticket for a bug you already fixed. The user just didn’t know. Writing Release Notes Nobody Reads My software team recently took over the release notes process. Originally, we started with a long document that comprehensively covered each JIRA ticket, complete with a Figma link and sections like “How […] The post Release Notes…
24 Mar
This tutorial is for developers, designers who code, or anyone new to AI who wants a hands-on introduction to building a custom AI chatbot that can search and answer questions using your own data. I wanted to build an AI-powered tool for our team, but I had zero experience building AI applications—so I decided to […] The post How to…
23 Mar
For years, designers waited on development. We’d finish research, deliver specs, hand off mockups — and then sit in a holding pattern while engineers built what we’d envisioned. The bottleneck was implementation. Design was ready. Dev needed time. That dynamic has completely flipped. Development speed has accelerated dramatically. AI coding tools, agentic workflows, and orchestrated […] The post Product Design…
22 Mar
Building connections that lead to successful relationships – both inside or outside of business – require a focused effort to meet others where they are. Without a strong relationship, navigating obstacles and aligning on goals is exponentially more difficult. A key tool for achieving this is mindfulness – the deliberate choice to bring your focus […] The post Moving from…
21 Mar
photo by ajay_suresh In a previous post, I wrote about building my support team early during my second pregnancy. I talked about doulas, night nurses, and the support network I wished I had the first time around. Planning my return to work is another part of that same preparation. Specifically, returning to work while pumping. […] The post Here’s How…
20 Mar
Every project benefits from lightweight CLI scripts that can reach into your application code — for data seeding, format verification, one-off exports, and other tasks that don’t deserve a full endpoint or test harness but need access to your real domain logic. A few years ago, I wrote about adding CLI scripts to TypeScript/Node projects […] The post C# Finally…
19 Mar
If multiple users can edit the same record, developers need to decide how your system handles that. If you don’t, EF Core decides for you. Designing Intentional Conflict Handling in .NET Applications By default, EF Core uses last write wins. The final call to SaveChanges() overwrites whatever came before it. There’s no warning and no […] The post Prevent Lost…
18 Mar
All good nerds love a good dashboard, right? So when I saw people building Claude Code dashboards online, I wanted to learn from my own usage. The reason dashboards were having a moment online was that Claude Code has built-in OpenTelemetry support. That means you can pipe metrics and logs to any OTLP-compatible backend pretty […] The post What I…
17 Mar
A few months into a recent project, my software development team hit a bug that took much longer to diagnose than it should have. We were generating PDFs server-side — filling in form fields with data from our system, saving the document, and returning it to the user. In Adobe Acrobat, the fields looked perfect, […] The post 3 Reasons…
16 Mar
My experience with AI coding agents, like Claude Code, Codex CLI, or Augment Code’s Auggie has been that they are most effective when they can run autonomously, without frequent human intervention. In order to do that the AI needs permissions to make changes to the codebase, run tests, perform web searches, etc. Each AI coding […] The post How I…
I frequently get questions from traditional graphic design students, inquiring about what designing software products is like. They want to know more about what I do and what they can do to get their foot in the door as a software maker. The answer to both of those questions can get complicated, but I think […] The post What Is…
15 Mar
LLMs and code generation are extremely powerful tools when working as a solo game developer. I made two attempts to build a game leveraging AI code generation, specifically GPT-5.3 Codex. The first attempt led to frustration and feeling like I lost creative control of the project. In a second attempt I shifted my mindset with […] The post Maintain Creative…
14 Mar
Aristotle gets credit for first principles thinking, but the concept has never been more relevant than it is right now. As we shift to building software with AI tools, this is one of the most important mental models you can carry into every client engagement. The Core Idea First principles thinking is the practice of […] The post First Principles…
13 Mar
When you support multiple offices, marketing gets complicated quickly. Each location has its own strategy, its own managing partners, and its own priorities. But the processes are often similar. On paper, this sounds totally manageable. “We’ll just support each office!” Easy enough, right? In reality, it can start to feel like you are juggling multiple […] The post Notion for…
12 Mar
I’ve been experimenting with how I use AI in my development workflow for the last few months. I’ve been using Cursor for a while now, but I finally decided to jump on the Claude Code hype train after hearing the powerful things people on my team were using it for. I’ve been resistant to AI […] The post Pros and…
11 Mar
When MIT released The GenAI Divide: State of AI in Business 2025, they found that roughly 95% of generative AI pilots fail to deliver tangible, measurable, or financial value to the organization. Ninety-five percent of AI projects. That’s an estimated $30-40 billion in capital investment annually, and the overwhelming majority of it isn’t moving the […] The post 95% of…
10 Mar
In Android, there are many ways to persist data. We have Room for databases, in-memory storage, SharedPreferences, and DataStore. One interesting method is SavedStateHandle, which serves a specific purpose: preserving UI state through process death. The Problem: Process Death. Let’s start with a relatable example. You’re using Google Maps, looking for late-night restaurants for your […] The post Survive Android…
9 Mar
During the COVID-19 pandemic, I like many found myself with a lot of free time. So like many others, I deciding to spend way too much time on my computer. This led to ultimately running into frustration with the lack of a unified theme system. with MacOS, which not longer ran well the ancient 2013 […] The post Unified Theming…
8 Mar
Recently, I covered some FAQs on Atomic’s Accelerator program — what it is, how hiring works, and how to stand out as a candidate. If you haven’t read that yet, and it fits your situation, I recommend circling back. This FAQ is about the Atomic Experience. The work, the culture, and what growth looks like […] The post FAQs about…
7 Mar
Some cultures don’t have a distinct word for the color blue; instead, it’s considered a shade of green. Identifying bugs can be a lot like that. It’s difficult to see them as separate from “how the software works” when they blend in. With AI, it’s easier than ever to generate code. But software can be […] The post Is It…
6 Mar
Fast-moving projects can be really fun to work on, but they’re also mentally expensive. When priorities shift rapidly and you’re juggling features, bugs, code reviews, and meetings, you’re just as bottlenecked by time as you are by cognitive load. Here are some ways to reduce that load without slowing momentum. 1. Stop using your brain […] The post How to…
5 Mar
Every team I’ve been on lately has communicated through Slack. And I mean every team—even the client teams who otherwise run an entirely corporate IT stack. Slack is the place where people hash things out, right up until they jump on a Zoom meeting. Slack is also the place where valuable information goes to vanish […] The post Don’t Hide…
4 Mar
I have been trying tiny experiments using AI tools to automate the essential, yet mundane tasks that I handle as a delivery lead. The “tiny experiment” approach was inspired by Anne-Laure Le Cunff’s book, Tiny Experiments: How to Live Freely in a Goal-Obsessed World. The idea is to explore what is possible and not worry […] The post How I…
3 Mar
Every project starts the same way. There’s a problem worth solving, a rough sense of the constraints, and a blank page. The hard part isn’t writing the first line of code—it’s figuring out which direction to go when several look equally reasonable. Should this be an event-driven system or a synchronous pipeline? Do we split […] The post How I…
2 Mar
Healthcare dev teams need to ship features and fixes quickly. HIPAA’s Security Rule requires a detailed audit trail. How do we square this circle? Here, I’ll make the case for turning every promise into code: Terraform modules, CI gates, deployment guardrails, and runnable scripts that emit verifiable proof as the default behavior. Setting this stuff […] The post Make HIPAA…
1 Mar
There are various definitions surrounding the role of a Delivery Lead (DL) within the tech industry. The role of a DL is versatile and requires the ability to shapeshift to wear many hats confidently. Essential to the role are the abilities to skillfully steward stakeholders and development teams, lead strategy and project management, own the […] The post Steward, Strategist,…
28 Feb
Over the last couple of years, I’ve had several people reach out to me about Atomic Object and the Accelerator program. These were students, recent grads, career changers — people in all kinds of situations trying to get a feel for what the experience might offer. I appreciate every one of those conversations, and I’ve […] The post Accelerator Program…
27 Feb
Recently, I helped transition a feature that was already mid-development from one team to another. It was my first time in this kind of role, and while it was a valuable experience, it also surfaced several challenges I had not anticipated. The experience pushed me to reflect on how teams share knowledge, make decisions, and […] The post Transitioning a…
26 Feb
Think about an HTML page. At its core, it’s just a container—a bounded environment with a set of rules, capabilities, and constraints. Everything that happens inside it is governed by what you put there. Now imagine that same concept, but instead of DOM elements and event listeners, you’re placing AI agents with distinct personas into […] The post Digital Clones…
25 Feb
Not too long ago, due to government funding issues, I was working on a project whose timeline had to be revisited. And part of the features we were going to get to before President Trump’s administration pulled funding was in-app reporting for the clients: a place where they could generate and export stats on specific […] The post A User’s…
24 Feb
This is Part 2 of a two-part series on executive storytelling. In Part 1, we covered knowing your audience and cutting the noise. Now let’s talk about directness and clarity of purpose. I’ve talked about the importance of knowing your audience and cutting through the noise when communicating with executives. These are foundational skills. But […] The post Stop Hedging:…
23 Feb
This is Part 1 of a two-part series on executive storytelling. Part 2 will cover directness, clarity about objectives, and tying it all together. I have been a part of more executive briefings than I can count. Some land, several don’t. The ones that fail? They fail the same way every time: too much information, […] The post Know Your…
22 Feb
As a software developer, I spend much of my day thinking about reliability, automation, eliminating repetitive work, and building tools that help me do my best work. Most of that effort is focused on serving project goals and delivering high-quality software. But my sense of purpose at Atomic comes from more than just the code […] The post Never Missing…
21 Feb
When you’re first starting your career, there are a lot of day-to-day tasks that a college degree doesn’t adequately prepare you for. You might even find that skills you thought you knew how to do just aren’t transferable. One of the things I’ve had to relearn is note-taking. How note-taking is different in the office […] The post Upgrade Your…