AI Is Not a Rubber Duck

What a difference a year makes. When I wrote AI Is The New Rubber Duck (Force Multiplier) last April, AI really was a rubber duck. At least for the low-grade AI I had access to on a minimal budget with no corporate or venture capital sponsorship. It was helpful, but it couldn’t write complete applications or even application components without a lot of hand holding.

AI for software development is now a snowball. It gains momentum and mass and has officially upended all sense of traditional engineering.

You still need to understand your intent, your data, your test coverage, your security posture, your infrastructure, your deployments and pretty much everything about software development except the actual coding.

In only a few days in January I was able to (almost) completely “vibe code” this beauty for $0 dollars down:

From my engineering eyes, the layout looks fantastic and the test coverage is fragile but still pretty good. Of course, did give AI my existing platform Find Me In Chicago as a starting point.

I also put new restrictions to only use free tooling in an effort to move away from a platform dependency on Google Maps. Specifically, Chicago Traffic Crashes uses OpenStreetMap via Leaflet, and the US Census Geocoder via an ancient protocol called JSONP.

The video opener and use of JSONP definitely took some coaxing as did pretty much everything. The final source code is roughly 90% AI and only 10% all the tweaks I had to make to make it work correctly.

But it was only a few days of work! Show me a rubber duck that can do that!

The coolest feature in Chicago Traffic Crashes is the Natural Language to Socrata Query Language translator for “AI Search”. It took a few pages of system prompts to make it work (more or less) reliably.

Deep familiarity with the data schema was also helpful, but even a year ago that would have been a dream feature without access to more resources than I could realistically pay for a public service project.