AI Practice
AI is in the loop, not in charge.
How AI actually sits inside my delivery cycle — from framing a problem to verifying what ships. Models draft; I own the architecture and the merge.
01 · Discovery
Frame the problem before writing code
Turn a vague operational request from the business into a written spec — user, flow, data, and edge cases. I use models as a thinking partner to pressure-test the shape of a feature before it costs a sprint.
ToolsClaude MaxChatGPT ProGemini ProSuper Grok02 · Design
Model the data and the interface together
Schema, API contract, and screen flow get designed in one pass so the client and the service agree from day one. AI accelerates the exploration of alternatives; the architecture call stays mine.
ToolsClaude DesignFigmaGoogle StitchAdobe XD03 · Build
AI pair programming in the real repo
Since the MDMS v1 sessions with GPT-4 in 2024, AI pair programming has been part of daily delivery — scaffolding, refactors, migrations, and test coverage across Flutter, .NET, and Next.js codebases, now on Claude Max and Codex Premium.
ToolsClaude CodeCodex PremiumGitHub Copilot ProCursor04 · Review
Verify before it reaches production
Model output is a draft, not a merge. Every AI-assisted change goes through the same review bar as hand-written code — read it, run it, and check it against live data before release.
ToolsCode ReviewGitLabSentryManual QA05 · Ship
Release, watch, and iterate
Ship behind a controlled rollout, watch the error surface, and fold what production teaches back into the next cycle. The Condo updater service exists because safe rollout is part of the product.
ToolsDockerGitLab CIRelease ManagementSentry
Practice Timeline
How the practice changed as the models did.
Three generations of tooling I have worked through since 2024 — for practice and for production. What matters is not which model was current, but what each one changed about how I learn and how I ship.
Gen 01 · Foundation
May 2024 — Jul 2025
One model, one long conversation
From GPT-4-level · 13 May 2024
I started with one GPT-4-level chat open beside my editor, using it to learn as much as to build. It is where I worked out the MDMS v1 domain — meter data, billing rules, and the schema under them — and then wrote and corrected the implementation myself. Every exchange was copy and paste, so what I got out of it was understanding rather than speed.
GPT-4GPT-4oChatGPTWhat shipped
MDMS v1 — domain modelled and implemented
Gen 02 · Multi-model
Aug 2025 — Feb 2026
Several models, cross-checked against each other
From GPT-5 · 7 August 2025
I stopped leaning on a single model and ran several side by side, sending each task to whichever one handled it best and using their disagreement to pressure-test my own reasoning. This is where I built Onboard and rebuilt MDMS — generating the Flutter surface in FlutterFlow while the models helped me with logic, data wiring, and everything FlutterFlow could not express.
GPT-5DeepSeekQwenGrokFlutterFlowWhat shipped
Onboard + MDMS — built on FlutterFlow
Gen 03 · Agentic
Mar 2026 — present
Agents working inside the repository
From Claude + Copilot · March 2026
I now work with coding agents inside the repository itself — they read the codebase, run the tests, and open the change, and I review the diff against the same bar as anything I write by hand. My day is less about typing every line and more about holding the architecture line, which is how I keep support, maintenance, and new E-Power products moving at once while still learning the tooling as it shifts.
ClaudeGitHub CopilotGPT-5 / 6-levelCodexWhat shipped
Maintenance, support, and new products in parallel
Model output is a draft, not a merge.
Every AI-assisted change goes through the same review bar as hand-written code.
See my work