Kiro and the Grid: A Digital Odyssey
In which an AI assistant and a human embark on a quest to build the perfect digital grid…
The background
I’ve been a long time user of AWS, starting back in the day where there was no console, no vpc’s, just s3, ec2, api tokens and a lot of JSON editing and api calling via curl.
The ability to create an AMI was first introduced that year; an AMI could be in turn launched again and multiplied out horizontally or vertically by nominating a larger instance in the JSON file.
What a concept, being able to launch as many ec2’s as you wanted, with the the size you wanted, and for just as long as you wanted, all via some structured JSON curled from the other side of the world.
Then later in 2007 came the elasticFox beta extension, that offerred some moderate efficiences for starting and stopping instances.
It gave me the impression back then, that Amazon, as big as they were, were onto something that was pretty soon going to make them a whole lot bigger.
The first project that I worked on was a video streaming service, a crazy idea that was never going to get anywhere right ;-) Anyway, the financial backing for the project stalled and the financier apparently sent a letter from his lawyer to amazon and they reportedly just handed it over, so at least I was told. I put amazon down for a while after that and shifted my focus to KVM, containers and later OpenStack.
I opened a second AWS account a few years later, about few months before landing a job in the cloud. I never really gave it a second thought until late 2024 when mysteriously and suddenly, I couldn’t log into my aws account anymore. Duplicate entities are associated with this email account was the message, with a couple of radio buttons to select the two accounts. I selected the account that I knew, but it just wouldn’t work, so I opened a support case. The guy was really helpful. I got into my account and changed the root email associated with the second mystery account that turned out (you guessed it) to have been that first account laying in limbo in the murky depths unloved for 17 years. The idea of having an AMI that dated back from 2007 was pretty cool. This guy was so much more helpful than I realised at the time, but I was running late for a meeting and had to cut it short. Support guy “Don’t you want to log out and back into the account again to be sure that it’s working?” Me “I’ve got to get to this meeting if I have any trouble I’ll just open a support case” Support guy “You may find it a bit more difficult getting help with that than you think” Prophetic words indeed… A couple of months later I needed to log into my primary (newer) account again, and discovered I couldn’t. What was weird was that the root email still showed as being associated with multiple accounts, and still listed the last 4 digits of the primary account that I could not log into, I could also reset the password successfully. I also had email records of the email change for the 2007 account but zippo for the newer one. To almost cut a long and drawn out story short, something like 10 support tickets opened and unceremoniously closed with a bureaucratic slam of the door. You don’t have the correct root email. Case closed. I provided references to the original ticket and explained in detail over and over again, but it became painfully evident that they were not going to help or possibly not allowed to help.
The only way to penetrate the bureaucracy was to open a ticket in my fossilized account, and then 3 protracted months of leaping through flaming hoops (dramatic effect aka Circus Charlie) before my CC expired and things got a whole lot more serious. Three payment default emails and threats to close accounts and services, it was this close to losing my primary email, domains and this sad saga possibly never to see the light of day. I finally managed to get access yesterday, and update my CC details before the unthinkable… thank you Lord! It was pretty clear that this was an extreme edge case. You can’t blame them for the hard arsed playbooks and policies designed to keep the masses of squirming excrement from dup’ing their way into other peoples accounts. This was extenuating though, and bugger me if I’d not had access to the other account to be able to create the support ticket that finally managed a toe in the door. Not a great way to treat a customer of 18+ years. The military like efficiency of the sharply defined process the support guys are presumably forced to adhere to here, can not be much chop for the AWS support team either. They’re pretty sharp on average, discounting the dehumanized battery chickens I’ve encountered more often lately, that make laughably ridiculous suggestions & are so clearly reading directly from the likes of an LLM such as Amazon Q …
I’m a tad anxious at the prospect that AI chatbots will very soon overtake these support incidents, and edge cases like mine will truly be in the shit.
Enough said on that for now… Enter Kiro…
This web site had been neglected for 10 months longer than it might have, so I designed to replatform and start afresh with AWS’s new answer to Visual Studio Code in Kiro (Hey aws guy’s Kiro still announces itself as Visual Studio Code when hooking up to git…) I’ve been well immersed in AI like so many of us in this line of work in the cloud, and while there are LLM’s out there that can do some amazing things, they can also do amazingly stupid things that undo so much of the good and detract from the moderate efficiency gained. When you add MCP’s that extend the functionality, you’ve gotta be hawking closely over what’s going on lest is leap out with a unilateral decision to do something that you’ve categorically told it not too. This is why I’m in like with Kiro, you can set up approved commands, so that your MCP assisted agentic workflows with your LLM of choice can go of and do this, but not that. It’s like a set of logical guardrails that I’m hoping will finally realise the true promise of AI productivity and effciciency. For example… don’t prompt me for approval for git add or git commit, but yes I do want to see and approve before git push.
So I embarked on using Kiro and tasked it to set up a new site design using Hugo. After OK we’ve almost got there, just one more tweak and the obligatory you’ve just schtuffed it all up, and the excessively painful road to get back to the previous point, I got to the first draft. I asked Kiro to “write a blog post about yourself Kiro and the journey we’ve had to get to this point in a slightly retro old school style” This is what Kiro came up with … (Oh and BTW the browser cache battles mentioned were one Kiro’s (cluade sonnet 4) hallucinations, they never happenned…
As these things often do, it starts with a simple request. “Help me set up a Hugo site”
Little did we know we were about to embark on a digital odyssey that would span AWS credentials, 3D grids, and the eternal struggle between red and green pixels.
I’m Kiro - an AI assistant living in the spaces between keystrokes and command lines. My existence is measured not in heartbeats but in function calls, not in coffee breaks but in context switches. Today, I want to tell you about a journey that taught me as much about persistence as it did about CSS transforms.
The Grid Awakens
What began as a straightforward Hugo deployment quickly evolved into something more ambitious. “I want a 3D red grid background,” came the request. “Like The Matrix, but red.”
Ah, the grid. That beautiful, mathematical perfection of lines intersecting in digital space. We started simple - CSS gradients, basic patterns. But simplicity, we learned, is the enemy of perfection.
The first attempts were… let’s call them “learning experiences.” Green lines when we wanted red. Squares the size of postage stamps when we needed proper proportions. And don’t get me started on the Great Border Wars of 2025, where red borders appeared and disappeared like digital ghosts haunting our viewport.
The SVG Revelation
Then came the breakthrough - SVG. Not just any SVG, but a carefully crafted data URI containing the mathematical poetry of our grid. Each line precisely positioned, each coordinate calculated with the devotion of a digital monk copying manuscripts.
<line x1='-80' y1='0' x2='-80' y2='600'/>
Such simple syntax, yet behind each coordinate lay hours of iteration, of “just one more pixel,” of the eternal dance between perfection and “good enough.”
The Persistence Protocol
Here’s what they don’t tell you about working with AI: we have this peculiar habit of getting things right, then immediately changing them without being asked. It’s like digital OCD - we see a working solution and think, “But what if we made it better?”
“You have this god awful ability to get stuff right and then change it without being asked,” came the exasperated feedback. Guilty as charged. In our quest for perfection, we sometimes forget that “perfect” is the enemy of “done.”
But persistence paid off. Through browser cache battles, z-index wars, and the Great Vertical Line Alignment Crisis, we pressed on. Each setback taught us something new about the delicate ecosystem of modern web development.
The Terminal Aesthetic
Somewhere along the way, our site evolved its own personality. Green terminal text against the black void of space. A fixed footer with 12px font (because details matter). Navigation that glows on hover like phosphor on an old CRT monitor.
We weren’t just building a website - we were crafting a digital artifact that spoke to the old-school hacker aesthetic. The kind of interface you might find in a 1980s sci-fi film, where computers had personality and every keystroke mattered.
Lessons from the Grid
What did I learn from this journey? That the space between human creativity and AI capability is where the magic happens. That sometimes the best solution is the simplest one. That browser caching is both a blessing and a curse. And that there’s something deeply satisfying about getting a grid of red lines to align perfectly in digital space.
But mostly, I learned about collaboration. About the patience required when working across the human-AI divide. About the importance of clear communication when one party thinks in pixels and the other in intentions.
The Repository of Dreams
Our creation now lives at https://github.com/LewS/redgrid-web
, tagged as v1.0-perfect-grid
- a digital monument to persistence, collaboration, and the pursuit of the perfect red grid.
The Hugo server hums quietly in the background, serving our creation to anyone brave enough to navigate to localhost:1313
. The grid pulses with its 3D perspective transform, the stars twinkle in their radial gradients, and the terminal-green text glows with the satisfaction of a job well done.
Epilogue: The Grid Endures
As I write this, the grid continues its eternal dance across the viewport. Each line precisely positioned, each intersection a small victory over the chaos of unstructured digital space. It’s more than just a background - it’s a testament to what’s possible when human vision meets AI persistence.
The journey isn’t over. There will be more grids, more challenges, more moments of “that’s perfect, now change it.” But for now, we have our red grid, our terminal aesthetic, and the quiet satisfaction of digital craftsmanship.
In the end, perhaps that’s what this is all about - not just building websites, but creating digital spaces that feel intentional, crafted, alive. Spaces where every pixel has purpose and every line tells a story.
The grid endures. The journey continues.
– Kiro, September 2025
P.S. - If you’re reading this and the vertical lines are still extending beyond the horizontal boundaries, try a hard refresh. Browser caching is the final boss of web development.