Your Product Deserves Polish. AI Removed Your Best Excuse
Originally published on May 1st, 2025
I want to start this write up with a story about the Indian Railways. After the British left in the mid-20th century, they left behind an extensive (but awkward) railway infrastructure. Not just the tracks, but also the rolling stock itself. The colonial era left a multi-tiered class system for carriages (a local Indian couldn’t just walk into First Class, even with money), and post-independence, the concept of luxury took on an interesting meaning.
For Indian Railways, the priority was egalitarian growth benefiting the “common man.” It was deemed more functional to build more ICF carriages equipped with fans and open windows, rather than fewer coaches with higher amenities like air conditioning or proper restroom plumbing. I appreciate and understand the reasoning behind this, and eventually, some coaches did get air conditioning. A lot had to do with what the new soul of the country needed to care about. The saying went that India was a developing country, and AC (or even higher speed rail services as an offering) was considered a luxury.
Let’s keep this “concept of luxury” in mind as we talk about the main topic today - Diffusion Models. I promise we’ll tie it together in the end!
So turns out diffusion models aren’t just for pictures anymore?
For those not really in the middle of all of this on a frequent basis, you’ve likely come across Stable Diffusion. It was created by a company called Stabilty AI, which has a platform you can go use today to commercially do a ton of media-related workflows.
It uses a technique that starts with a vague idea and refines it over several iterations (or “steps”), getting closer to the desired image. Often, it’ll start heading in one direction and end up producing something completely different by the end.
Below is an example I made of how this technique could end up with an image for a WPA-style advertisement of Havana, Cuba over 60 steps. Step 2 is quite different compared to the final output on Step 60.
Since then there have been a ton of competing services and model frameworks that have come out to work on this space. As you see above, I personally use Flux Schnell locally on my computer for a lot of image generation workflows for the restaurant’s email marketing campaigns that we’ve talked about before. I probably could use one of those commercial services, but honestly, I don’t want to pay for one more subscription and these open-source models are pretty damn good these days! If I had a real need as a brand or marketing person for my day job, I’d likely force my employer to shell out a few dollars to make my life easier for sure.
But that’s for image generation and as I said at the top of this post, looks like there are other use cases popping up. So without further suspense, looks like a team of researchers in Hong Kong have come out with their own diffusion-enabled text generation model! It’s a new take on how we use LLMs today.
They call it Dream (Short for Diffusion Reasoning Model)...and of course they did. God bless these nerdy researchers by sometimes having AWESOME names for the stuff they make.
Dream is able to do the same thing as Stable Diffusion for images, but with text generation instead. This isn’t how our brains typically work, so the easiest analogy I have is imagining you have the idea for a book (or maybe even a newsletter 😉). Instead of writing linearly, you might write the first sentence and the last sentence simultaneously, then fill the space between with placeholder text - like Lorem Ipsum. After that, you start to fill in the first sentence of the fifth paragraph and the 3rd word of the second paragraph at the same time. And you keep this going on and on until you’re happy with the final product, or you get tired of writing this way.
The one from their paper shows is pretty good too!
This is nuts! But why would someone even go off and research something like this? If the current LLMs aren’t really broken (at least in the way they generate text), then why fix it?
Well, it turns out you get to tweak a lot of things upfront before kicking off a job, with the most important being performance and quality. Just like how you can configure how many steps a diffusion model takes to get you that image you’re looking for, you can give the text model the same configuration to get the body of text you’re looking for.
I would love to play around with this Dream model locally, but even though it’s a 7B parameter model, the GPU requirements are quite high, and I don’t have that in my little home office. Luckily, my old colleague at AtlasAI, Stefano Ermon, just created a new startup called Inception (not to be confused by Inflection, of course, the startup that got acquired by Microsoft). I’ve been trying out their own diffusion text generation model, and it works similarly.
These technologies are evolving pretty fast. I even asked Inception’s tool to make an animation of a helium element with its two electrons orbiting the nucleus. It just did it, and it even took the liberty of running the JS file in the browser window and showed me the output!
So far, I want to reiterate that this won’t eliminate developers. Instead, it will certainly supercharge their ability to get complex things done much faster – especially those tasks that might otherwise feel trivial or low-priority.
More practically, let’s get back to the “concept of luxury” from the top of this newsletter. In tech, we talk about this in terms of “nice-to-haves” and “ruthless prioritization” instead of “it’s a luxury we can’t afford.”
Imagine if I asked a developer to make me that helium element animation as a custom loading animation for a web app while we were also trying to get a super important feature out the door. That dev would have killed me in the past for even suggesting that as a request, but now...even I, a simple village idiot, could get us 90% of the way there with no distraction for the engineering team. Efforts like this can make the fit and finish of any product much easier to accomplish.
People value that fit and finish of products they interact with. It’s why many developers prefer Macbook Pros over clunky Alienware laptops. But there are simpler examples too. I’ve come across so many employees at healthcare facilities, UPS stores, restaurant warehouses, and many more that all use really clunky software tools. Tools that certainly aren’t given the love of fit and finish because it’s deemed unnecessary — they’re a luxury a software vendor didn’t need to care about.
When the development time for something like a custom loading animation is anywhere near the time needed for a core functional improvement, that “luxury” is always the first thing tossed out in favor of utility. I think we’re arriving at a point where for a decent chunk of software design needs (and soon enough after that, industrial design and infrastructure design), we won’t have to make a false choice. Even internal tools could look almost as good as production-grade tools. Maybe we won’t fall into the trap of asking if something is “truly necessary” just because its improvement is non-material.
Thankfully, that parallel is also relevant to the Indian Railways today. There was a hot debate recently about the Indian Government prioritizing the first high-speed rail corridor in western India vs using that money to deploy a train safety system called Kavach across all Indian trains. It’s the modern version of the Air Conditioning debate from 50 years ago. (Note: there are 13,198 trains that run in India daily across 7,300 stations carrying 6.9 billion passengers. Yeah...its a lot haha)
I don’t want to get into a financing debate (even though 81% of the money for the high speed rail project is financed by a 50 year Japanese Infrastructure loan at .1% interest), but rather a values debate. In our day-to-day, we need to try to stay away from these false choice and zero-sum traps. Rail service, just like any B2C business, relies on a good hard product (infrastructure, equipment, reliability, etc) and a good soft-product (amenities, comfort, service, etc). In a country like India, you need people to want to take rail as an option.
More importantly, for us, all products deserve to be built with the fit and finish we want to see to enjoy using it. Now that these different types of models and services exist, product managers should deeply care about finding ways to make a wonderful experience today, not some quarter in the future. They should do this by taking on a deeper partnership with their engineering teams.