Building in public

Journal

This is a record of meaningful decisions, experiments, and improvements as I develop the consulting practice and its AI-assisted website workflow.

The journal explains the problem or opportunity behind selected milestones. It is a curated narrative, not an entry for every pull request. The repository's technical changelog contains the detailed release history.

  1. Finished M3/E1 with a supervised builder step

    Problem or opportunity
    I wanted to finish M3/E1 of the AI Delivery Orchestrator with a careful way for a builder to complete one small pull-request readiness task while people kept the broader safety decisions and review.
    What changed
    I added a closely supervised builder-automation capability for this narrowly scoped readiness step. It took more pull requests than I expected, but the result is a testable boundary rather than a claim of hands-off automation.

    A goal Luna could check

    OpenAI's GPT-5.6 Luna started with a scripted test that defined a verifiable goal. Across iterative pull requests, it corrected course and kept working until the capability held up. Watching that feedback loop become real was genuinely cool.

    Keeping the explanation human

    Part of the work was making the summary less technical. I asked Luna to explain the completed epic in a tone reminiscent of People magazine writers, and that prompt helped trim the jargon without hiding the careful boundaries.

  2. Evaluated planning models for a practical working approach

    Problem or opportunity
    I wanted a grounded way to choose a planning setup for my own AI-assisted work without turning one small evaluation into a general benchmark.
    What changed
    I compared eight submitted plans qualitatively. Luna ranked first and Terra second, and I recorded the methods, limits, and my current working approach on a separate page.

    Read the planning-model evaluation

  3. Tried DeepSeek V4 Flash in OpenCode for a focused implementation task

    Problem or opportunity
    I wanted to see what it felt like to use OpenCode with free DeepSeek V4 Flash access for a simple, well-scoped implementation task after the plan had already been completed.
    What changed
    I used it for the implementation-only work from issue #104, which resulted in pull request #105 for a new Public Work page on this consulting site. The tool created a todo list and worked through the implementation in around five minutes.

    A familiar implementation flow

    DeepSeek V4 Flash in OpenCode felt similar to my experience with OpenAI GPT 5.6 Sol in Codex. That is a personal observation from this one focused session, not a comparison of either tool's performance or quality.

    What I noticed in the result

    The results looked pretty good to me. Some of the language it generated was a little choppy and included run-on sentences, but for a simple task like adding a new Public Work page to the consulting site, it worked out OK.

    View pull request #105 for the Public Work page

  4. Tried Google AI and the Antigravity CLI to wrap up a delivery milestone

    Problem or opportunity
    I had used up my Codex credits after a heavy weekend of AI-assisted work, and I wanted to keep momentum on the ai-delivery-orchestrator project rather than wait for credits to reset.
    What changed
    I switched to the Antigravity CLI with the Gemini 3.7 Flash model and used it to complete the second milestone of the ai-delivery-orchestrator build. The experiment gave me a useful reference point for comparing two AI-assisted coding tools.

    A familiar feel with a different model

    The Antigravity CLI felt similar to Codex in its overall structure: a series of prompts, confirmations, and model-generated changes reviewed before they land. That similarity made it easy to pick up. The main difference I noticed on first use was the number of permission prompts. That was expected for a first session — a new harness needs to learn my defaults before it can operate with less friction.

    Speed and documentation

    The Gemini 3.7 Flash model ran noticeably fast and gave responses that felt appropriately direct. I also found the documentation less wordy than my experience with GPT 5.6 Sol. That is a personal observation from one session, not a benchmark, but it was enough to make the tool feel productive for the kind of focused implementation work I was doing.

    What I built with it

    I used the Antigravity CLI to create a pull request that aligned the bootstrap IAM policies and parameterized deletion protection across the Aurora cluster and DynamoDB coordination table. That work completed the live AWS deployment lifecycle verification for Milestone 2 of the delivery orchestrator.

    View the pull request created with Google AI assistance

  5. Learning consumption lessons while pushing further into agentic AI

    Problem or opportunity
    As I put more of my attention into the ai-delivery-orchestrator, I wanted to explore how far an AI-assisted delivery workflow could go while keeping my own review and judgment in the loop.
    What changed
    I made the repository public, continued experimenting with Codex, and used GitHub workflows to create and remove the AWS resources for the experiment when I needed them. The week reinforced that AI can accelerate work, but it does not remove my responsibility to understand the changes or the costs involved.

    Staying engaged with the work

    I tried Codex's approval mode after becoming impatient with repeated requests for input. Based on the usage data I saw in the Codex admin dashboard, my own observation was that credits were being consumed at roughly five times the rate I expected. That is one week of personal usage, not a general claim about the product, but it was a useful reminder to pay attention to how an AI tool is operating and being used.

    When I needed to update IAM policies without Codex available, I had to read through AI-generated Terraform and documentation to understand what was happening. The work was slower, but it reinforced a practical lesson: I still need to stay close enough to AI-generated changes to review them, question them, and take responsibility for the decisions they support.

    Making experimentation cost-aware

    I also used GitHub workflows to create the AWS resources for the delivery-orchestrator experiment and to remove them afterward. Being able to take the environment down when I am not using it gives me a clearer way to control costs while I continue learning.

    The goal is not to keep infrastructure running simply because it exists. I want to use it deliberately, learn from a bounded experiment, and leave room to change direction as the workflow becomes clearer.

    A practical next step

    I am continuing to focus on the ai-delivery-orchestrator as a place to test more agentic AI usage. The week did not produce a finished answer about the right level of automation. It did make the boundary clearer: useful AI assistance depends on active human oversight, understandable changes, and attention to the resources the workflow consumes.

  6. Learning from the side quests in AI automation

    Problem or opportunity
    Building a label-driven AI delivery workflow has not been a straight path. Each improvement can expose a new interaction between automation, repository state, and the human checkpoints I want to preserve.
    What changed
    I worked through another round of automation failures and came away with a clearer view of how sequencing, ownership, and recovery need to work in a human-directed AI delivery system.

    When one improvement creates another problem

    I added a way for the automation to split work that had grown too large into smaller issues. The split worked, but the new issues were created by the automation itself. That origin did not satisfy the trust rules for the next planning step, so the workflow either blocked the children or failed instead of moving them forward.

    That was frustrating because the detour sat beside the feature work I wanted to finish. It was also useful evidence: in a label-driven system, every transition has consequences. Creating the right issue is not enough if its labels, history, and permissions leave the next stage unable to act.

    The workshop is doing its job

    I am still using the consulting client portal as an incubator for these ideas. It gives me real implementation work against which to test planning, splitting, approval, coding, and recovery without pretending the automation is finished or production-ready.

    The imperfect journey is part of the work. Each bump makes the boundaries between human judgment and automated action more explicit, and each recovery teaches me what the workflow must make visible before I can trust it with a larger role.

    Keep the goal in view

    The longer-term goal remains a human-directed AI delivery factory: I want to spend more of my time defining the problem, reviewing the plan, and making consequential decisions, then give well-prepared work to an AI-assisted implementation process.

    I expect more side quests along the way. For anyone following a similar path, the practical lesson is to stay positive and focused on the outcome while treating failures as information. Progress is not a perfect sequence of successful runs; it is the accumulated judgment to make the next run safer and more useful.

  7. Published a browsable planning library

    Problem or opportunity
    The public planning repository preserved useful reasoning and decision history, but a source tree was not the clearest way for visitors to explore or share that work.
    What changed
    I published the sanitized planning material as a navigable website and connected it to this site's Public Work collection so visitors can inspect plans, revisions, roadmaps, and selected visual artifacts more directly.

    Making public work easier to inspect

    Making a repository public is different from making its contents approachable. The new planning showcase renders the existing Markdown records for the browser, organizes them by initiative, and provides direct paths to presentation-oriented material such as the client portal storyboard and wireframe gallery.

    Markdown remains the source of truth. Publishing it through GitHub Pages avoids maintaining a separate copy while giving me stable links I can use in conversations and in this public-work portfolio.

    Why expose the planning

    Plans are useful evidence when they show assumptions, alternatives, revisions, boundaries, and the points where a person made a decision. Sharing that record gives others something more concrete to evaluate than a polished result with the reasoning removed.

    The boundary remains visible

    The showcase contains sanitized, fictional, or generalized material. It is not a record of a completed client engagement, proof of a business outcome, or a claim that every planned capability is implemented or production-ready.

    Explore the public planning showcase

  8. Built a local client portal onboarding flow

    Problem or opportunity
    The revised client portal plan needed to become a small, useful implementation slice before I could judge where the remaining risk and work belonged.
    What changed
    I moved from planning to a working local onboarding flow with fictional fixtures, giving me a concrete way to test the access and invitation decisions behind the portal.

    A bounded local slice

    The local implementation now has foundations for authentication and tenant isolation, along with bounded human access and read-only machine access. It includes invitation-only onboarding, client invitation acceptance, and an accessible staff interface for managing the invitation lifecycle.

    The useful lesson was that authentication alone does not grant someone access to an organization. The workflow also needs an explicit relationship between a person, an invitation, and the organization they are permitted to enter.

    What the work made clearer

    Implementation also strengthened the surrounding safeguards: CI and integration testing, clearer approval evidence, credential scanning, recovery guidance, and human-gated agent workflows. Those are practical controls for changing a system carefully, not a substitute for human judgment.

    This is a working local vertical slice using fictional fixtures. It is not an MVP launch, hosted staging environment, production onboarding system, or client deployment. Completing a useful local flow makes the next questions more concrete; it does not establish production readiness.

    The next bounded milestone

    The next implementation milestone is disposable end-to-end Playwright browser coverage for the onboarding flow. That work is not yet approved or complete, but it would help test the visitor-facing path without treating the local slice as ready for client use.

    Read the client portal implementation checkpoint

  9. Revised a client portal plan through dialogue with AI

    Problem or opportunity
    I needed a practical plan for a client portal that would support the business while also giving me relevant experience with AI-enabled workflows.
    What changed
    I used an extended planning conversation with AI to challenge and substantially narrow the initial direction before deciding to proceed with a revised plan.

    The initial plan

    The first proposal was technically coherent: an AWS-centered client portal with custom infrastructure and transaction workflows. But it asked one project to serve clients, deepen my AWS experience, handle signing and invoicing, and create AI-learning opportunities before I had validated the business process.

    The counterproposal

    I asked AI to challenge that direction rather than refine it. Its counterproposal made the tradeoff clear: building authentication, infrastructure, electronic signatures, and invoicing myself would add risk and ownership cost without much strategic value for the AI learning I wanted from this work.

    My evaluation and revised direction

    I reviewed that critique, asked follow-up questions about vendor exposure, portability, recovery, and cost estimates, and made the decisions. The revised direction uses Stripe for invoicing, an external provider for electronic signatures, Vercel for the Next.js application, Supabase for PostgreSQL, authentication, and storage, and JSON:API for a reusable standards-based frontend and backend contract.

    Those choices delegate commodity transactions where owning them would create an unfavorable risk or maintenance burden. They leave more room to learn from the workflow and make deliberate decisions about the parts that matter to the business.

    The next step

    The revised plan is complete as a planning artifact, and I intend to begin implementation within the next few days. The portal has not been implemented, validated with clients, or put into use.

    The useful part of this AI-assisted process was not accepting a first answer. It was asking for a counterproposal, testing the reasoning with questions, and retaining responsibility for the goals, tradeoffs, vendor choices, approval, and decision to proceed.

    Read the revised client portal plan

  10. Built an onboarding automation proof of concept

    Problem or opportunity
    I wanted to test whether a small, practical AI workflow could coordinate onboarding work while keeping people responsible for review and decisions.
    What changed
    I built a public personal proof of concept in an evening with Codex and ChatGPT 5.6 Sol. It uses LangGraph orchestration and a local language model to explore a bounded workflow, including the tradeoffs around cost, control, and production readiness.

    View the AI onboarding automation proof of concept

  11. Clarified how people guide AI-enabled workflows

    Problem or opportunity
    The site needed to make clearer that AI can assist people without taking away their direction, judgment, or responsibility for the outcome.
    What changed
    I clarified the homepage guidance so visitors can see how human review, approval, escalation, and correction can fit a workflow according to its risk and consequences.
  12. Automated a human-gated AI workflow

    Problem or opportunity
    The site had a careful AI-assisted change process, but planning, implementation, recovery, and cost control still required repetitive manual coordination.
    What changed
    I built and tested a label-triggered workflow that can plan changes and prepare draft pull requests after explicit AI authorization, while keeping plan approval and merge authority with a person. It also includes failure recovery and uses lower-cost models for routine planning and implementation.
  13. Started the journal

    Problem or opportunity
    The repository recorded technical changes, but it did not explain the purpose behind meaningful steps in plain language.
    What changed
    I added this journal and a review checkpoint that considers journal impact without requiring an entry for every pull request or release.
  14. Created a public-work portfolio

    Problem or opportunity
    Public repositories could demonstrate the work, but visitors needed context before opening source code.
    What changed
    I added a curated Public work page that explains selected consultancy repositories and links to their source and supporting history.
  15. Added a technical changelog

    Problem or opportunity
    Commit history was available, but it did not provide a concise, durable view of meaningful technical milestones.
    What changed
    I added a human-triggered GitHub Release workflow and published an initial release that collects the site's technical history.
  16. Prepared the repository for public review

    Problem or opportunity
    Sharing the source required clear contribution, security, licensing, and repository-control expectations.
    What changed
    I added the documentation and safeguards needed to make the repository public while preserving human approval and merge authority.
  17. Improved site context and navigation

    Problem or opportunity
    The first header did not provide enough consulting context or a clear path through the page, especially on mobile.
    What changed
    I clarified the site identity, added service and process navigation, introduced a mobile menu, and made the primary action easier to find.
  18. Added a human-gated AI change process

    Problem or opportunity
    AI-assisted changes needed a repeatable process that kept planning approval, visual review, and merge decisions with a person.
    What changed
    I introduced structured issues, plans of record, explicit approval labels, automated validation, preview deployments, and human merge control.
  19. Built the first consulting site

    Problem or opportunity
    The consulting direction needed a working website that explained practical AI workflow help and offered a low-pressure next step.
    What changed
    I created the Next.js site and shaped the homepage around concrete workflows, fixed-scope services, practical engineering judgment, and a clearer contact path.
  20. Defined the initial direction

    Problem or opportunity
    Before building, I needed boundaries for the audience, offer, voice, and role of AI in maintaining the site.
    What changed
    I documented the initial vision and repository guidance so later design, content, and engineering decisions had a grounded reference point.
  21. Recognized an opportunity to help with AI-enabled workflows

    Problem or opportunity
    As current AI developments made more capable workflows feel increasingly practical, I saw that small and mid-sized organizations could use grounded help deciding where to experiment and where caution was warranted.
    What changed
    After spending June and July learning from the AI Daily Brief, I began exploring a small consulting practice focused on practical AI-enabled workflows. My aim is to bring engineering judgment, low-risk experiments, and honest discussion of uncertainty to teams considering their next step.

    Visit the AI Daily Brief