How I built the CR2 Creative blog with AI and AWS V2

How I built the CR2 Creative blog with AI and AWS V2

​​As an editor, colorist, and post solutions professional, I don’t just work on productions — I design the tech that makes them run smoother. When I was building out CR2 Creative, I knew I wanted a space to teach, share how I build things, and post product updates. That’s why the blog lives at cr2creative.com, right alongside everything else. 

"I don’t care about your dog's Instagram!" 
Screenshot 2025-08-10 at 4.19.22 PM.png
WordPress is an easy route, but my site already runs serverless on AWS, which is fast, lean, and cost-friendly. I didn’t want a second system full of plugins and maintenance. I wanted the blog to live inside my stack and feel like the rest of the site, so I opened Cursor and built it with AI. 

My daily loop looked like this: Claude for steady, methodical steps. Gemini, when the others stalled. Sometimes, ChatGPT to spice it up, though I definitely went down some rabbit holes with that one. 
The models all have their own personalities, and you start to learn how to work with each one, what kind of prompt it likes, how much context it needs, and how to nudge it in the right direction. Switch to a different model, though, and sometimes it’s like getting that @here Slack post from that weird guy in accounting. I don’t care about your dog's Instagram!
The funny part was that the tasks I expected to be hard, like a real licensing workflow that the app can validate, often came together fast. But tiny, simple things, like making one select button blue, could take an hour of back and forth. Figuring out that I can take screenshots and feed them back into the models helped. Drawing an arrow at the exact UI element helped more. And when one model stalled, handing the same problem to another often solved it in seconds.


"It felt like that early scene in The Matrix when the terminal says, ‘Wake up, Neo.'"

There was one moment I still think about. I told ChatGPT to fix a stubborn hover bug and not to ping me until it was done. I said I was taking the dog for a walk, I was not. I sat there watching like it was a spy thriller. I watched in awe as it spun up an MCP server I never installed, launched a web browser, reproduced the issue, patched the code, and retested until the button behaved. I didn’t ask it to take control like that, and I’ve never been able to make it do it again. Sometimes it refuses, sometimes it says “of course” and then does nothing. But that one time, it felt like that early scene in The Matrix when the terminal says, “Wake up, Neo.” It was a glimpse of how these tools can work alongside you, and a reminder of how fast they could get out of control if you’re not careful. 

Could I have shipped a simple static page and called it a day? Sure. That’s not how I work. As I see it, there are two camps. One is the Steve Jobs way. There’s a famous story from when Jobs was a kid: his dad had him help paint a fence. Jobs noticed him painting the back, the side nobody would ever see as it was up against a wall, and asked why. His dad’s answer: “Because I know it’s there,” and that's why the inside of the iPhone is as beautiful as the outside.The other camp is more in line with Ingvar Kamprad, founder of IKEA. His philosophy: save the customer money by leaving unseen parts unfinished, the backs of shelves, the bottoms of tables. If it doesn’t show, don’t spend the time or money on it.

I tend to live in that first camp. Even if no one else sees it, I know it’s there. That’s why my blog has a proper author management system instead of a quick hack. New tables. Clean S3 paths. IAM permissions done right.

Screenshot 2025-08-10 at 12.44.13 PM.png

Now, if I change an author photo, it updates across every post. I started with a quick hack for authors: one text field with name, bio, and photo link separated by pipes. It worked in an hour, and it annoyed me immediately. I knew I would hate it later, so I scrapped it and built a proper author system. New tables. Clean S3 paths so every post has its own home. IAM permissions set the right way so the front end talks to Lambda and the database without duct tape. Now, if I change an author photo, it updates across every post. It’s the paint-the-back-of-the-fence approach. If I know it should be right, I fix it. 

Screenshot 2025-08-10 at 12.43.29 PM.png

No Manual Prep, No Wasted Minutes

I’m the same way about images. I didn’t want to waste time rescaling or optimizing them in Photoshop every time I posted. So I built a drag-and-drop uploader that lets me crop, scale, and optimize inside the blog’s editor. Drop in a giant camera photo or a screenshot, and it’s web-friendly in seconds. No manual prep, no wasted minutes.

And that’s really the same reason I built ForwardFlow. Sure, you can set up a project folder structure by hand; it’s not hard, and it doesn’t take hours. But why repeat the same steps over and over when you can invest that time once and automate it forever? Just like the uploader saves me from manually prepping every image, ForwardFlow lets you build complex, organized project templates in seconds.

It might sound overkill, but this is exactly why I love building my own tools. I get to eliminate the small, annoying frictions and make the workflow something I actually enjoy using. 

Seeing it come together The first time the blog homepage clicked into place, it felt like a magazine. Big feature story up top. Supporting posts underneath at different sizes. Pagination that kicks in exactly when it should. That was the moment it felt real.

Screenshot 2025-08-09 at 12.59.21 PM.png

Why the blog exists is simple: teach what I know, share updates on ForwardFlow, and post tips that save editors and producers real time. Invite other voices when it makes sense. Today it’s me. Tomorrow it can be more. Right now, there’s a three-part series on 5.1 mixing in Adobe Premiere Pro. These started as YouTube videos. On the blog they include bullet point takeaways and quick reference notes so you can jump to what you need.

Take a look and tell me what would help you next. Visit the CR2 Creative blog

Author avatar

About Craig Russo

Craig Russo is the founder and CEO of CR2 Creative, a post-production solutions company built by and for working creatives. With a career rooted in the high-stakes world of film and television, Craig has led teams and projects for some of the biggest names in entertainment. At CR2 Creative, he’s focused on solving real-world workflow challenges through thoughtful, intuitive tools.