<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>AI | Jacob Aloysious</title><link>https://jacobaloysious.in/tag/ai/</link><atom:link href="https://jacobaloysious.in/tag/ai/index.xml" rel="self" type="application/rss+xml"/><description>AI</description><generator>Source Themes Academic (https://sourcethemes.com/academic/)</generator><language>en-us</language><lastBuildDate>Sat, 26 Sep 2026 00:00:00 +0000</lastBuildDate><image><url>https://jacobaloysious.in/images/icon_hu4591c05f594249c11c1e99a3a8f1f246_3759739_512x512_fill_lanczos_center_2.png</url><title>AI</title><link>https://jacobaloysious.in/tag/ai/</link></image><item><title>An AI-First Second Brain for Engineering Teams: My Talk at KLA</title><link>https://jacobaloysious.in/post/ai-first-second-brain-kla-conference/</link><pubDate>Sat, 26 Sep 2026 00:00:00 +0000</pubDate><guid>https://jacobaloysious.in/post/ai-first-second-brain-kla-conference/</guid><description>&lt;p>I had the opportunity to speak at &lt;strong>
&lt;a href="https://www.kla.com/" target="_blank" rel="noopener">KLA&lt;/a>&amp;lsquo;s Engineering Conference&lt;/strong>, an event attended by &lt;strong>800–1,000 engineers&lt;/strong>, about a problem that sits underneath much of our engineering work: remembering enough of the right context to make the next decision well.&lt;/p>
&lt;p>KLA serves the semiconductor industry with process-control, inspection, and metrology technologies. That made it a fitting setting for a conversation about preserving context across complex engineering work.&lt;/p>
&lt;p>My talk, &lt;strong>“AI-First Second Brain for Engineering Teams,”&lt;/strong> explored how AI can help preserve that context without turning every conversation, incident, or provisional idea into permanent truth.&lt;/p>
&lt;p>I had a &lt;strong>90-minute slot&lt;/strong>. The talk itself lasted &lt;strong>75 minutes&lt;/strong>, followed by &lt;strong>more than 30 minutes of Q&amp;amp;A&lt;/strong>, taking the session beyond its allotted time. There was a lot of enthusiasm for the topic, and it was encouraging to see that interest continue into the discussion.&lt;/p>
&lt;p>The message I wanted to leave with the audience was simple: AI can do much of the work of organizing and maintaining memory. People still need to decide what is safe to share, what deserves to be remembered, and when an old lesson applies to a new situation.&lt;/p>
&lt;p>&lt;img src="conference-stage.jpg" alt="Presenting AI-First Second Brain for Engineering Teams at KLA&amp;rsquo;s Engineering Conference">&lt;/p>
&lt;p>&lt;em>On stage at KLA&amp;rsquo;s NEOTERIX 2026 Engineering Conference in Chennai.&lt;/em>&lt;/p>
&lt;h2 id="the-work-before-the-work">The work before the work&lt;/h2>
&lt;p>Think about a difficult engineering issue. The logs are in one place. Someone else has the physical observation. The reason for an old design choice is buried in a discussion. A workaround exists in the memory of an engineer who happens to be unavailable.&lt;/p>
&lt;p>Before anyone can investigate properly, the team has to reconstruct the story.&lt;/p>
&lt;p>I described this in the talk as engineering archaeology. We are searching for what happened, who understood it, which assumptions mattered, and whether the previous solution is still relevant. The information may exist, but it is not yet a usable starting point.&lt;/p>
&lt;p>That reconstruction carries a &lt;strong>memory tax&lt;/strong>. Engineers pay it when debugging an unfamiliar failure. Managers pay it when recovering an unowned commitment. Leaders pay it when trying to understand whether a team has learned something reusable or simply closed another issue.&lt;/p>
&lt;p>The questions differ, but the dependency is similar: useful action waits for context. Adding more documents does not automatically reduce that delay. A larger collection can also make it harder to distinguish current guidance from an abandoned experiment.&lt;/p>
&lt;h2 id="what-i-mean-by-a-second-brain">What I mean by a second brain&lt;/h2>
&lt;p>For this talk, a second brain meant a maintained body of context that helps a team continue its work. It includes decisions and their rationale, incident history, runbooks, known limitations, and commitments that need follow-through.&lt;/p>
&lt;p>The useful distinction is between storing information and maintaining it. A stored note can remain available long after its assumptions have expired. Maintained knowledge has a visible source, an owner, a verification state, and a reason to revisit it. It can be corrected or retired.&lt;/p>
&lt;p>The recurring flow in the talk was:&lt;/p>
&lt;p>&lt;strong>Capture → Govern → Surface → Decide&lt;/strong>&lt;/p>
&lt;p>Capture brings in relevant observations. Governance determines what may persist and who can use it. Retrieval surfaces the right material with its supporting evidence. A person then makes the decision with enough context to understand the consequences.&lt;/p>
&lt;p>This also changes how I think about expert dependency. An experienced engineer&amp;rsquo;s judgment is valuable, but their availability should not be the only route to the team&amp;rsquo;s history. Shared memory can give another engineer the sources, reviewed guidance, and prior investigations needed to make progress.&lt;/p>
&lt;p>It does not reproduce the expert. It preserves a better starting position for whoever is doing the work next.&lt;/p>
&lt;h2 id="give-ai-the-maintenance-work">Give AI the maintenance work&lt;/h2>
&lt;p>A large part of the talk concerned the division of responsibility. AI is useful for extracting candidate decisions, linking related cases, drafting summaries, noticing stale guidance, and bringing open questions back for review.&lt;/p>
&lt;p>Those tasks consume attention, especially when context is scattered across messages, meetings, documents, and alerts. An assistant can prepare the material continuously, leaving people with smaller, more specific decisions to make.&lt;/p>
&lt;p>In the personal workflow I described, Google Chat is the interaction surface, MyClaw is the agent runtime, and human-readable Markdown in Google Drive holds durable memory. The runtime coordinates tools, policies, and scheduled work; the underlying model is one component of that system.&lt;/p>
&lt;p>The particular products matter less than the arrangement. People need somewhere to review and correct proposed memory. Durable records need to remain understandable outside a single chat session. Cases, decisions, and approved knowledge need different lifecycles.&lt;/p>
&lt;p>A useful record should explain where it came from, who owns it, when it was checked, and what would make it questionable again. That gives the next reader a way to assess it instead of accepting a confident summary at face value.&lt;/p>
&lt;h2 id="five-loops-that-keep-memory-useful">Five loops that keep memory useful&lt;/h2>
&lt;p>I organized the maintenance work into five recurring loops. Together, they turn a collection of notes into something a team can keep using.&lt;/p>
&lt;p>&lt;strong>1. Capture decisions for review.&lt;/strong> After an architecture discussion, the assistant can extract the decision, its rationale, and the condition under which it should be revisited. A person can store, edit, or skip the proposal. Recording the reason matters: without it, a future team may preserve a decision after the original constraint has disappeared.&lt;/p>
&lt;p>&lt;strong>2. Assist with incidents.&lt;/strong> During an investigation, the assistant can surface a relevant playbook, its source, its verification state, and recent changes. The engineer chooses the next action. The assistant can preserve the checkpoint so the next handoff does not restart the investigation from scratch.&lt;/p>
&lt;p>&lt;strong>3. Draft weekly updates.&lt;/strong> Actual activity can become a draft of delivered work, ongoing work, risks, and next steps. Human review remains part of publication. This is valuable because an update should reflect what happened, including uncertainty, rather than merely sound complete.&lt;/p>
&lt;p>&lt;strong>4. Check freshness.&lt;/strong> Guidance should return for review when time passes, a dependency changes, or an original assumption stops holding. AI can identify those triggers. An owner decides whether the record remains valid, needs correction, or should be archived.&lt;/p>
&lt;p>&lt;strong>5. Propose reusable knowledge.&lt;/strong> Several cases may suggest a pattern worth preserving. The assistant can prepare a narrow proposal with evidence and limitations. A named owner reviews it before it becomes guidance for others.&lt;/p>
&lt;p>These loops make maintenance a recurring responsibility. They also give the human reviewer a concrete question to answer at each step.&lt;/p>
&lt;p>&lt;img src="conference-speaker.jpg" alt="Speaking about governed engineering memory at KLA&amp;rsquo;s Engineering Conference">&lt;/p>
&lt;p>&lt;em>Discussing how AI can preserve context while keeping consequential decisions with people.&lt;/em>&lt;/p>
&lt;h2 id="a-resolved-case-is-not-automatically-reusable-knowledge">A resolved case is not automatically reusable knowledge&lt;/h2>
&lt;p>This was one of the most important distinctions in the talk. A fix can be correct for one incident and misleading when generalized.&lt;/p>
&lt;p>A case records what happened under particular conditions. Reusable knowledge makes a broader claim: under these conditions, this diagnostic or action is worth considering again. Moving between the two requires evidence, scope, limitations, and ownership.&lt;/p>
&lt;p>For example, a recovery procedure might have worked with one configuration. Before it becomes a runbook recommendation, someone needs to ask what actually explains the recovery, which prerequisites matter, and when the procedure should not be used.&lt;/p>
&lt;p>The same applies to AI-generated summaries. Fluent language can hide how narrow the original evidence was. Promotion should therefore be an explicit action, with a reviewer responsible for the claim that future engineers will inherit.&lt;/p>
&lt;p>Most cases can remain cases. Their history is still useful. Only selected lessons need to become shared guidance, and that guidance needs a path back to its supporting evidence.&lt;/p>
&lt;p>&lt;img src="cases-are-not-knowledge.png" alt="Cases remain traceable in case history; only narrow, verified learning enters the Team Brain after owner review">&lt;/p>
&lt;p>&lt;em>Many cases, few promotions: reusable guidance needs verified evidence, a source trail, and an owner.&lt;/em>&lt;/p>
&lt;h2 id="making-the-boundaries-concrete-with-a-field-issue-demo">Making the boundaries concrete with a field-issue demo&lt;/h2>
&lt;p>I tailored the demo to KLA’s semiconductor engineering context: how AI could support an end-to-end workflow from a field issue to a tested code fix, with human approval at the consequential steps. The scenario is fictional and illustrates the proposed approach. The presenter application is a deterministic simulation backed by local artifacts and tests. It does not operate production equipment, call a live model, or deploy changes to an external system.&lt;/p>
&lt;p>I see this as a practical example of &lt;strong>forward-deployed engineering&lt;/strong>: working from a specific customer use case and shaping the AI solution around that customer’s environment. Here, the problem is moving from a semiconductor field issue to an actionable engineering investigation. The design follows the evidence available at the tool, the restrictions on sharing it, and the engineer’s responsibility for the fix. That customer context determines where AI can help and where human judgment must remain.&lt;/p>
&lt;p>&lt;img src="kla-ai-automation-workflow-clean.png" alt="Demo workflow: an OnTool Agent prepares a sanitized context packet, a human approves sharing, and an Engineering Agent prepares a tested fix using the same approved Team Brain">&lt;/p>
&lt;p>&lt;em>The automation workflow presented at KLA: raw evidence stays local, only an approved packet crosses the boundary, and an engineer reviews and ships the proposed fix.&lt;/em>&lt;/p>
&lt;p>The scenario follows evidence from a tool-side investigation to an engineering diagnosis. An on-tool agent prepares a sanitized packet while restricted raw evidence stays local. The packet must be reviewed and approved before it crosses the boundary to the engineering side.&lt;/p>
&lt;p>One deliberate step is attempting the transfer too early. The system refuses it. That refusal makes the permission boundary visible: information being useful does not, by itself, authorize sharing it.&lt;/p>
&lt;p>On the engineering side, the approved packet is combined with shared knowledge, code, and tests. The example concerns a settle gate that checks position while motion is still unstable. The workflow prepares a diagnostic experiment and a proposed runtime and test change. The engineer retains responsibility for reviewing and shipping the change through the normal process.&lt;/p>
&lt;p>A second gate appears after the simulated resolution. The workflow refuses to promote the finding into reusable knowledge until an owner approves it. The later cold-start view shows what another engineer could inherit months afterward: a scoped diagnostic path, evidence, ownership, and review conditions.&lt;/p>
&lt;p>This is the behavior I wanted the demo to make tangible. Better context can shorten the route to an investigation, while explicit gates preserve responsibility for sharing, software changes, and future reuse.&lt;/p>
&lt;p>In a real implementation, those gates also require technical enforcement through credentials, isolation, network controls, validation, and audit records. A prompt alone cannot provide that boundary.&lt;/p>
&lt;h2 id="memory-about-people-needs-its-own-limits">Memory about people needs its own limits&lt;/h2>
&lt;p>Engineering context includes people, and that requires care. Remembering an agreed follow-up can help a team. Turning an impression into a lasting judgment about a colleague can cause harm.&lt;/p>
&lt;p>The manager workflow in the materials separates fragments into three outcomes: remember, keep uncertain, or reject. A professional commitment may be appropriate to retain. A conditional statement must keep its condition. A speculative personal judgment should not become durable memory.&lt;/p>
&lt;p>Consider the difference between “I can review this if the release work finishes” and “I will review this.” Removing the condition changes the commitment. An assistant that compresses the first statement into the second has created an inaccurate expectation, even if its summary reads naturally.&lt;/p>
&lt;p>That is why visibility and correction matter. People should be able to inspect the source of a remembered claim, correct it, and understand the boundary around its use. Useful continuity depends on restraint as much as recall.&lt;/p>
&lt;h2 id="start-with-one-decision-that-keeps-losing-context">Start with one decision that keeps losing context&lt;/h2>
&lt;p>My proposed starting point was a small, thirty-day pilot around one recurring problem. Choose a decision where the team repeatedly reconstructs history, then define what better continuity would look like.&lt;/p>
&lt;p>A recurring incident, an architecture decision log, or a handoff process could be a suitable starting place. Give it one owner, a clear boundary around what may be stored, and a measurable outcome.&lt;/p>
&lt;p>The build path in the talk moves through four stages: define the job and stop rules, wire the workflow and failure handling, ground retrieval and human review, then add ongoing ownership and operational checks.&lt;/p>
&lt;p>The tests should cover the memory contract as well as answer quality. Does the workflow reject unreviewed material? Does it preserve conditional language? Can a person correct a record? Does promotion require approval? Can the system show where its guidance came from?&lt;/p>
&lt;p>Measure whether the next engineer reaches a justified decision sooner, whether handoffs lose less context, or whether fewer investigations restart unnecessarily. Counting stored notes or generated summaries tells us little about those outcomes.&lt;/p>
&lt;h2 id="what-i-wanted-engineers-to-take-away">What I wanted engineers to take away&lt;/h2>
&lt;p>Speaking at KLA&amp;rsquo;s Engineering Conference was an opportunity to connect AI with a familiar engineering challenge: continuity across people, incidents, and time.&lt;/p>
&lt;p>The promise of a second brain is practical. It can help a team recover the rationale behind a choice, resume an investigation, and reuse an earned lesson with its limits intact. Reaching that point requires ongoing maintenance and deliberate human ownership.&lt;/p>
&lt;p>My closing question was: &lt;strong>Where does your team pay its highest memory tax?&lt;/strong>&lt;/p>
&lt;p>That is where I would start. Find the context that repeatedly disappears, preserve it with evidence and boundaries, and see whether the next decision improves.&lt;/p>
&lt;p>The
&lt;a href="https://github.com/jacobaloysious/second-brain-talk" target="_blank" rel="noopener">talk repository&lt;/a> contains the slide deck, speaker notes, and demo materials for exploring the approach in more detail.&lt;/p></description></item><item><title>Bringing My Blog Back with Codex Computer Use</title><link>https://jacobaloysious.in/post/bringing-my-blog-back-with-codex/</link><pubDate>Sat, 26 Sep 2026 00:00:00 +0000</pubDate><guid>https://jacobaloysious.in/post/bringing-my-blog-back-with-codex/</guid><description>&lt;p>My blog&amp;rsquo;s source code was sitting in GitHub. My domain, &lt;strong>jacobaloysious.in&lt;/strong>, was registered with GoDaddy. I had a Vercel account ready to use. Somewhere in the background, an old AWS setup was still involved.&lt;/p>
&lt;p>The goal sounded simple: publish the blog from GitHub using Vercel and make it accessible through my own domain.&lt;/p>
&lt;p>This time, I asked Codex to help do the work through Computer Use. Instead of following a deployment tutorial and switching between dashboards myself, I let it inspect the browser, configure the deployment, and trace the domain setup. I stayed involved when access or missing context required my input.&lt;/p>
&lt;p>It turned into a useful exercise in both AI-assisted work and remembering how my own website was wired together.&lt;/p>
&lt;h2 id="1-get-computer-use-working">1. Get Computer Use working&lt;/h2>
&lt;p>The first obstacle appeared before deployment even began. Although I was signed in to GitHub, Vercel, and GoDaddy in Chrome, Codex could not initially connect to my browser.&lt;/p>
&lt;p>The Computer Use setting showed:&lt;/p>
&lt;blockquote>
&lt;p>Disabled by your organization or unavailable in your region.&lt;/p>
&lt;/blockquote>
&lt;p>The message alone did not establish the cause. We checked the available setup guidance, but did not conclusively diagnose why the setting was disabled. I subsequently enabled Computer Use and asked Codex to continue.&lt;/p>
&lt;p>Once access was working, Codex could inspect my existing signed-in Chrome tabs and interact with the account dashboards.&lt;/p>
&lt;p>The first lesson: being signed in to a website and giving an assistant access to that browser are separate steps.&lt;/p>
&lt;h2 id="2-inspect-the-existing-hugo-project">2. Inspect the existing Hugo project&lt;/h2>
&lt;p>My Hugo source lived in a private GitHub repository.&lt;/p>
&lt;p>Codex inspected the project and its existing GitHub Actions workflow. That revealed several details that mattered for the new deployment:&lt;/p>
&lt;ul>
&lt;li>The site used Hugo with the Academic theme.&lt;/li>
&lt;li>The theme was included as a Git submodule.&lt;/li>
&lt;li>The existing build pinned a specific Hugo Extended version.&lt;/li>
&lt;li>A custom icon was copied into the theme before building.&lt;/li>
&lt;li>The previous workflow published the generated &lt;code>public&lt;/code> directory to AWS S3.&lt;/li>
&lt;/ul>
&lt;p>Reading the old workflow gave us a starting point for a compatible build. There was no need to combine a hosting migration with a theme or Hugo upgrade.&lt;/p>
&lt;h2 id="3-import-the-repository-into-vercel">3. Import the repository into Vercel&lt;/h2>
&lt;p>In the Vercel dashboard, Codex opened &lt;strong>Add New → Project&lt;/strong>, selected GitHub, and selected my blog repository.&lt;/p>
&lt;p>Vercel already had access to the repository, so it could import the private project without making the source code public.&lt;/p>
&lt;p>The project configuration was:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Setting&lt;/th>
&lt;th>Value&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Framework preset&lt;/td>
&lt;td>Hugo&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Root directory&lt;/td>
&lt;td>Repository root&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Source branch&lt;/td>
&lt;td>The production branch&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Environment variable&lt;/td>
&lt;td>&lt;code>HUGO_VERSION&lt;/code>, matching the existing build&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Build output&lt;/td>
&lt;td>&lt;code>public&lt;/code> through the Hugo preset&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>We overrode the build command to preserve the existing theme setup. The build initialized the Git submodules, copied my custom icon into the theme, and generated the static site with the intended production URL.&lt;/p>
&lt;p>A simplified example of the Hugo generation step is:&lt;/p>
&lt;pre>&lt;code class="language-sh">hugo --minify --baseURL https://example.com/
&lt;/code>&lt;/pre>
&lt;p>Use your own domain in place of &lt;code>example.com&lt;/code>, and include any preparation steps required by your theme.&lt;/p>
&lt;h2 id="4-deploy-and-check-the-actual-website">4. Deploy and check the actual website&lt;/h2>
&lt;p>The first Vercel deployment succeeded. The blog became available at its Vercel-provided address.&lt;/p>
&lt;p>Codex then opened the deployed site and checked more than the deployment success message. The homepage displayed my biography, profile image, styling, and recent posts. It also opened the &lt;strong>Leadership - Buy In | Meetings&lt;/strong> article and verified that its content loaded.&lt;/p>
&lt;p>At this point, the hosting part was working. The Vercel project was connected to GitHub so future pushes to the production branch could trigger new deployments.&lt;/p>
&lt;h2 id="5-add-the-custom-domain-in-vercel">5. Add the custom domain in Vercel&lt;/h2>
&lt;p>Next, Codex added &lt;code>jacobaloysious.in&lt;/code> to the project&amp;rsquo;s production environment.&lt;/p>
&lt;p>We kept the address without &lt;code>www&lt;/code> as the main domain. Codex also added &lt;code>www.jacobaloysious.in&lt;/code> and configured a &lt;strong>308 permanent redirect&lt;/strong> to &lt;code>jacobaloysious.in&lt;/code>.&lt;/p>
&lt;p>Vercel supplied the DNS records needed for this project:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Type&lt;/th>
&lt;th>Name&lt;/th>
&lt;th>Destination&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>A&lt;/td>
&lt;td>&lt;code>@&lt;/code>&lt;/td>
&lt;td>The IP address provided by Vercel&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>CNAME&lt;/td>
&lt;td>&lt;code>www&lt;/code>&lt;/td>
&lt;td>The CNAME target provided by Vercel&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>The destinations are intentionally generalized here. Use the exact records displayed in your own Vercel dashboard.&lt;/p>
&lt;h2 id="6-discover-the-old-aws-connection">6. Discover the old AWS connection&lt;/h2>
&lt;p>I expected the next step to be editing DNS in GoDaddy. Instead, GoDaddy showed that the domain&amp;rsquo;s DNS was managed by &lt;strong>Amazon Route 53&lt;/strong>.&lt;/p>
&lt;p>That explained why registering the domain with GoDaddy did not mean GoDaddy controlled its active DNS records.&lt;/p>
&lt;p>The services had different jobs:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Service&lt;/th>
&lt;th>Role in this setup&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>GitHub&lt;/td>
&lt;td>Stored the Hugo source and content&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Vercel&lt;/td>
&lt;td>Built and hosted the website&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>GoDaddy&lt;/td>
&lt;td>Registered the domain; later became its DNS provider&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>AWS&lt;/td>
&lt;td>Previously supplied Route 53 DNS and the S3 deployment destination&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Codex initially suggested updating the existing Route 53 records to preserve anything else using that DNS zone. I clarified that I no longer used the AWS setup and wanted the website routed to Vercel.&lt;/p>
&lt;p>That context mattered: it allowed us to replace the old nameserver delegation instead of requiring access to AWS.&lt;/p>
&lt;h2 id="7-move-dns-management-back-to-godaddy">7. Move DNS management back to GoDaddy&lt;/h2>
&lt;p>Codex selected GoDaddy&amp;rsquo;s default nameservers and completed the confirmation flow, moving DNS management back to GoDaddy.&lt;/p>
&lt;p>Once the GoDaddy DNS records became available, Codex made two changes:&lt;/p>
&lt;ol>
&lt;li>Replaced the parked &lt;code>@&lt;/code> A record with the IP address supplied by Vercel.&lt;/li>
&lt;li>Changed the &lt;code>www&lt;/code> CNAME to the target supplied by Vercel.&lt;/li>
&lt;/ol>
&lt;p>GoDaddy confirmed that both records were saved successfully.&lt;/p>
&lt;p>Changing DNS and retiring the previous hosting setup are separate tasks. A migration should also include a review of old deployment workflows, credentials, and billable resources.&lt;/p>
&lt;h2 id="8-investigate-vercels-invalid-configuration-warning">8. Investigate Vercel&amp;rsquo;s “Invalid Configuration” warning&lt;/h2>
&lt;p>After saving the records, Vercel still showed &lt;strong>Invalid Configuration&lt;/strong> for both domain names.&lt;/p>
&lt;p>It was tempting to assume we had entered something incorrectly. Codex compared the saved GoDaddy records with Vercel&amp;rsquo;s required values and ran public DNS checks.&lt;/p>
&lt;p>The records matched, but the public lookups were still reaching the old AWS nameservers. Those servers refused the queries, and the lookups returned &lt;code>SERVFAIL&lt;/code>.&lt;/p>
&lt;p>So there were two different states:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>In GoDaddy:&lt;/strong> the new nameservers and Vercel records were saved.&lt;/li>
&lt;li>&lt;strong>In the public DNS checks:&lt;/strong> the old AWS delegation was still being used.&lt;/li>
&lt;/ul>
&lt;p>Vercel could not verify the custom domain while those lookups were failing. A browser check also failed to resolve the domain, so we could not yet verify HTTPS on the custom address.&lt;/p>
&lt;p>GoDaddy advised that most DNS updates take effect within an hour, but global propagation can take up to 48 hours. Saving a DNS change is not the same as every resolver seeing it immediately.&lt;/p>
&lt;h2 id="9-verify-the-domain-and-go-live">9. Verify the domain and go live&lt;/h2>
&lt;p>After the DNS changes propagated, the domain was verified and the blog became accessible at &lt;strong>
&lt;a href="https://jacobaloysious.in" target="_blank" rel="noopener">jacobaloysious.in&lt;/a>&lt;/strong>.&lt;/p>
&lt;p>The completed setup:&lt;/p>
&lt;ul>
&lt;li>The Hugo blog was deployed and working on its Vercel address.&lt;/li>
&lt;li>GitHub was connected to Vercel for future deployments.&lt;/li>
&lt;li>The main domain and &lt;code>www&lt;/code> redirect were configured in Vercel.&lt;/li>
&lt;li>GoDaddy had accepted the nameserver change and saved the required records.&lt;/li>
&lt;li>The custom domain was verified and the website was live at &lt;code>jacobaloysious.in&lt;/code>.&lt;/li>
&lt;/ul>
&lt;p>The earlier &lt;strong>Invalid Configuration&lt;/strong> warning was an intermediate state during the migration. Once the DNS change took effect, the main goal was complete: readers could use my own domain to access the blog hosted on Vercel.&lt;/p>
&lt;h2 id="what-i-learned-from-using-computer-use">What I learned from using Computer Use&lt;/h2>
&lt;p>The most useful part was watching Codex carry context across several services. It read the old build workflow, applied those details in Vercel, discovered the Route 53 dependency in GoDaddy, and used DNS checks to explain the remaining warning.&lt;/p>
&lt;p>It also exposed where my input was necessary. I had to enable browser access and explain that AWS was no longer part of the intended setup. The assistant could inspect the dashboards, but it could not infer that decision from a nameserver entry alone.&lt;/p>
&lt;p>There were practical limits too. Browser pages needed time to load, some interactions needed another attempt, and a successful save did not guarantee an immediately working domain. Verification remained part of the job.&lt;/p>
&lt;p>For me, this was a concrete example of AI helping with an operational task: taking an existing website, understanding enough of its history to deploy it, and working through the connections between source code, hosting, registration, and DNS.&lt;/p>
&lt;p>My blog is now live at &lt;strong>
&lt;a href="https://jacobaloysious.in" target="_blank" rel="noopener">jacobaloysious.in&lt;/a>&lt;/strong>, with the content in GitHub, hosting on Vercel, and domain registration and DNS managed through GoDaddy. The old AWS nameserver dependency has been replaced.&lt;/p>
&lt;p>For future posts, the publishing flow is simple: update the content in GitHub, push to the production branch, and let Vercel build and deploy the site.&lt;/p></description></item></channel></rss>