This tool didn't start as an editor. It started as a tiny feature buried inside my blog posts ~ a way to auto-generate Instagram carousels from each article so I could repurpose my writing without opening Canva.
Then it grew. And grew. And a few weeks later, after countless iterations, overthinking sessions, AI mistakes that broke the simplest things, and manual engineering fixes at 2am ~ it became a full standalone editor. 9 slide types. Drag-and-drop. PNG and ZIP export. Templates.
I'm not going to pretend AI did all the work. I'm a software engineer ~ that's a massive advantage. AI is incredible at speed, but it also complicates the simplest things when you least expect it. Having engineering skills to catch those moments, debug them, and steer the ship? That matters more than people admit.
Here's the real story of how this tool evolved ~ the messy, iterative, weeks-long version. Not the “I built it in a weekend” fantasy.
01It Started as a Blog Feature
The original idea was simple: every time I published a blog post, I wanted a way to automatically generate Instagram carousels from the content. Repurpose the writing. Don't let a 2,000-word essay die on the blog ~ turn it into swipeable slides.
So I built a component that takes a pool of slides ~ cover, quote, stat, insight ~ and randomly picks a set to display at the bottom of each post. Hit “Regenerate” and you get a different combination. It worked great.
But then I kept thinking... what if I could edit the slides? What if I could add my own text, swap images, rearrange the order?
That “what if” turned into weeks of building.
02Then It Grew Into Something Bigger
It didn't happen overnight. I'd add a feature, break something else. Fix that, then realise the layout was wrong. Redesign the layout, then the export would stop working. Months of this.
The generator (the blog version) was working fine ~ it could pull random slides from a pool and display them. But turning that into a full editor meant building an entirely different interface: a slide list panel, a live preview, an edit form, drag-and-drop reordering, image uploads, format switching.
How it evolved
- ~v1 ~ Auto-generated carousels at the bottom of blog posts
- ~v2 ~ Added a regenerate button for random slide combos
- ~v3 ~ Built editable fields so slides could be customised
- ~v4 ~ Full standalone editor with drag-and-drop and templates
- ~v5 ~ Image overlays, mask shapes, format switching, ZIP export
Each version took weeks, not hours. Start small, iterate endlessly, and don't pretend the messy middle didn't happen.
03How AI Actually Helped (And Where It Didn't)
Let me be real: AI didn't build this alone. I'm a software engineer, and that mattered. A lot.
AI is incredible at generating boilerplate, scaffolding components, and turning vague descriptions into working code fast. But it also has a talent for overcomplicating the simplest things. I'd ask for a basic layout change and it would rewrite the entire component. I'd ask it to fix a bug and it would introduce three new ones.
Having engineering skills meant I could catch those moments, debug them, and steer things back on track. Without that? I'd probably still be stuck on version 2.
“I want a carousel slide that has a big number in the center, like '500%', with a small label underneath. The background should be creamy. The font should be bold and uppercase.”
And it built it. Just like that.
Then I said: “Make the number bigger. Add some spacing. Oh, and can you put a subtle grid pattern behind it?”
And it did that too.
AI is a speed multiplier, not a replacement. It handles the grunt work so you can focus on the decisions that matter. But someone still needs to make those decisions ~ and fix the mess when AI goes sideways.
The conversation pattern
04The Design System
Here's where most people stop. They build something functional but ugly. I wanted mine to look intentional.
So I told the AI about my brand: warm cream backgrounds, coral accents, a mix of bold uppercase headlines and soft serif italics. Basically, I described the vibes of my website and said “make the slides match.”
Background
#f9f5f2
Primary
#e3a99c
Foreground
#3a3a3a
Accent
#bbcccd
I applied these colors across all 9 slide types. Added a subtle grid background, my watermark in the corner, and consistent padding. Every slide looked like it belonged to the same family.
Think of it like giving your friend a mood board and saying 'make everything feel like this.' That's literally what I did.

The carousel system ~ from my brand guidelines page
Every slide type, spec, and example ~ documented so anyone on my team can create on-brand carousels without guessing.
05The Features That Took Shape
Once the basics worked, I started adding features. Again ~ by just describing what I wanted:
- Drag-and-drop reordering
"Let me drag slides around to change the order." Done.
- Image uploads with masks
"I want to add photos to any slide and crop them in circles, arches, or blobs." Done.
- Terminal slides
"Make a slide that looks like a code terminal ~ black background, green text, blinking cursor." Done.
- Pre-built templates
"Give me 5 starter templates ~ Product Launch, Quote Series, Behind the Scenes, Tips & Tricks, Books I Read." Done.
- Format switching
"Let me toggle between square (1:1) and portrait (4:5) Instagram formats." Done.
Each feature took about 5~10 minutes of conversation. Describe it, review it, tweak it, move on.
06The Export Button (Where Magic Happens)
This was the part I was most nervous about. How do you turn something on a screen into an actual image file you can post on Instagram?
I said to the AI: “When I click Export, I want it to take each slide, turn it into a high-quality PNG, then bundle them all into a ZIP file I can download.”
Under the hood, it uses something called html-to-image (basically takes a screenshot of each slide at full resolution) and JSZip (puts all the screenshots into a zip file). But you don't need to know that. The AI handles the technical stuff.
I just said “make it downloadable” and it figured out the how.
07The Honest Truth About Building with AI
Months of building this taught me more about working with AI than any tutorial. Here's what I wish someone told me:
It's not a weekend project ~ it's weeks of iteration
Anyone selling you the "I built this in 2 hours with AI" story is leaving out the debugging, the redesigns, and the 3am fixes. This took 2-4 weeks of going back and forth, overthinking, and manual intervention.
AI makes mistakes ~ sometimes spectacularly simple ones
AI will rewrite your entire component when you asked it to change one line. It'll overcomplicate a simple CSS fix. It'll confidently break something that was already working. Having engineering skills to catch these moments is not optional ~ it's essential.
Having an engineer by your side changes everything
I'm lucky ~ I am the engineer. I can read the code, debug the issues, and know when the AI is going down the wrong path. If you're not technical, having someone who is will save you weeks of frustration. AI is the co-pilot, not the pilot.
Use AI to speed up, not to replace thinking
AI is incredible at scaffolding, boilerplate, and turning ideas into first drafts. But the creative decisions, the architecture, and the quality control? That's still you. Use AI as a tool, not a crutch.
08Try It Yourself
The whole editor is live on my site right now. Free. No login. No catch.
Pick a template or start from scratch. Add your own text, images, and quotes. Drag slides around. Export the whole thing as a ZIP and post it on Instagram.
Free tool
IG Carousel editor
9 slide types. Drag-and-drop. Export as PNG or ZIP. On-brand, every time.
And if you want something like this built for your brand ~ a custom tool, a dashboard, an internal system ~ I build these for clients too.
Custom builds
Want me to build yours?
Custom tools, dashboards, and systems ~ built with AI speed and engineering precision.
“The best tool is the one you build yourself.”
Share this post




