J. HUNTER JOHNSON LLC · INDEPENDENT CONSULTING

Practical help with software, AI, and data.

I’m J. Hunter Johnson. I help organizations build useful software, put AI to work, and make their data easier to trust.

THE WAY I WORK

Start with the problem.

Understand the goal and the people who need the result.

Make it concrete.

Turn the next useful step into something you can review.

Build for what comes next.

Keep maintenance, handoff, and everyday use in view.

SERVICES

A clear problem. The right kind of help.

Software & integrations

Build the missing piece. Improve what you have.

Custom programming, web development, and integrations for organizations with a practical problem to solve. Start with the people, the existing system, and what needs to work better.

AI adoption & training

Make AI useful in real work.

Find a suitable use case, prototype a workflow, and give people the training to use it thoughtfully. Define how outputs will be evaluated and where human judgment belongs.

Data architecture & modernization

Give your data a clearer foundation.

Make sense of fragmented data, plan better models and integrations, and approach legacy modernization with a clear picture of ownership, quality, and downstream needs.

Explore services and engagement formats →

SELECTED WORK

Practical problems. Thoughtful solutions.

Three examples across software, AI, and data—from community work and a product of my own.

See the work and the background →

THE PERSON BEHIND THE PRACTICE

Senior experience. Personal involvement.

My background spans enterprise data architecture, consulting, software development, and AI adoption. Through J. Hunter Johnson LLC, I bring that experience to clearly scoped contract work.

You work directly with me. I’m based in the Dayton, Ohio area, with a long-standing interest in language, games, and how things fit together.

More about the practice →

A GOOD PLACE TO START

What are you working on?

Tell me what you want to accomplish, what is getting in the way, and any timing or constraints. We can discuss whether I can help.

[email protected]

From the archive

A curious life, in writing.

Explore the blog →

Technology, books, games, and notes along the way. The original writing stays part of the conversation.

A Green Health Check Doesn’t Mean the App Can Connect

A health check answers only the question it was written for. If that isn’t the question the application needs answered, the check can be green while the application fails on its first connection. Here is a fictional example. A containerized web application depends on a database container. The database’s health check runs a command inside […]

The Form Passed Validation. Why Did Bad Data Still Reach Approval?

A form that rejects bad input is only checking the route it was built for. If a record can reach the same database through an import, an admin screen, a script, or a “save draft” button, the form’s rules don’t apply there, and the first place anyone notices may be the person who has to […]

A Cached Count Is a Business Rule, Not Just a Number

Suppose a comics database shows each series with a count of its issues, and the count is cached so the page doesn’t have to total thousands of rows on every view. The number looks harmless. But the moment someone asks whether a variant cover is an issue, the cached count stops being a number and […]