Disclaimer
All of the thoughts below are personal opinions, they’re not sponsored ones (I’D SURELY LOVE BEING SPONSORED but this blog has somewhat like 2 readers), the AI usage here is close to 0, with the exception of the grammar and style review, as the author can’t type 4 words without making a grammatical mistake.
A lengthy intro
AI is polarizing. People are in love-hate relationship with it and there are obvious reasons for that: fear of jobs being taken away from humans, enormous amount of AI-slop in every media format possible, endless AI-first solutions for non-existing problems, VCs pouring billions into AI solutions, endless AI-written linkedin posts about the bright future of AI, you all know it, it’s fatiguing.
What’s my opinion about all these topics? It’s quite fatalistic, I don’t believe we (I, me personally) can stop it from evolving and changing the sociocultural landscape. Maybe it will eat-up jobs, including my own, leaving me with little to no income. Maybe it will shut the voices of real people in favour of a glossy AI-slop. Maybe it will further enhance the divide between the poor and the rich. I don’t know, and, to be completely honest, I don’t quite care about things I don’t have impact upon. What I have is the ability to adapt, some amount of internal curiosity, readiness to change my habits, tooling and approaches. So I succumbed to the beast, learnt, tried out various tools and approaches. Don’t get me wrong, I don’t want to preach the best workflow possible but rather will share what works and what does not for me, what I daily-drive, with cons and pros, a pure subjectiveness.
My toolkit (as of January 2026)
Providers
I don’t like OpenAI. I’ve cancelled my ChatGPT subscription recently but still use ChatGPT API for a couple of pet projects because it’s still the most straightforward one in terms of integration and just making it work, with most of the libraries and frameworks just using it as the default implementation. There’s something icky about their lines of products, the way UI and apps are built, the quality of model responses that makes me feel it being somewhere in the uncanny valley. I know that I would expect the corporate stiffness from Gemini and quite a bit of a human touch from Anthropic lines of projects but I don’t know what to expect from OpenAI and I don’t quite like it.
So, for the daily life I use Gemini (I’ve got an Android phone, it’s built-in) to quickly ask questions, send the photo of something to translate, you know, the usual stuff.
For things that are related to my field of work I mostly use Anthropic (Claude, Claude Code) and a bit of Gemini (NotebookLLM and Gemini Deep Research work very well).
Domain deep research
When exploring the new domain topic (some large-scale architectural decision, studying a new domain) I now run a deep research or two with a vague description of the problem I’m interested in and some specifics of the task.
For example, I have a pet project of my own categorizing, storing and visualizing the blood samples history of a human person and I was interested in proper standards for medical interoperability, approaches on storing, transmitting and recognizing the data in real-world IT healthcare systems. This was quite valuable, as instead of spending dozens of hours reading through the complex regulatory standards, ISO-s and standards varying a bit between US, EU and Asia I was able to grasp main concepts and idea pretty quickly. Which also worked quite well was tinkering around the deep research results and serving it as the input for the coding agent to build the internal domain model (specifically Value Objects, Aggregates and Bounded Domains) first, covered pretty well with tests before working out on infrastructure parts.
With the Deep Research functionality actually doing the DDD in a strategical way becomes easier, especially in green field areas (keep in mind, it describes a PET project, not the full-blown compliance-heavy medical healthcare application).
What I have to notice is that the results of that research should never be treated as trusted out of the box, it needs careful review, which is obviously quite difficult to do if you’re not the subject matter expert on your own. The results are quite lengthy and may give an impression that you have the knowledge and understanding just because you have a 30-page PDF compilation of multiple articles across the internet. You should follow the links, try to logically undermine the regurgitated machine output first and internalize the compressed knowledge, which is notoriously difficult to make right (I have a small brain, at least it’s difficult for me).
Writing code
In general, my observations are very well described in this article, so I use the quote from it:
If I had to boil down my criticism of Claude to one sentence, it’s this: Claude doesn’t have a soul. It doesn’t want anything. It certainly doesn’t yearn to create beautiful things. So it doesn’t produce good solutions. It doesn’t write elegant abstractions where there were none; it doesn’t manicure the code garden.
If you want to produce a nice-supported code you need to be a good gardener. You should not assume it will select the best architectural approaches for you when producing the output, you should plan the seeds yourself. In your development loop you are responsible for understanding the proper data-flow through your application, proper dependencies relationship and the way your components you believe should interact. AI agent may derive some patterns and approaches from the codebase written, but most of the brown-field projects do not have a clear one architectural approach, they have a mix of things written down by multiple people and glued together in most unbelievable ways possible, so you need to nurture new code being born.
It’s better before writing the code to have a clarity (for you and your agents) about how system components interact (e.g. internal in-process async event-bus), how the dependencies are instantiated (e.g. DI container in one place with a set of factories), is there a layering of your app.
To manage that you may have a separate architectural-patterns.md document, referenced in the AGENTS.md / CLAUDE.md file, so that the agent can validate and guide itself on proper way to write code.
Plan mode is also a savior here, before developing something large-scale (a new feature, for example), make your agent plan the work ahead, tell it to use the AskTool when it’s unsure about the implementation and review the plan ahead of time for consistency.
With this approach I also tend to use two backlog files: PLATFORM.md and PROJECT.md, that the agent can use to keep track of streams of work developed. I tend to have two layers in my projects, a platform infrastructure one (DI’s, event-buses, ORM and other non-directly tied to the feature development things) and actual features on top of the platform, so for me this separation makes sense. It also gives you a way to be in the control of what gets written across many sections of the app.
For prompting I don’t like writing down heavy prompts, just a basic outcome, specific important criteria and let the agent figure out the other aspects on its own, asking me questions if there’s unclarity.
Code reviews
I often perform the out-of-the-development-loop review sessions. If I get a feeling that something’s wrong with the overall architecture I ask the agent to assess and come-up with ways to make the codebase better (providing the high-level guidance on what I consider better to be). It’s quite an intuition-based approach, as it requires you to feeeeeeel what’s good and bad for the code you own, but I don’t know any better. Sometimes for a larger features I also request the agent to put on the hat of the security researcher or a performance expert in the new session to assess the code right away for respective issues, it also works quite well.
Debugging stuff
That was the area where I assumed coding agents would generally suck, but on multiple occasions it was actually way faster for the Claude Code to spot the underlying reasons in the code behavior than me, with my human brain. Giving it access to observability tools (logs, metrics and traces like in the grafana-mcp) and providing it with insights on the proper way to query proper metrics in your system also was a massive win for me. It is also the only MCP server I use except for the chrome-mcp, as I find the basic usage of CLI utilities to cover 99% of use-cases I have.
UI’s for pet projects
I’m the backend engineer and I’ve always struggled with UI and design. It’s always been a blocker for me in implementing ideas, but now this block is non-existent. Yes, the result is quite crappy and recognizable as AI-generated but it’s 10x better for 10% of the time I’d spend doing it. What I’ve noticed that the UI aspect of things is, for some reason, way more susceptible to problems with duplication and bad organization. Review sessions are required more often: to organize CSS in proper non-duplicated fashion, keeping templating logic or components structure from duplication, making sure API interactions and components lifecycle make sense. Compared to the backend world I know less of how to make things good on UI, but basic engineering principles still apply.
One-off tools
This use-case perhaps does not require any explanation: the amount of python/shell/make/sed/awk scripts I’ve vibe-coded for very niche tasks is countless: visualizations, reports, automation routines. What could have previously taken an hour (let’s be honest, 2-3), to write and debug now takes several minutes.
Unusual use-cases
LLMs are obviously good at reading and mimicking the text interpretation, so applying it to the text related problems seems quite natural, I’ve been able to do the following:
Diary and psychotherapy
I use Obsidian to gather my weekly reflections and observations, I’ve been doing it to a varying degree for 6 years, and wanted to have a psychoanalysis session. Given Obsidian works just on top of markdown files plugging in the Claude Code to go through my personal thought process was a no-brainer (I am that careless about my personal data). I can say it was quite insightful, the soulless LLM was able to find specific behavioral patterns, scattered along a long time and did provide some guidance on what can be done. This is in no way a replacement for the proper mental treatment by a living person, but still provided me with some ideas on several CBT techniques and thinking points.
Chess analysis
Chess is my new recent hobby (yeap, I’m very late to the party). Part of learning chess is analyzing your weak points and studying how to make them better, so what I was able to do is to ask Claude Code to fetch and analyze my latest 100 games in the PGN format from major Chess platforms and suggest a learning plan, based on weak spots. I consider the results of the investigation to be quite good as I’ve spotted some recurring patterns and followed-up on learning more about my weaknesses.
A critic and the editor
I use several prompts to proof-read and check the content for logical inconsistencies, grammar and structural peculiarities. I do not use AI to write in my essays, as what’s the point, as I want my voice and thoughts to be heard. But I find it useful to spot logical inconsistencies in the text, as my thought process can be quite scattered and chaotic in writing.
Closing reflection
The AI-boom makes me worry for the future of my profession. The tooling performance and the quality of model outputs improved significantly recently and I’m a bit scared of moving to the manager role, role of a person orchestrating agents to do the work, controlling the results and providing a proper direction for them to move forward. Maybe even this role will be unnecessary very soon with introduction of the new Claude Manager Swarm 5.0 or something like that.
You may say, with the endless possibility to build stuff - just build the Next Big Thing. I do feel the boost in terms of ideas I may try out and projects I may build on my own, but I think of myself as a person who sucks on monetizing his ideas and generally prefers being paid for the job done. When doing the job may cost 100$/month per subscription - it raises obvious concerns. And the amount of the Next Big Things (c) in the world is quite limited, there’s only so much of the money people may want to spend on apps and endless subscriptions and one-time purchases.
Many small apps will likely cease to exist as well, as vibe-coding a tailored solution for your specific problem may be easier and cheaper, than buying yet another subscription. This may lead to small companies and solo-developers losing their bread and butter, and large tech companies just dominating the whole market. It’s a two-sided blade: I like having what belongs to me controlled by me, yet I like the idea of competition, but, it may also be accelerated by having accessible way to create products faster and adapting faster.
What worries me a lot as well is that likely we’re going to see the degradation of mastery of fundamentals across new, AI-first, developers. My assumption is that the lack of necessity to grind yourselves through the technology and knowledge from books will result in a decrease of developers skilled on their own, without being assisted with the LLM, and likely this assumption reflects the reality.
So, what’s the conclusion?
For seasoned devs, who are very opposed to AI-usage in their work I could recommend trying out the coding agent at least to keep up-to-date with latest trends and improve job-security at least a bit. Claude Code is good at a lot of things and could bring you lots of time saved. Having a good understanding of how to build software systems, how to write good code, how to formulate and delegate tasks is a nice leverage for you in the current state of the industry, obsessed with AI-tools.
For new developers, who are only entering the market I’d recommend to still give a lot of attention to learning good fundamentals and basics in terms of Operating Systems, Algorithms and good engineering practices. AI may give you an impression that everything’s possible, knowledge is there for you at a five-word prompt, but the firmware of our brains simply does not work that fast and we are still there to tame that beast.