/dev/jcheng
  • About
  • Articles
  • Pages
  • Reviews
  • Tags
GitHub

Articles

October 12, 2026

The Interactive Design Process

Summary

When a developer can already describe what they want, they simply build it. But often, we don’t know what we want. This essay describes how to use AI to design the thing we want to build through an interview process.

Details

Three tiers of knowing what you want to build

  • Clear -> Build. No interview.
  • Fuzzy -> Interactive Design (non-trivial, but requires planning)
  • Unknown -> Complex project. Separate approach.

Interactive Design

  1. Invoke. The user asks AI to do interactive design for a job. The instructions to AI (skill) are the model of the interactive design process described here, and the AI guides the user through the process so that the process is applied consistently.
  2. Dispatch. The AI sizes the job, shows the user where they are, and asks: Is Interactive Design the thing you want?
  3. Interview. One kind of interview or several, until the job is clear (see Kinds of interviews). How the AI does it is up to the AI.
  4. Confirm domain vocabulary. The AI and the user agree on what things are called, in the user’s terms. This part is essential.
  5. Surface consequences. The AI asks high-impact questions and helps the user see around corners. The AI decides whether this step is worth running, and the user can always skip it (“I don’t care about these”).
  6. Review the result. Summary (less than 4 sentences), details, decisions, not in scope. The user reviews until satisfied.
  7. Produce a tech spec. The AI suggests where the written artifact goes, and the user approves or edits. The written artifact is called a tech spec, which is described later.

Kinds of interviews

Not all interviews are the same. Not all situations require the same interview approach and developers don’t often know which one they need, and one interview may naturally flow into another.

read more
September 20, 2026

Nemotron Lightning Model

I played around with the Nemotron Lightning 30b model this week. It is one of the most affordable models on the market, at approximately 25% of the price of OpenAI’s ChatGPT Luna model. At the time of this article, Nemotron Lightning costs just $0.05 per million input tokens and $0.20 per million output tokens.

I tested it for my usecase of proofreading my writings. And, well, it did terribly. I had a coding agent evaluate it against DeepSeek v4p1 Flash (also ~4x the price) as a baseline, and what my AI said about Nemotron

read more
September 6, 2026

Throwing Away What You Built

I spent much of yesterday pouring my mental energy into designing a better AI-assisted code review process. Then I threw it away.

What I learned is that you shouldn’t build every idea you have. I thought I had found a great way to improve the code review process. When I tried to say exactly what the system would improve, the answer was: not much. It was too complicated for the improvement it offered over an agent skill. I didn’t notice this when I was designing it. I had to step away and stop thinking about it before I could see the full cost of building it.

read more
August 23, 2026

Reviewing My AI-Generated Code

I started using AI coding agents in March of 2025. I’ve always had personal projects before. But adopting AI agents completely changed the scale of my codebase. I am writing tools, web apps, and automations that I never would’ve had the time or energy to write myself. Today, I have more AI generated code in my codebase than code I wrote myself.

This is what Claude says about the growth of my private repos.

read more
February 16, 2026

AI and Software Development 2026

AI And Software Development

When ChatGPT was released in Nov of 2022, it was already a better programmer than me. By December, I used it consistently whenever I wrote code. In 2023, I relied on ChatGPT to create an online puzzle game for my kids. At this time, my coding was mostly architecture decisions, code reviews, refactoring, and testing. I was still writing some of the code, as it was faster to make small changes by hand instead of copying the right context into ChatGPT. By early 2025, I started to use Cursor, one of the first coding agents. At this point, I stopped writing code completely. Coding agents solved the context problems of Chatbots, as the agent had complete access to your file system and code base, and can autonomously explore your computer to populate its own context. By that point, my involvement was purely architectural, requirement definition, and testing. I only review AI-written code insofar as to understand the decisions it made, not to identify bugs or offer improvements.

read more
March 7, 2025

Python And The 'src-vs-flat' Layout Debate

I recently needed to setup a new Python project and in the course of doing so, learned about uv1 , “an extremely fast Python package and project manager”. uv is great. It is easy to install (just a single executable!), and it takes care of all the essential elements of a Python project. Unfortunately, I immediately came across one major problem–uv uses the wrong default for project layouts.

This is the default layout of a project created by uv:

read more
January 29, 2025

Deep Research Review

Farewell to Google Search

Let’s say you were in the market for a new laptop. What would you do? You certainly would not go on Google and search for “A good laptop under $1000”. That’d be madness. It used to be that Google could be a trusted source of information. These days, however, the top results on Google are mostly advertisements.

What Google search results look like

What Google search results look like

read more
December 31, 2024

Generative AI 2024 Retrospective

Generative AI 2024 Retrospective

2024 witnessed a parade of increasingly more powerful AI model releases, culminating in OpenAI’s groundbreaking “o3”. While I’m certain these advancements really are significant, I don’t think they have translated to noticeable improvements for the average user.

What people are paying attention to, though, are the really amazing product features that are coming out of Anthropic and Google. I’ve heard a lot about people building software Claude’s Artifacts. And Google’s Deep Research product, released a few days ago, has just completely changed search.

read more
August 20, 2024

Running Your Own LLM UI

This is a review of Open WebUI, an extensible and user-friendly self-hosted WebUI for LLMs.

I recently decided to run my own UI layer for LLMs, as I have some exciting ideas. For those who are not familiar with chatbots, their architecture basically looks like this:

While I’m pretty good at customizing the middleware, I’m not as skilled at customizing the UI layer.

I tried writing my own UI at first, but I quickly gave up when I realized it was beyond my skills as a frontend developer. The next thing I did was look into open-source solutions. There were a lot of choices, but I narrowed them down to these three:

read more
December 7, 2023

My thoughts on AI in 2023

OpenAI took the world by storm in 2023 with the relase of ChatGPT. Other companies quickly followed suit, introducing their own competitors to ChatGPT. In this update, I want to write down my thoughts on some of the biggest players in the field of generative AI.

When I use the term “generative AI,” I am referring to a computer program that can generate text, images, or other types of content. These programs can understand natural language and follow complex instructions. One notable example of a generative AI is OpenAI’s “GPT-4,” commonly known as ChatGPT. Another well-known generative AI is Midjourney, which specializes in generating images from text descriptions. In this update, I will focus on AI with text output, as that is the area I have the most experience with.

read more
  • ««
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
  • »»
© /dev/jcheng 2026
GitHub