Skip to main content
← Blog

I Built a Bot to Change My Instagram DP So I Don't Have To

Feb 15, 2024

3 min read

View on GitHub

Okay, so picture this: It's 2 AM, I'm scrolling through my camera roll, and I realize my Instagram DP has been the same blurry selfie from three months ago. Peak procrastination energy, right? But instead of just... you know... changing it like a normal person, my brain went: "What if I never had to think about this again?"

That's how I ended up spending 6 hours building something that saves me 30 seconds. Make it make sense.

Instagram DP Bot Demo This is how it works at 100x speed.

The Plan

Instead of rotating through 47 curated selfies like some kind of content creator, I took one random photo and made 11 versions of it — same face, different background colors. Same energy as buying the same shirt in 12 different colors, but make it cloud-native.

The stack: Python, instagrapi (genuinely carrying the whole project), and my $100 Azure student credit, which I deployed with more confidence than I had any right to have.

Pro tip: instagrapi sessions save your login state so you don’t get rate-limited or asked for 2FA every time. Learned that the hard way at 4AM.

Instead of changing photos every hour like a maniac, I added random delays — 1700 to 1900 seconds between changes — because Instagram's algorithm is watching 👀, and I didn't want my account yeeted into the shadow realm for looking too bot-like. Gotta keep it natural.

The Part Where It Broke

The first day was flawless. On the second, Instagram pushed back when the API calls got too aggressive. Retry logic followed:

python
try:    self.change_dp()except Exception as e:    print(f"Oops, we faked up: {e}")    time.sleep(10000)  # Touch some grass, then try again    self.retry()

It's been running fine ever since. Before the bot: same boring DP for months, friends telling me to update my pic. After: new background color every ~45 minutes, friends asking how my pic is always different. I have not told them. The mystique is part of the brand.

Azure deployment did burn through my student credits faster than expected — which is why I eventually migrated the whole thing to GitHub Actions. But that's a story for another post.

Just use this responsibly. Instagram automation isn't exactly in their ToS fan club, and getting banned over a DP bot is not a flex.

The code is on GitHub. Variable names and questionable life choices included, free of charge.


Built with Python, powered by procrastination, and overnight engineering...