cd /news/ai-agents/making-llms-not-eat-my-food-or-how-i… · home topics ai-agents article
[ARTICLE · art-126968] src=kol3x.com ↗ pub= topic=ai-agents verified=true sentiment=· neutral

Making LLMs not eat my food or how I picked up TS

A laid-off software developer used the 83 topics in Dan Vanderkam's book "Effective TypeScript" as hints fed to the opencode LLM agent to convert a personal JavaScript project to TypeScript, removing roughly 80% of the type errors in the codebase before switching languages. The developer, who had avoided TypeScript since 2023 and picked up Rust via Tim McNamara's "Rust in Action," adopted the approach after finding TypeScript required in 90% of the roles that interested them. The account argues developers should delegate tasks they already know to an agent and write unfamiliar or maintainable code by hand.

read4 min views3 publishedSep 11, 2026

LLMs cook your food and eat it for you #

Many people rightfully blame LLMs for depriving us software developers of the very craft we love and of a way to improve in that craft. Junior devs are often mentioned as the group in most danger, but I find every higher role equally so. By this time it’s probably common wisdom to mix LLM-driven coding with manual codebase dive-ins, to not stall learning and keep an understanding of the codebase.

It’s definitely a spectre, but a general rule is: if it’s something you know exactly how to do — delegate it to an agent. If you’re doing it for the first time, and want to expand your knowledge, or you know you’ll have to maintain it — do it by hand. I recently managed to mix the two things and get even better results. But a little backstory is due first.

I don’t like my IDE red #

Back in 2023, with limited time and cash, I was looking for the quickest way into the industry, so my decisions were heavily based on how popular and established a path is. This should explain steps I had taken since: JS > WebDev > React, Node.js.

TS was left out as a non-essential, and even though I had touched it here and there, it was a foreign language to me and I did not like my IDE displaying red warnings that I didn’t even know how to fix.

Forward to our times. After being recently laid off, I’ve got time and money to cover some holes in my knowledge. The next logical step would have been to learn TS, but by that point I had developed a disgust towards types. I was also going through the stages at the time with thoughts like “will I ever get a job?”, “what should I do with my life now?” and “I should open a bakery!!11”, so logic wasn’t involved much at first.

Getting the memo #

In the midst of that chemical imbalance, I decided to pick up Rust in Action by Tim McNamara to learn Rust in my free time, with a focus on systems programming. This is how I learned about this beautiful language and the ecosystem, where everything is so carefully designed to make developer’s life easier.

Now, I haven’t gone too deep into Rust, so I can’t advocate for it too much. It’s also not really a JS competitor, so it isn’t a fair comparison. However, just reading on how the type-system and compiler works there made me realise how much I have missed controlling code quality programmatically in JS. I started thinking that maybe TS is not my enemy, and the red warnings are actually trying to steer me off writing code that can break in fascinating ways.

Acceptance #

Around the same time, I noticed TypeScript being a must in 90% of the roles that interest me, and everything has lined up — I knew I now both needed and wanted to learn the language. I added tsconfig to my pet project to use it as a training ground and for the first time embraced the red warnings as friendly tips.

My codebase initially had JSDoc comments with some types that, as I have learned, did not do much without the tsconfig. The whole codebase was lit up red now, and I started fixing the JSDoc comments to make it go away. I managed to remove about 80% of errors, with a handful of difficult ones left, before finally switching to TypeScript.

LLM cook, me enjoy food #

I wanted something practical for guidance, so I got Effective TypeScript by Dan Vanderkam. It consists of 83 short topics, each one explaining a real production use case. The topics are designed to be read in any order, so after going back and forth with it, I arrived at an idea of feeding the book to opencode to add hints throughout my codebase, referencing items from the book that are relevant to each code section.

From that point the process couldn’t be simpler for me — I was quickly reading these 20-30-minute pieces before diving into the code that’s directly relevant and practicing the principles I had just learnt. With Zod integrated along the way for validation of objects coming from outside the app, my project was now type-safe — no red in sight.

So #

There is no way I could have manually matched the lessons from a book to the codebase myself in such a short time, and it’s truly something that 10x-ed my productivity. It’s not having 10 agents run things for you 24 hours a day on a Mac Mini, but these creative tasks that we haven’t thought of before that deliver orders-of-magnitude improvements. This is just one recent example, but I will keep looking for ways to get the agent to take my side and empower me, instead of eating my food.

We’ve got a new tool on our hands, and it’s up to us if we want to use it for our benefit or against us. Too much of anything is bad, but a combination of small pieces is what makes a unique whole. Or whatever. Peace!

── more in #ai-agents 4 stories · sorted by recency
── more on @typescript 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/making-llms-not-eat-…] indexed:0 read:4min 2026-09-11 ·