Header image for How I Use AI for Code and Life

How I Use AI for Code and Life

Saturday, 07 March 2026

AI
Opinion
Personal

Introduction 🤖

AI has become a genuine part of my day-to-day workflow now, both as a developer and outside of work. It is not something I use as a novelty any more, and it is not something I reach for only when I am stuck. It has become part of how I think, how I write, how I research, and how I move work forward. Honestly, that shift has been pretty exciting.

Most of that usage is still centred around coding. That is where I get the biggest return, and it is where the tools feel the most mature for me personally. But I am also using AI more and more for learning, exploring new ideas, and researching topics outside of code. The more I use it, the more I find myself settling into a split approach depending on the context.

At work, my setup is different from my personal one. The tools are different, the constraints are different, and even the models I reach for can change based on the task. What stays consistent is the overall goal: use AI to accelerate the boring parts, support the difficult parts, and still stay close enough to the work that I understand what is happening.

How I Use AI for Coding at Work ⚙️

For my day job, I am primarily using OpenCode with my company-provided GitHub Copilot account. That has become the centre of my coding workflow. From there I will switch between models depending on the type of work I am doing, usually a mix of 5.3-Codex, and increasingly 5.4, alongside Opus 4.6.

I do not think there is a single best model for every task. Some tasks need speed and iteration. Some need stronger reasoning. Some are better suited to code generation, while others are more about reviewing, planning, or exploring a codebase. I have found that treating model choice as part of the workflow is far more effective than trying to force everything through one option.

That matters even more in a .NET-heavy environment. A lot of the value does not come from asking a model to blindly generate code. It comes from shaping the environment around it so the model has better guidance, clearer constraints, and stronger defaults. That is where OpenCode has worked particularly well for us. It feels much more like engineering a workflow than just chatting to a bot.

If you want to see a public example of how I structure some of this, have a look at my aspire-chat-demo repository. I have used that project to set up some basic OpenCode agents, skills, and commands around a realistic .NET sample so the workflows are repeatable rather than ad hoc.

Agents, Skills, and Commands in OpenCode 🛠️

One of the biggest improvements we have made at work has been building out a more structured OpenCode setup around Agents, Skills, and Commands.

For me, Agents are where the workflow starts to feel more intentional. Instead of using the model like a generic chat window, an Agent gives it a clearer role. That might mean exploring a codebase, reviewing a change, helping plan a feature, or carrying out a more focused implementation task. The value is not just that it can do the work, but that it does the work in a way that matches the kind of task you are handing over.

Skills help reinforce that structure. They let you encode repeatable ways of working so the model is not starting from scratch every time. In a .NET codebase, that is hugely useful. You can capture team conventions, architectural expectations, testing preferences, naming patterns, and the kinds of trade-offs you care about. The result is that the AI becomes more aligned with how your team actually builds software, rather than giving you something technically valid but culturally wrong for the codebase.

Commands are what make the whole thing more practical day to day. They give you repeatable entry points into common workflows so you are not rewriting the same prompts over and over again. That might be code review, ticket planning, refactoring support, documentation updates, or implementation scaffolding. Once those commands are tuned well, you reduce friction massively and make AI usage feel like part of the toolchain rather than a separate activity.

In that demo repo, for example, I have a dedicated review command wired into a focused review agent rather than treating code review as a generic prompt:

description: Run a full code review for a commit or recent branch changes
agent: code-review-agent
subtask: true

The review agent itself is intentionally constrained and opinionated. It is set up to behave like a senior reviewer, stay read-only, and focus on things like correctness, security, performance, and test coverage rather than drifting into implementation:

description: Performs thorough code reviews for commits and branches with prioritized findings
mode: subagent
tools:
  write: false
  edit: false

The same applies to skills. One of the skills in that repo defines a clear feature-slice order for the Aspire Chat sample so changes land consistently across contracts, API, web, UI, and tests:

## Feature slice order
1. Update or add DTO contracts in `AspireChat.Common`.
2. Implement or update endpoint behavior in `AspireChat.Api`.
3. Update typed client methods in `AspireChat.Web/Clients`.
4. Implement UX updates in Razor pages/components.
5. Add or adjust tests in `AspireChat.Tests`.

That combination has made a real difference for us. Instead of just using AI to generate snippets, we are building an environment where it can participate in our development process in a much more useful and reliable way.

How I Use AI for Personal Projects ✍️

For personal projects, including this blog, my setup is a bit different. I am using my own ChatGPT and xAI subscriptions alongside OpenAI's Codex app and OpenCode. Again, it depends on the task.

For writing blog posts, my workflow is usually very Markdown-first. I write the content myself, get the ideas down in my own words, and then use OpenCode to help review it. I will use a mix of Grok and 5.2 or 5.4 to sense-check the post, look for inconsistencies, tighten up the structure, and compare it against the tone and style of my other posts.

That is the kind of AI usage I enjoy most right now. I am not asking it to replace my voice. I am using it more like an editorial pass. It helps me spot weak sections, repeated phrasing, missing context, or places where I have assumed too much knowledge from the reader. It is less about generation and more about refinement. For writing, that feels like the sweet spot for me.

The same is true for side projects. Sometimes I want help planning. Sometimes I want implementation support. Sometimes I want a second pair of eyes on the result. Having access to a couple of different tools and models means I can choose the one that best fits the moment rather than forcing one workflow across everything.

How I Use AI for Learning and Research 🧠

Outside of coding, I am also using AI much more for learning and research. That usage has been growing steadily for me.

I will often use ChatGPT or SuperGrok to explore an idea, learn something new, or dig into a topic I want to understand better. Sometimes that is technical and adjacent to development. Sometimes it is broader research, general learning, or working through a subject from multiple angles before I go deeper on my own.

One thing I have started doing more often here is using multiple models at the same time almost like a small council. I will ask the same question in a couple of places, compare the answers, and look at where they agree or disagree. I find that really useful for research because it gives me different perspectives, different emphases, and sometimes different follow-up ideas that I would not have got from sticking with just one model. It is a bit like having a room full of very fast, very opinionated assistants.

That also helps me avoid doubling down too quickly on a single AI's framing of a topic. If one model presents something too confidently or pushes me in a narrow direction, another will often expose the gaps, offer a different angle, or highlight trade-offs I should think about. I think this is one of the best ways to use AI as it becomes less of an answer machine and more of a sounding board for building a more balanced understanding.

I used to use their websites and apps a lot for that, but recently I have started moving towards a more terminal-based workflow here as well. I like having the interaction closer to the rest of my tooling, and I like the idea of keeping more of that work in places I control and can organise properly. It also means I can have tailored agents to help with my blog vs ones that might help me learn by asking me lots of questions.

That is part of why I am increasingly interested in pairing this with Obsidian and a git repository for notes. That feels like a much better long-term setup for learning. I can keep my notes in my own structure, write them in my own way, version them properly, and then use AI tools through OpenCode and different models to review what I have written, suggest additional context, or point me towards useful follow-up material.

That feels much more sustainable than leaving everything trapped in chat history. It gives me a knowledge base I actually own, while still letting AI act as a research assistant, reviewer, and learning companion. Plus as I mentioned earlier it allows me to mix-and-match models for what I want to do.

Final Thoughts 💭

The biggest shift for me has been moving from seeing AI as a single tool to seeing it as a layered workflow. At work, it is deeply tied to how I code, review, and structure development tasks in OpenCode. In personal projects, it helps me refine and improve what I am already creating. Outside of code, it is becoming a genuine part of how I learn and research.

I still think the most important thing is to stay intentional. I do not want AI to replace understanding. I want it to accelerate progress, reduce friction, and help me work better across the things I care about.

Right now, coding is still the main event for me. But learning and research are catching up fast, especially as those workflows move closer to the terminal, Markdown, and notes I actually keep.

It is also worth saying that you do not need to be using frontier models for everything. Sometimes the cheaper models are just as good for very specific tasks like reviewing a draft, checking consistency, summarising notes, or helping structure an idea. For most people, you can get a surprising amount of value out of the lower-cost plans, especially around the £20 per month mark, so it is well worth getting stuck in.

Why You Should Start Now 🚀

If you have not really started using AI yet, now is the best time to begin. It is not going away, it is getting better all the time, and the people who start learning how to use it well now are going to be in a much stronger position than the people who keep waiting for the perfect moment. The gap is only going to widen from here.

You don't need that perfect workflow on day one. Start small. Use it to review some code, help plan a feature, challenge your thinking during research, or improve a draft you are writing. Then build from there. The biggest gains usually come from developing good habits and structured workflows rather than trying to use the most advanced setup possible immediately.

And if you are starting to use AI beyond coding as well, for writing, learning, research, or note-taking, think carefully about where that knowledge lives. The more of it you can keep in systems you own and can revisit, the more useful it becomes over time.

Comments (0)

No comments yet. Be the first to comment.


Subscribe so you don't miss out 🚀

Be the first to know about new blog posts, news, and more. Delivered straight to your inbox 📨


Related Posts

My Thoughts on AI in 2026

02/28/2026

A practical guide on how developers at different career stages should be using AI, from junior developers building foundations to seniors orchestrating agents at scale.

AI
Career Advice
Opinion
How to Adopt .Net Aspire

06/08/2025

Adopting .NET Aspire is an easy way to modernise development, start locally for big benefits and grow at your own pace.

Architecture
Opinion
Aspire
Read More
Why I Chose Blazor

04/29/2025

This blog explores why I chose Blazor as my web UI framework, highlighting its strengths for .NET developers, Microsoft’s ongoing investment, and where it might not be the best fit.

Blazor
Web Development
Opinion