So I have recently gone back into Engineering.

About a year ago I was hired as a Senior Technical Project Manager. This is something I have done before, and with my background as an Agile Coach it made sense. But I was actually applying for a Senior Engineer role.

I ended up being benched for close to four months. At that point I reminded my employer that I had been in the final three for a Senior Engineer position, and that there was clear demand for engineers. I made it clear I would rather work as an engineer than sit around waiting for a PM assignment.

Shortly after that I was seconded into Engineering as a Senior Data Engineer working with Databricks. That apparently went well, because I was later moved into a permanent Senior Engineer role.

AI for good or bad?

To ramp back up after ~5 years away from professional coding, I started building things in my spare time. This website was one of those projects. I also spent time on Docker, Spark, and generally getting back into a systems mindset.

One hobby project is building a Databricks-like system using Docker and Jupyter. At the same time, I started experimenting with AI assistants. Not as a vibe coder, but to understand how they actually help.

No shame in using AI - but you need to understand what it is good at and what it is not.

My conclusions so far:

Different AI assistants are good at different things. There is no one size fits all.

Some are very good at spotting patterns and anti-patterns, and at finding the real cause of errors when exceptions are misleading. Others are better at writing specs, READMEs, and generally structuring language.

And just like with real engineers - the one doing the work should not be the one deciding it is done.

A hybrid approach works best. For example:

  • Use OpenAI for text, specs, documentation
  • Use Anthropic for code assistance

That tends to give the fastest and best results.

One important thing - these are assistants. They do not replace engineers.

They are very good at producing clean, well formatted code that follows documentation. But that is not the same as writing efficient or well designed systems.

They often break core engineering principles:

  • Poor low coupling / high cohesion
  • Little to no reuse
  • Reinventing the wheel inside modules
  • Weak understanding of relationships between components
  • Focus on isolated units instead of end-to-end systems

The result is often bloated code and subtle bugs when modules interact.

Practical trial

So I decided to test this properly.

I combined this with something I enjoy - Fallout 76 - and built a system to track:

  • Atomic Shop updates
  • Minerva rotation and inventory
  • Axolotl rotations

All things that are tedious to check manually.

The goal was simple: Build a bot that tracks and surfaces this data so I do not have to keep looking it up.

I started with a Telegram bot: Fallout 76 - Atomic Shop and Minerva Updates

image

Describe the goal

I used ChatGPT to define what I wanted to build.

We went back and forth until I had:

  • A clear problem definition
  • A solid architecture
  • A proper tech spec

This was faster than doing it solo. It could:

  • Look things up quickly
  • Name patterns correctly
  • Structure things more cleanly

But it was not hands off. I had to:

  • Correct it repeatedly
  • Reject bad assumptions
  • Clarify system boundaries

And yes - being blunt helps. It stops it from making things up.

The output was a proper tech spec in markdown.

Scaffolding the solution

Then I moved to Claude Code.

I gave it the spec and told it to:

  • Read it
  • Ask questions
  • Update the spec with clarifications

There were a lot of questions.

Then I hit a gap - I had never built a Telegram bot before.

So I let it scaffold:

  • Project structure
  • Docker setup
  • Env variables
  • Telegram integration

And honestly - it did a good job.

This saved me days of figuring out how Telegram works. I could focus on:

  • Data ingestion
  • Queries
  • Matching against external sources

The aftermath

After about 2 days (evenings, not full time), I had a working bot.

Then I expanded:

  • Item tracking
  • Notifications when items appear

After about a week of part time work, I had something I actually wanted to beta test.

The sad truth

So I went looking for testers.

Got permission to post in a Fallout Discord.

Posted...

Turns out the overlap of:

  • Fallout 76 players
  • Telegram users
  • English speakers

...is basically me.

Slightly disappointing, because it is actually useful.

So I decided to up the game and build a Discord bot as well.

Discord trials

Never built one before.

I had done IRC bots back in the 90s, so I understood the concept - but not Discord specifics.

Questions like:

  • Does it need to be public?
  • Can I host it locally?
  • How does Discord expect things to work?

Same process again:

  • ChatGPT for planning
  • Claude for execution

A few days later: Goris was born

image

Add to server
Install as app

Goris, for those who do not know, is an intelligent deathclaw from Fallout 2.

What now?

Now I have two bots and a proven workflow.

The goal was simple: Figure out how AI assistants actually work in practice.

What they are good at. What they are not.

Early mistake - trying to use ChatGPT for code. It is not great at that.

GitHub Copilot is similar - good for small fixes and cleanup, not for system design.

But overall: It massively sped up my learning curve.

Even if I did not write everything:

  • I wrote the important parts
  • I reviewed everything

It actually felt similar to early days using Visual Studio scaffolding.

There are parts of engineering that are just:

  • Boilerplate
  • Repetitive
  • Time consuming

AI is very good at that layer.

Lessons learned

  • AI assistants are good at different things
  • They are nowhere near replacing engineers
  • Used correctly, they speed up development significantly
  • They are very good at porting functionality across frameworks

End note

Since I now have two bots, I need to publish commands and privacy policies.

Fallout 76 - Atomic Shop and Minerva Updates

Telegram bot.

Commands

Command Description
/start Subscribe to updates
/stop Unsubscribe and delete data
/daily Today's daily deal
/shop Weekly or monthly shop
/minerva Minerva schedule and inventory
/help Show commands
/track <item> Track an item
/untrack <item> Stop tracking an item
/tracking List tracked items

Privacy policy

1. Overview

This bot provides Fallout 76 updates:

  • Atomic Shop
  • Minerva
  • Optional item tracking

Only minimal data is collected.

2. Data collected

  • Telegram User ID
  • Channel/Group ID (if used there)
  • Username (if available)
  • Subscription preferences
  • Tracked items

No message content is stored.

3. Purpose

  • Deliver messages to the correct place
  • Manage subscriptions
  • Enable tracking features

4. Storage and retention

  • Only required data is stored
  • Data exists only while subscribed
  • Unsubscribe = data deleted quickly

5. Data sharing

No data is shared or sold.

6. User control

  • Subscribe = consent
  • Unsubscribe = deletion
  • Deletion can be requested anytime

7. Security

  • Limited access
  • Minimal stored data

8. Legal basis (GDPR)

  • Consent based
  • Only necessary processing

9. Changes

May be updated over time.

10. Contact

Use provided contact form


Goris

Discord bot.

Channel workflow (admins)

Command Description
/start Subscribe channel to updates
/stop Unsubscribe channel

User workflow

Command Description Tier
/subscribe Enable DM updates Free
/unsubscribe Disable DM updates Free
/track <item> Track item Free (1), Premium unlimited
/untrack <item> Remove tracking Any
/tracking List tracking Any

Privacy policy

1. Overview

Goris provides Fallout 76 updates and tracking features.

Minimal data is collected.

2. Data collected

  • Server ID
  • Channel ID
  • User ID
  • Username (if available)
  • Subscription data
  • Tracked items

No message content is stored.

3. Purpose

  • Send updates to correct server/channel
  • Manage subscriptions
  • Enable tracking features

4. Storage and retention

  • Data stored only while active
  • Removal or unsubscribe = deletion

5. Data sharing

No data is shared or sold.

6. Control

  • Admins control server usage
  • Users control their own subscriptions

7. Security

  • Restricted access
  • Minimal storage

8. Legal basis (GDPR)

  • Consent and legitimate interest

9. Changes

May be updated over time.

10. Contact

Use provided contact form

Comments

Post Info

Author:

Published:

Views:

Shares:

Tags:
Share on: