What did I do in July


Well, long time no see. I got pretty busy or maybe I just didn’t have the will to write this.
Hmm… existential crisis.
Anyway, I built a full end-to-end functionality using AI heavily, and honestly, it didn’t suck. Context is always a bottleneck. For similar tasks, there was a lot of repetition, but that’s likely because you have to provide so much context.
I think a better approach is to have AI first write an overall architecture, and then use a summary of that architecture along with your DB models and functions as context. Providing the functions and their return values works better than dumping a ton of raw code. Abstracting certain parts can really help.
Download Reports
The functionality I built allows users to download reports in both JSON and XLSX formats - summarised reports and raw data. This needed to be an on-demand download so that the dependency on developers was removed.
It’s useful, but I’ve built similar reporting systems everywhere I’ve worked. There’s nothing novel in the core approach:
- Query the DB → Get data → Generate user-friendly reports.
The real challenges are delivery and storage. Large datasets need cleanup after 3–4 months (unless you’re using buckets). But storage is cheap, so… who cares? ¯\_(ツ)_/¯
The client also wanted the files zipped, so we did that. Everything runs asynchronously.
AI wrote some code and I had to spend 4-6 hours finding and fixing a bug that AI introduced. Suxx.
DevOps Work
I also did some DevOps. You’d think dockerising things is easy, it isn’t.
CI/CD: Setting up the pipeline was straightforward and saved us from manual deployments.
Dockerising: Writing the Dockerfile is fine.
Kubernetes: That’s where the pain starts. So many configurations, so many things that can go wrong. But once it’s set up, life becomes much easier. :P
Mentoring & Bug Fixing
I resolved user-raised bugs and handled some organisational stuff.
I’m also mentoring two interns and helping with their projects. Let’s see how that turns out.
This was my first time mentoring someone showing them the ropes.
I told them: Don’t use AI to write code directly. Your ability to write and understand code will diminish. Use AI for brainstorming and idea generation, but write code with your own hands. Speed isn’t the point here.
The Permission Bug
We had an issue where files created by Celery tasks weren’t accessible to the Django server. The root cause? The www-data
user (owned by Apache2) was different from the user running the Celery jobs.
I have also added aliases so that my life on the server becomes easy.
Solution:
usermod <username>
One command. Done.
Learning & Side Projects
I feel I’m getting better at LLD and HLD, always pragmatic, no over-engineering.
I also built a CLI-based side project for timezones: Chrononav, nice, right?
I want to dive deeper into lower-level programming, maybe even kernel-level stuff, but I’m not sure where to start. I’ll probably look for open-source repos to contribute to.
I feel basic CRUD work can already be done with AI, with just a few tweaks. It’s not fully there yet, but almost.
Maybe I’ll become a Rust or Haskell dev. I’ve tried learning Rust three times and even contributed small things to OSS Rust projects, but I don’t vibe with it. Or maybe my neuroplasticity is gone.
Still, I think jumping straight into a Rust project might work for me, I’m more of a hands-on learner.
Subscribe to my newsletter
Read articles from Vivek Khatri directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Vivek Khatri
Vivek Khatri
I am still deciding what should I write here.