Founder dreamlaunch.studio ⊹ we build AI powered MVPs & products for founders and startups

Joined September 2020
1,417 Photos and videos
Pinned Tweet
First year of building my dream dev design agency 2025 gave us 35 clients, 40 projects, and a team of 5 Here's a glimpse of what we built at dreamlaunch.studio
6
6
47
6,632
a founder paid us $3,500 to fix a codebase last month that another AI tool built in 6 months. 400 files. all AI generated. client thought it was production ready. here's what we actually found inside: - 4 API keys hardcoded directly in the source files - no error boundaries anywhere in the app - 3 different auth implementations running in parallel - database schema with no foreign keys or indexes - 5 npm packages that don't actually exist - every component doing 4 jobs instead of 1 the app worked. it would have collapsed under 100 users. 6 months of building. $3,500 to clean up. weeks of delay before the founder could actually ship to real users. vibe coding is a speed tool, not an architecture tool. the founders who understand that distinction ship fast and clean. they use AI to execute a structure that was already decided. the ones who don't spend months rebuilding something that needed 3 weeks of proper thinking upfront. write the spec and define the schema and only then prompt.
1
2
8
297
do international clients look down on Indian founders? after working with 40 founders, i have an answer. and it's no. cultural bias in client decisions is real. but it's mostly a distribution problem, not a quality problem. the clients who've seen enough of your thinking, your work and your process before the first call don't lead with where you're from. they lead with whether they trust you. a Scandinavian client couldn't explain his idea clearly through the language barrier and chose someone else. i understood that completely. a US client told us our proposal was impressive then hired a UK agency because of familiarity. i understood that too. but then i've had clients who were genuinely impressed by our age and passion - to the point where they switched to us from their local agency down the road. build visibility with the right people. speak their language in your content. show your work publicly and let the right clients self-select. the ones who walk in through that door never ask where you're based.
4
1
9
623
I am honestly a dumb hypocrite i used to tell every non-technical founder the same thing: just use Cursor, you can build it yourself i meant it. said it publicly. probably said it to 20 people over the last year. then last month a founder came to us with a codebase he'd been building for 4 months. 400 files. zero schema documentation. components that worked in isolation and broke everything the moment you connected them. no PRD anywhere in the repo. just a `notes .txt` file with feature ideas and a graveyard of half-implemented screens. he wasn't bad at prompting. actually one of the better ones i've seen. the problem was structural - and he had no way to know it until it was too late. here's what i actually think now, having shipped 50 products with a team: the tools are not the problem. Cursor is extraordinary. Claude Code is extraordinary. the problem is that using them well requires you to already understand what good looks like. when an experienced dev uses Cursor, they're steering. they know when a file is getting too large. they know when a component is doing too much. they know when to stop and refactor before adding the next feature. they feel the codebase getting harder to hold in their head and they slow down. a non-technical founder using the same tool has none of those signals. so they keep going. the AI keeps helping. and 3 months later they have something that works in demos and falls apart in production. what i actually recommend now: - if you're non-technical and want to build yourself, spend 2 weeks learning the fundamentals first. not to code. to understand architecture enough to know when your codebase is getting sick - write your PRD before you open any AI tool. not a doc. a markdown file. what it does, what it doesn't do, 5 user stories, the schema - if you're on a deadline or you've already started and the codebase feels messy, hire someone who does this every week. the cost of a rebuild is always higher than the cost of doing it right i still think founders should understand the tools they're building with. i changed my mind about whether that's enough to build alone.
11
1
16
841
the worst hire i ever made had a great resume. the best one impressed me without it : ) my process is simple. i sit with the person, talk candidly, dig deep into something they've actually done. and somewhere mid-conversation i give them a real problem to walk through out loud. not a test with a right answer. just a problem. because how someone thinks under zero preparation tells me everything a polished CV never could. the one thing i cannot work with is low agency. if i give you five things and you come back with three done badly and two untouched - i now have more work than before i hired you. the people i want are the ones who take five things and quietly figure out two more i hadn't thought of yet. they don't wait to be managed. they find the work, own it and deliver before you knew it needed doing. build a team like that and the business grows even when you're not in the room.
2
1
11
505
Vibe Coder PRO TIP : your .cursorrules file is doing less than 10% of what it should be. most devs use it for basic stuff like "use TypeScript" and "prefer functional components." here's what it should actually contain : - your full component naming convention (don't make Claude guess) - which folder structure you use and why (feature-based, not type-based) - your error handling pattern (toast? inline? throw catch at page level?) - your Supabase RLS rules so Claude doesn't write queries that bypass them - your Stripe integration pattern (server actions only, no client-side secrets) - your exact env variable naming format Claude reads this on every prompt. a weak .cursorrules = Claude making architectural decisions you didn't ask for, on every single file. took me 3 client projects to get this right. the 4th one had zero "wait why did it do that" moments.
1
1
13
604
we kicked off two $10,000 client builds this week in spaces most agencies haven't touched yet. here's what the strategy and the architecture actually looked like. AEO pipeline for a US family office: Ahrefs flagged something recently that stopped me mid-scroll - websites with zero traditional SEO indexing are getting cited in AI search results. no backlinks. no domain authority. none of the signals that have mattered for the last decade. we're building directly into that gap. - two models, two jobs. Exa for competitor research, claude sonnet for articles. they don't talk to each other - two api calls stitched by a postgres review queue - couldn't return valid json when content is html - delimiters and regex extraction instead - cron fires daily, one article per call, human review gate at every stage - fully autonomous content in prod without a human gate = garbage indexed on google autonomous lead scoring and outreach agent for a B2B SaaS founder from Norway : most people don't realise twitter's algorithm isn't rule-based like every other platform. it runs on Grok. fully autonomous. that changes what you can reverse engineer from reply data entirely. - grok fast at temp 0.2 for ICP scoring. threshold at 6 to qualify - grok for context pull once the lead is qualified - full conversation history, signals, intent - llama-3.3-70b at temp 0.75 for DM generation using that context - low temp = consistent scoring. high temp = messages that don't all read the same - scores and messages render live over SSE while the stream runs both builds started on paper. not in a terminal. the most interesting decisions this week weren't about which models to pick. they were about where to keep the human in the loop and where not to.
9
2
19
1,345
Vibe Coder PRO TIP : stop hardcoding your paywall UI. every time you change a price, tweak copy, or test a new layout - you're triggering a full App Store review cycle. Literally a 3-7 days for a text change. here's the setup that fixes this : RevenueCat Paywalls works through their Offerings system. an Offering is just a config object your app fetches remotely on launch. your app code does one thing : → fetch current offering → render whatever paywall is attached to it implementation looks like this : - install purchases-ios 5.27.1 or react-native-purchases 8.11.3 - create an Offering in the RC dashboard - attach a Paywall to that Offering (template or build from scratch) - in your app: call `Purchases.getOfferings()` and pass the current offering to `RevenueCatUI.presentPaywall()` thats the full integration. now your pricing, copy, and layout are a dashboard change !
4
2
17
835
Apple rejected 3 vibe coded apps last month from founders i personally know. each had spent $2,500 to build them. not because the idea was bad or the code was broken but rather funnily because the app felt like a website pretending to be an iPhone app. reviewers aren't reading your code but rather they're manually using your app for 4 minutes and asking one question - does this feel like it belongs here ? the things that fail that test every single time : - blank screen on load while data fetches - notification popup before the user has done anything - onboarding copy that reads like a terms page - dashboard with placeholder content and no real state these aren't design opinions. they're documented rejection patterns apple uses consistently. the founders who stay in the store understand one thing the rejected ones don't - native motion, real content, one clear action per screen. i built a rejection-proof onboarding flow this week for these founders pre-kickoff; native swift output from day one, no wrapper. the kind of build that doesn't make a reviewer pause. if you're shipping vibe coded apps and haven't thought about this yet - your $2,500 review is coming.
7
5
40
2,563
Vibe Coding PRO TIP : most devs lose Claude context mid-project and think its a model problem. fun fact is that its a documentation problem. Claude has no memory between sessions. every time you start fresh, it starts fresh too. without structure, you're re-explaining architecture on every single prompt. 4 files fix this permanently : - CLAUDE[.]md → project rules, tech stack, naming conventions, patterns you don't want Claude breaking - design[.]md → design tokens, spacing scale, component decisions, what your Tailwind config actually means - components[.]md → every component, its props, its variants, what its responsible for. Claude won't reinvent what it already knows - slices[.]md → feature slices mapped to files. what's shipped, what's in progress, whats next. Claude treats this as a live roadmap Claude reads all 4 at the start of every session via the /init command. i run this on every build. saves ~2 hours per project just on re-prompting alone. bookmark this before your next build.
11
4
24
1,039
i've been trying to breakdown habit forming great products recently. and every single one runs the same loop. trigger → action → variable reward → investment took me a while to actually understand what "variable reward" meant in practice. its not that twitter is good. its that you dont know if the next thing will be. that uncertainty is the entire mechanism. a guaranteed reward would actually kill the habit - your brain stops caring once it knows exactly what it's getting. so here's what's actually happening every time you open twitter when you're bored: the boredom is the trigger. not a notification, not a reminder. just a feeling that routes directly to the app before rational thought kicks in. the scroll is the action. automatic, almost physical at this point. the feed is the variable reward. sometimes its incredible. sometimes its nothing. you dont know which, and that's exactly why you keep going. the like, the reply, the follow - thats the investment. and now the algorithm knows you slightly better than it did before. next time you're bored, the reward is a little more likely to land. the loop tightens every single time you use it. i've been building products for 2 years and i never thought about retention this way until i read this. most founders i talk to are obsessed with notifications, re-engagement campaigns, streak features. none of that matters if you haven't found your trigger first. the trigger is the whole game. everything else is just optimising a loop that may not even exist yet. read Hooked by Nir Eyal if you haven't. genuinely unsettling how clearly it explains your own behaviour back to you
2
2
9
424
a founder wired us $17,500 before we wrote a single line of code. no prototype. no proof of concept. just a figma file and a conversation. that kind of trust is earned before the project starts, not during it. here's what we did before dev even opened their laptop : - mapped 40 screens - documented every user flow - flagged every edge case. drew out every state the app could possibly be in - empty states, error states, success states, everything. two weeks of design work that most agencies skip because it doesn't look like progress. but we've done 50 builds. and the pattern is always the same. projects that skip the mapping phase - they don't fail because of bad code but rather because the founder and the team had two different products in their heads the entire time and nobody caught it until week 8. the $17,500 wasn't the hard part. the hard part was making sure both of us were building the exact same thing before either of us touched it. most founders think the biggest risk in a build is a bad developer. its not. its a well-executed product nobody actually agreed on. the flowchart is the insurance policy. the code is just proof it worked.
4
2
14
552
i've shipped 50 large scale software for clients and the most expensive mistake i keep seeing founders make isn't bad code. it's starting a build without giving the model a single document to work from. here's the 4 file system i use on every claude code project before i write a single prompt: - CLAUDE[.]md my stack, conventions, folder structure, what not to touch and what needs approval. claude reads this every session and allows me to work without re-explaining the entire project from scratch every single time. - design[.]md this is your actual design language. colors, spacing, component rules even including the tailwind classes. this helps me and the team to stop letting claude guess what "clean" means and start making it match what we actually intend. - components[.]md every reusable component documented usually on top of shadcn and claude pulls from what exists instead of silently building a second version of pre-existing components allowing to avoid so so much of technical dead code - slices[.]md the full build broken into vertical shippable pieces before a single line of code is written. the team shoots for one slice at a time ensuring nothing breaks what came before. three rules i don't break: - make claude read all 4 files at the start of every session. non negotiable - when output drifts, stop immediately. go back to slices[.]md and reorient. drifting output is always a context problem, not a model problem - after every slice ships, update components[.]md. the system only works if you maintain it the gap between what you intended and what got built is never a prompting problem. it's a documentation problem. before any project starts, i run `/grill-me` by @mattpocockuk to surface every unknown. save the output and close the gap before getting to the build step
8
4
30
1,307
35 clients. 50 products shipped. $100K in year one, and all i did was celebrate with ice cream. I have a Google Sheet where every payment gets logged the second it lands. I’ve watched it climb from $10K to $40K to $80K and by the time it was sitting at $97K I already knew it was going to cross. It was anticipated. I thought I’d cry. Or feel something seismic shift. Instead I got ice cream, told the team, and opened my laptop to reply to a client message about a bug that needed fixing before their launch the next morning. There’s actually a study on this. The dopamine your brain releases while imagining a big milestone is measurably higher than what it releases when you actually hit it. The next goal was already written down before the ice cream was finished. I think that’s what building actually feels like from the inside :)
9
3
49
1,636
can i be honest. i genuinely f*cking love building a company. not the revenue milestones. not the client wins. the actual building part. this week we shipped 3 internal tools that replaced work that would have needed a VA person to take care of; fully autonomous flows with research layer and intent mapping we kept some human in the loop steps not because we had to - because we wanted a feedback layer to keep things in check that kind of problem is interesting to me in a way no job ever was. solopreneurship never made sense to me. building alone sounds exhausting. the entity itself with all its chaos and decisions and people. thats the whole point. you just have to find the right person to build it with.
6
4
23
1,223
how to master vibe coding fast: - stop watching tutorials - pick a tool you actually need. not a fake idea, something you'd use tomorrow - open cursor. describe the full app in one prompt. dont hold back - it will break. paste the raw error straight back. dont summarise it - when cursor loops on the same fix, stop immediately - switch to claude. explain the full context from scratch. fresh context beats a confused model every time - keep a CLAUDE[.]md at root. stack, conventions, what not to touch. cursor drifts without it - stuck for more than 20 minutes? use `/grill-me` to find what you dont know yet - most loops are unknown unknowns, not bad prompts - ship the broken version first. fix it after. waiting for clean code is how projects die on localhost - every error is just the next prompt most people quit at the first broken build but things usually require pushing through end to end
10
2
17
850
I used to work 14 hour days and make less than I do now working 6 Every founder I looked up to when I was starting out seemed to work less than me and build more than me and I couldn't figure out why until one of them told me directly. Volume is not output. Sitting at a laptop for 14 hours feels like hustle but most of it is just noise with a productivity aesthetic. The shift for me was brutal honesty about what actually moved the needle. For @dreamlaunchhq it was two things: getting in front of the right founders and closing well. Everything else was support work. So I stopped optimising my schedule and started protecting those two things obsessively. I went to a founder networking event last month, got talking to someone at the snacks table, got his number, and closed a $1,000 deal three days later. No ads or funnels or content strategy. Just being in the right room. Know what game you're actually playing, then only play that :)
6
4
26
1,279
how to never lose context in claude code : - create CLAUDE[.]md at the root - stack, conventions, folder structure, what not to touch. claude reads this every session. its your ground truth - add design[.]md with your actual design language - colors, spacing, component rules. drop screenshots directly in it. stop letting claude guess what you mean by "clean" - build components[.]md - every reusable component documented. claude pulls from what exists instead of silently building a second version of something you already have - write slices[.]md before a single line of code - full build broken into vertical shippable pieces. one slice at a time. nothing breaks what came before - before starting any session, make claude read all 4 files first. non negotiable - when output starts drifting, stop immediately. go back to slices[.]md and reorient. drifting output is always a context problem not a model problem - after every slice ships, update components[.]md. the system only works if you maintain it the gap between what you intended and what gets built is never a prompting problem. its a documentation problem. before you start any project, use `/grill-me` to uncover every unknown. save the output. close the gap before the first prompt, not after.
7
4
13
826
I hustled with the dream of being an artist at a big studio, only to fail miserably and find myself depressed. Bought a proper art tablet, built a portfolio, freelanced wherever I could and genuinely believed this was the path, even though everyone looked down on me because I chose Art over Engineering. But being a male artist in India meant fighting on two fronts at once. Society didn't consider art a real career, and it especially didn't understand a boy choosing it. Every family gathering had a version of the same conversation and I smiled through all of it while quietly putting in the hours anyway. Then one day I sat down and did the math honestly. The odds of making it from India, without the right connections or a western portfolio, were brutal and I knew it. So I made peace with accepting that this particular door wasn't going to open no matter how hard I knocked. I picked up UI/UX next, then taught myself to code from scratch, then eventually built DreamLaunch - kept pivoting until I could finally build something of my own. The art just stopped being the destination and started showing up in how we think about every product we design :)
3
3
17
1,119
SIDEHUSTLE FOR IDIOTS : there is a reason some founders hit $10K MRR on their first app while others keep rebuilding from scratch its not the idea. its the persona targeting. a gym person already cares about what they eat. you're not convincing them to change behaviour, you're removing a decision they make every single day. "what should i eat?" app for gym people not calorie logging. not another macro tracker. you type: "i have eggs, rice, chicken, 20 mins" it gives 3 meals with macros and tells you what to cook first based on your goal > the problem is real and daily; decision fatigue around food never goes away > the user already has the motivation; you're just removing friction > $4.99/month, gym people don't churn because the problem never stops i mocked the full iOS flow in SuperApp in one day native screens, real interactions, before a single line of custom code the idea is simple. the persona is right. execution is where people quit.
5
5
13
783
Most founders treat their health like shit. There was a stretch last year where I convinced myself I was too busy for the gym. Six weeks of skipping it, eating whatever was fast, sitting in the same chair for 12 hour stretches and calling it dedication. By week four my thinking was slower, my patience on client calls was shorter, and every decision felt heavier than it needed to. I thought I was tired from the work. I was tired from ignoring everything that makes the work sustainable. The gym isn't a lifestyle flex for me. It's the one hour where nothing is being asked of me and I come out the other side actually capable of doing the next thing well. I also stopped eating like someone who forgets food exists. Whole foods, real meals, water that isn't coffee. Simple stuff that sounds obvious until you're in a building phase and treating your body like a machine that just needs fuel to run. ps- my go to gym pre workout @wholetruthfood BANGER 🦾
4
2
24
2,081