Posts

Building CreatorModo: Backend Architecture (Part 1 - High Level Design)

Image
Hello again. Hope the intro post didn't put you to sleep. Last time I gave you the trailer: what I'm building, why I'm building it, and a high-level skim of the stack. This time we actually open the hood, specifically on the backend, because that's where most of the real engineering happened. And, not coincidentally, where most of my regrets currently live. Here's the diagram from before, since we're about to walk through every arrow on it. Why Two Backend Services Instead of One? The obvious move would've been one FastAPI app doing everything: receiving webhooks, validating them, saving automations, processing events, firing DMs. One repo, one deploy, one service to monitor at 3am. I didn't do that. On purpose. Instagram doesn't send you webhooks politely. It sends them whenever it wants, as many as it wants, and it expects a fast response or it starts retrying — which means duplicate events, which means duplicate DMs, which means creators...

I built py-uv-audit because uv audit wasn't telling me enough

Image
I shipped a small Python package this week. It's called py-uv-audit (https://pypi.org/project/py-uv-audit/), it works on uv-managed Python projects, and it tells you which of your dependencies have known vulnerabilities — plus, importantly, what to actually do about them.  Where the idea came from? I was working on a website that used npm, and npm install casually dropped a "you have 7 vulnerabilities" message into the terminal. Standard npm behavior. And I thought — wait, why doesn't Python have this?  You install something with pip or uv and… nothing. No nudge that you just pulled in a package with three open CVEs. Turns out it kind of does. uv audit exists and does a solid job. But after using it for a bit on a real project, I    had this list of questions it didn't answer:   - Which of my dependencies actually introduced this vulnerability?   - Is it something I added or did some library pull it in transitively?   - What's the safest upgrade path? ...

Building CreatorModo — Intro

Hello. Welcome back. This is going to be the first episode of a technical series where I explain: what I’m building, why I’m building it, how I’m building it, and all the engineering decisions that come with it. So first things first. The Problem Around 6 months ago, I started seeing people on Instagram asking viewers to comment some phrase or keyword to get a link in their DMs. As an intelligent engineer, what did I do? Nothing. But after seeing it everywhere for months, curiosity peaked and I finally decided to build something that does exactly that. Am I late? Obviously. But I still decided to build it because: I genuinely wanted to understand how this entire automation flow works. I apparently have nothing better to do personally. Professionally? Sure. I work at a company that raised $1.5M USD. But we’ll talk about that some other day. Skipping the small talk. What This Series Is About This is going to be a 5–6 part series covering: the architecture, frontend, backend, auth/securit...

People Are Actually Reading My Blogs?

When I started this blog, I didn’t really think anyone would read it. I’ve only published two posts so far, one introducing myself and another about my experience interviewing as a mid-level developer. After that, I lost momentum and stopped writing. Today, I randomly checked my blog stats and was surprised to see over 2,500 views. I was expecting maybe a few hundred at most. That changed how I see this. Now I want to take it seriously. I have a lot to share, so stick around.

Shifting Expectations in the Software Job Market: A Mid-Level Engineer’s View

Recent conversations about the software job market often describe a steep decline in opportunities. My experience has been more mixed. Over the past few weeks, after updating my resume, I’ve applied to roughly ten roles and interviewed at several companies, including larger firms. Recruiter outreach has increased as well: two to three calls each week, regular LinkedIn messages, and about 1,600 search appearances in three weeks. I have three years of experience, which likely influences this response. Hiring expectations have changed since the period before 2021, when basic data-structures knowledge and a programming language were often enough to secure an entry-level role. For new graduates with limited project experience, listing React or basic frontend skills rarely attracts employer attention. Many companies expect one developer to manage work that previously required several people. With accessible tools like ChatGPT or Claude, smaller firms often operate with leaner teams. This shi...

Hello world

Greetings Hello world. My name is Shiva, and I also go by the alias Bavid Lynx on the internet. This is my first official blog, and I’d like to welcome y’all to this place. So, why am I starting a blog in 2025? There are multiple reasons. Some that I can share right now are: I need a personal, authentic brand. Based on my research, all great individuals have or had a blog. I have too much I want to document, like my opinions and guidance. What can you expect from my blog? You’ll find tech blogs where I explain my projects, share my experiences, or write about details I wish I had known earlier. I’ll also post personal learnings, book reviews, movie reviews, and other reflections. I want to treat this blog as a mirror of the back of my mind, which is always filled. I know this isn’t the late 1990s or early 2000s. I also know this is three years after the major release of ChatGPT and LLMs. People may not bother reading blogs anymore, but honestly, I don’t care. About my domain (.wtf) The...