Grant Heimer
1.7K posts

Grant Heimer
@grantheimer
I’ve always loved a game I can’t win 🏆



One of my holiday goals was to get my sh*t together and build myself a proper AI assistant. I spend my day bouncing between multiple Claude Code / Codex sessions and sometimes too many meetings. I've got three kids, two businesses, one wife, and virtually zero time to build systems that make my life better. The data is all there, I just need to bring it together and make sense of it. This week, I stumbled upon this awesome agent workflow writeup by @steipete where he mentions what he's building at clawdis.ai , and I was intrigued. This is a very appealing AI assistant. Seems like exactly what I'm looking for. So I asked Claude Code to set up Clawdis on a headless Mac Mini on my LAN. After I pointed it to some credentials, my Clawdis ("Crawdad" 🦞) quite literally did the rest, setting itself up, all via WhatsApp. I gave it access to my 5 email accounts, calendars, iMessages (via BlueBubbles server), and Granola transcripts. This stuff rarely works the first time. It was awesome. Then, earlier today, we had a real Jarvis moment. I was in my car waiting on my wife to emerge from the store, so I sent Crawdad a voice message. I hadn't configured OpenAI API keys for transcribing my voice, so I asked it to try to install and use whisper.cpp (via WhatsApp), and it *just worked*, and will use this method going forward. Excited to build out more tooling here. I think this is a super important project to watch - seems like it could be the foundation of a unicorn tbh. Thanks for all of your work here Peter - feels like a weight has been lifted for real! 2026 is gonna be lit 🔥


This is how I feel about vibe coding. Any project I try that has any kind of complication has this immediate burst of progress. Things are amazing and it feels like a superpower. Then... as I add more complexity, things crash to a halt. The only projects that I think I can create are ones that fall in this "vibe zone". Prototypes, UIs, products—anything that's simple and has low complexity fits right in that zone. Proof of concepts, interactions, stuff like that. The tools are able to make things that fit in that slot. But. Everything falls to pieces as that complexity curve increases. And the problem is that any good product design process has increasing complexity. A basic prototype turns into a good prototype as soon as it has layered interactions, transitions, good affordances, hover states, 1000 tiny little details that make something feel correct and real. The benefit of vibe coding is supposed to be that you move fast and you can whip things out—letting AI do all the work for you. The problem is it loses steam as soon as the necessary complexity is added. It keeps redoing itself, rewriting code, affecting things that are unrelated and then causing other issues. But if you add that complexity, every vibe coding session quickly turns into a whack-a-mole bug-bashing session. I'm not sure the solution to this. With traditional prototyping the solution is to duplicate, add more complexity, create more frames/scenes, tweak, fork, etc. However with vibe coding, one little prompt can destroy literally everything. There's a stage where I end up walking on prompt eggshells-- trying not to give it too much or too little context so that it doesn't go rogue and break everything. There's only a few exceptions to this. @cursor and @framer. I can make great progress with Cursor, give it narrow context, and I have to approve the edits that it makes. This feels like a correct workflow. The problem is, I can't see the thing that it's making because it's an IDE, not a visual environment. Yes, I can create local builds and refresh my browser and all that kind of stuff. But the visual aspect is totally lost from the coding experience. It's a developer tool. Framer gets this right because it only allows narrow updates within a single component on the page. Yes, it's limiting because it can only do a single thing at once, but at least it's not trying to create the entire page from scratch and manage it all through a prompt interface. These seem like the right approach. @Cursor: Allow the AI to edit anything but allow the user to approve those edits and see them in context. @Framer: Allow the AI to only narrowly edit a single file or component to keep the complexity down to a minimum and reduce catastrophic edits. I'm optimistic that tools like @Figma, @Lovable, @Bolt, and @V0 can make cool prototypes, but I just keep running into walls when it comes to doing anything more than just a basic interaction prototype. They need to do less IMO. Hopeful that those tools add more controls that are in the same line as Cursor and Framer. I'll also add that this is similar to how we do it with @Basedash chart generation as well. But we're not a vibe tool in the normal sense so the parallels are a little bit harder to draw.




most cutting thing you can say is "who's this clown?" because it implies they're a) a clown & b) not even one of the better-known clowns









I started my company 16 years, 3 months, and 5 days ago. Today, it went public. But let's rewind for a second... 5,939 days ago, I was a barista at a small cafe called @2percentJazz2, in Victoria, Canada. I made $6.50 an hour. Two guys, Chris and Jeff, started coming into the cafe. They'd sit there all day drinking espresso and typing away on their laptops, using the wifi. After weeks of this, I asked them what they did for a living. Didn't they have jobs? They told me they were "web designers" and this — sitting on their laptops — was their job. As I dug in, they told me how it worked: They asked local businesses if they needed a website, then charged them a couple thousand bucks to make one. They could whip a website together in a few days, and each make $1,000. Simple. This blew my mind. And at that moment, I realized something: I wanted to be the guy drinking the espresso, not the one serving it. Chris and Jeff were clearly smart, but I knew some basic HTML and figured I could do the same. I decided to try it out. When I got off my shift, I took the bus over to a book store downtown and bought a book called 'Bulletproof Web Design' by Dan Cederholm (@simplebits) to hone my skills. Then, I googled "freelance web design jobs" and found a tech job board called Authentic Jobs made by this guy in Utah, @cameronmoll. There were hundreds of posts, mostly from startups in San Francisco, looking for freelance web designers. I decided to try to win one of these contracts, but I had a critical insight: Nobody wants to hire an 18-year-old barista to build their website. So, I decided I'd create a fake design agency. Using tricks from Dan Cederholm's book, I whipped together a slick looking site and called my "agency" MetaLab (after the tag in HTML). The website was very vague as to what exactly MetaLab did, who worked there, or where we were located. It also featured a cringe-inducing tagline "We Help People Make Cool Stuff." Like an email spammer, I started sending emails to every single web design job post I could find. I was met with crickets, until I got an email from a guy named Kavin Stewart (@kavinstewart). He worked at a startup called Offermatica in San Francisco and told me he needed an interface designed for a web app. I barely understood what a web app was, but I assured him I could do it. He proposed a $2,000 USD budget and my eyes went wide. This was more than I earned in a month, and the project was just a few days of work. I walked into the cafe the next day and quit my job. I told myself that if I could just make enough money to wake up whenever I wanted and comfortably make rent, I'd be good. The rest is history. But I slightly overshot. I still own MetaLab, but along the way me and my business partner @_Sparling_ started dozens of companies, then began buying wonderful businesses, including one (Dribbble) — amazingly — from Dan Cederholm, the designer whose book I bought when I first started. Today, Tiny went public, and as of this moment has a market capitalization of just under $800 million. I can't even begin to explain how mind boggling this is to me. This has not been a feat of entrepreneurial genius. My key skill has been choosing incredible people to work with, both internally and externally, and I wanted to say a huge thank you to everyone who has worked at Tiny and our various companies over the years. And a special thanks to @simplebits, @cameronmoll, and @kavinstewart for helping with my first step😉 Watch for us on the TSX Venture Exchange under the ticker TINY (how cool is that ticker?). finance.yahoo.com/quote/TINY.V?p…















