Here in Bangalore, you can usually book directly from the Google Maps listing. Or sometimes click a link that will open in Swiggy/Zomato, and you just book from there.
At least in this city, reserving a table using the apps you already have on your phone is faster than using an LLM. Maybe these products are for people who know about the existence of Claude and ChatGPT but not Google Maps?
I quite like Tailwind. I've had great experiences with it, especially on projects where the skill level of contributors was highly variable.
That said, Tailwind is not as powerful as plain old CSS. It's a bit like training wheels for CSS—you gain some guardrails and prevent newbies from messing things up too badly, but you also give up the power modern CSS affords you.
E.g. I invite you to look at some of Ahmed Shadeed's (https://ishadeed.com) layout tutorials, or whatever you find on the CSS-Tricks/Masters.dev homepage today. It's bonkers what you can do with modern CSS!
Tailwind gives you access some of what's possible with CSS today, and they keep adding support for new features, but it's impossible to express everything CSS is capable of using only utility classes. At some point, you need to write some actual real CSS code.
So personally, it's a tradeoff for me. If I really want the full power of CSS, I use plain old CSS. If I'm willing to trade power for the convenience of Tailwind's built-in design tokens and guardrails, then I pick Tailwind.
Both approaches are good and valid. The right choice is context dependent. With And with LLMs in the mix, it's not that hard to port a Tailwind codebase to plain CSS, or vice versa, so picking the wrong thing doesn't have as high a cost as it used to.
In many cases, yes. A software pipeline can only achieve as much throughput as its slowest stage, and much of the software we write can be modeled as a sequence of processing stages.
In an ideal world, I would do exactly what you do. I don't WANT to block ads everywhere. I would love to support my favorite websites, and if watching a couple of ads is what it takes for them to stay online, then I don't really mind.
Problem is, the ads I see when I disable my ad-blocker are uniformly terrible. Maybe this is because I'm in India, but I've never once seen an ad that wasn't outright disgusting, let alone useful.
I regularly see ads for: escort services, shady hair loss prevention pills, shady weight loss pills, astrology, TV shows and movies in languages I don't understand, gacha games, gambling apps, educational programs I can't sign up for, apps that are clearly malware. Once Instagram inexplicably showed me ads for expensive lab equipment only available in Germany for a whole week.
I would like to see ads for: local businesses around me, concerts and gigs in my city, new restaurants around me, indie fashion brands, TV shows and movies in languages I can understand. Basically, ads based on my interests and recent search terms.
The ad networks insist on delivering the worst kinds of ads to me, sometimes accompanied by imagery I would prefer not to see (e.g hair loss and dermatology ads). The websites I frequent and want to support don't get to choose what ads I'll see. All they can do is insert the ad-network's JavaScript into their pages and hope for the best.
Unless the networks can guarantee that I won't see something illegal, harmful, or plain disgusting when I enable their ads, I'll keep my ad-blocker on. I'm not going hurt myself for somebody else's business model.
While I think I agree with you in principle, it's worth pointing out that at least some of these targeted/relevant ads you want come with privacy concerns which, at least in my opinion, are just as important if not more so than the content/experience of the ads themselves.
Either way though, GP putting the responsibility on the viewer, at this point - given what we know about how the ad companies operate and use our data - is just absurd. We're not the ones who burned up any good will in this particular social contract.
In theory site owners could be more selective about the ad networks they partner with. They bear a responsibility for a poor user experience, but many don’t care.
I remember hearing about a lawsuit several years ago from several news organizations against an ad blocking company in which they described themselves as “ad companies that serve content” as opposed to “content companies that serve ads”.
To be fair to the news organizations, ads are very probably their primary source of revenue.
The "get a bunch of people looking at something interesting and then show them ads" business model has under-pinned newspapers, television, and now websites like Facebook, Reddit and Instagram.
The content was always kind of a side show, an excuse to serve you ads.
An example of an actual content company would be something like a movie studio, where the product is the actual movie, or a publishing house, where the product is an actual book.
Newspapers, television channels and YouTube, however, are making their money selling your attention to advertisers. So I think calling them "ad companies that serve content" is actually correct.
I use Ableton, Figma, and Emacs regularly. I have a decade (or more) of muscle memory around these apps. If they suddenly decided to adopt the look, feel, and conventions of their underlying host platform, I’d be very upset.
If I’m using Emacs, I don’t want to use Cmd+S to save my files on macOS and Ctrl+S on Windows. I’ve already memorized C-x C-s. I don’t want Ableton to adopt whatever new design language Apple or Microsoft is chasing this week. I want to open the app and find the UI controls looking and behaving exactly the same as they’ve looked and behaved since I started using it in 2014. I want to write code, make music, do design. I don’t want to be frustrated because the button for enabling the metronome is 15px to the left on Windows vs. macOS.
Apps that look and feel native only make sense in two cases:
1. The app is tied to the platform. E.g. Logic Pro. It can integrate deeply into macOS and use the native widget set because it will never run on any other platform. Same for Bear, Things, Pixelmator, Omni Group apps, etc.
2. The app is a replaceable, throw-away utility. I call these “fungible apps”. For example, it doesn’t really matter which Mastodon or Bluesky client you use. There are hundreds of them, and they’re not complex enough that the loss of familiarity or muscle memory matters very much. You can use one client on Windows, a different one on macOS, and a third one on Linux, and it’ll be fine. They can all be native to their platforms, or not. The interaction model is simple enough that you can afford to have a different one on every platform.
For apps that really matter—the apps I use to put food on the table—I absolutely want them to look and feel exactly the same on every platform. The app is the OS, the actual OS is just a hardware abstraction layer.
Can Flutter be used to build apps like Figma or Ableton or Emacs? I actually don’t think so. It’s a poor toolkit for building anything that must last for more than 3-5 years. If you care about longevity, there are basically only three options in 2026: Qt, Electron, or roll your own like Zed/Sublime.
(Adding this as a comment because I'm over my edit window.)
I want to add a third category to the categories that make sense as native apps: apps that are built by the platform vendor (and potentially shipped with the platform).
GNOME apps are built with GTK+, KDE apps are built with Qt, and macOS apps are built with SwiftUI/AppKit. This is how it should be. Microsoft is the only outlier here, shipping apps built with everything from Win32 to React Native to Electron to their own WebView2.
Regarding Microsoft - that's a sad story indeed. The only reason they don't use Win32/GDI+ etc is because it's harder and you ideally want to do that in C++ to get the true powers available to you.
I've recently had to do some win32 stuff in a Flutter app and it's amazing what you can do, but it's pretty hard, even with an AI to help you.
So the "lazy" devs go to work using React Native and Electron rather for apps inside of Windows shipped by Microsoft. Crazy, but it's to meet deadlines.
For end user apps, I want them to look according to the OS, at least on Apple devices. That's what picky customers. For stuff where design does not matter much, such as enterprise apps that "put food on the table", as you say, I use Flutter and still get a very decent result.
But with sufficient time and effort, proper native iOS/macOS wins every time.
I love browsing https://www.themarginalian.org whenever I have a few hours to kill. It's a bit like TVTropes, but much more "literary" for lack of a better word.
The author has spent decades building a digital commonplace book of everything she's ever read, and hyperlinked everything together in a way that you can get lost in her notes for hours on end and never surface. It's one of my favorite websites on the internet, and the best example of the power of marginalia and hypertext.
At least in this city, reserving a table using the apps you already have on your phone is faster than using an LLM. Maybe these products are for people who know about the existence of Claude and ChatGPT but not Google Maps?