
Hey, I'm Raman Mohammed.
A few years ago, I was sitting in a lecture hall at Chalmers University in Gothenburg, Sweden. One of the top engineering schools in Europe. I was halfway through my Master's in Software Engineering, learning about distributed systems, formal verification, and all the things that look impressive on a CV.
I thought I was on the right path. Graduate. Get hired at a big tech company. Build "correct" software.
Then I tried to launch my first real product. I spent months perfecting the codebase. Clean architecture. Full test coverage. Every design pattern in the book.
Launch day came.
I posted it. I waited. And I got exactly zero users. Not ten. Not one. Zero.
That's when it hit me. I'd spent five years learning how to write code that compiles. Nobody taught me how to write code that matters.
The university taught me to optimize for elegance. The market wanted me to optimize for value.
I looked at my Master's thesis sitting on my desk. Looked at my empty analytics dashboard. And I made a decision.
"Another degree won't teach me how to get users."
I dropped out of Chalmers before finishing my thesis. Not because I couldn't do it. Because I realized I was studying the wrong exam.
- "Let me refactor this first"
- "I need better test coverage"
- "This UI is terrible, I need to redesign it"
- Months of building in silence
- "Ship it, then fix it"
- "Does it solve the problem? Ship."
- "I'll scale when I have users to scale for"
- Build in public, launch in weeks
After dropping out, I got a full-time dev job. Bills don't pay themselves. But every night after work, I'd open my laptop and build.
The difference? I stopped trying to impress imaginary code reviewers. I started trying to solve real problems for real people.
My code got messier. My products got better. I shipped faster than I ever had before.
"Ship uncomfortably fast."
If you're not a little embarrassed by v1, you waited too long.
I built the tool I wish I had.
Every time I started a new project, I spent weeks on the same stuff. Auth. Payments. Email. Database setup. The "boring infrastructure" that has nothing to do with your actual idea.
Weeks of setup before writing a single line of code that matters. That's backwards.
So I packaged everything I've learned into vibestacks.dev. Not another bloated boilerplate. A battle-tested starter kit from someone who actually ships products.
UI Blocks
100+ beautiful, copy-paste components. Hero sections, feature grids, pricing tables, testimonials, and more. Built with shadcn/ui and Tailwind.
This is my way of giving back. I learned to code from free resources. It's only right I contribute something back to the community.
Browse free blocksFull Starter Kit
The complete production-ready boilerplate. Everything you need to launch a SaaS in hours, not weeks. All the "boring stuff" handled.
This is for founders who value their time. Skip the setup phase and start building what makes your product unique.
Get the PRO kitWhat's in the PRO Kit?
All the infrastructure you'd spend weeks building. Done.
AI SDK Integration
OpenAI, Anthropic, and more. Ready to go.
Stripe + Affiliates
Payments, subscriptions, and affiliate tracking built in.
Auth That Works
Magic links, social login, and role-based access control.
Email (Resend)
Transactional emails, sequences, and templates.
i18n Ready
Internationalization from day one. Reach global users.
Blog & SEO
MDX blog, sitemap, meta tags, and SEO architecture.
Cron Jobs
Automated background tasks without the headache.
Team Ready
Multi-tenant architecture for B2B SaaS.
I write because I forget.
Honestly, I dont have the greatest memory for theory. I'll read something, understand it deeply, and then three months later... it's gone. Like I never learned it.
So I started writing things down. Not for an audience. For future me. My blog is basically my external hard drive. A place where I write what I learn so I can reference it later.
Turns out, writing to remember forces you to actually understand something. Can't explain it clearly? You don't really get it yet.
Learn
Dig into a concept until I actually understand it.
Write
Force clarity by explaining it in my own words.
Share
If it helps someone else along the way, that's a bonus.
What you'll find on the blog:
- Technical deep dives (Next.js, TypeScript, databases)
- Indie hacker lessons (what worked, what failed)
- Build logs (real numbers, real struggles)
- SEO and marketing for developers
"The best time to document something is right after you figure it out. The second best time is never, because you'll definitely forget."
Ready to ship faster?
Stop spending weeks on setup. Start building what makes your product unique.
A final note: If you're stuck in the same loop I was with perfectionism, zero users. Just know it gets better. The moment you start shipping imperfect things to real people, everything changes.
Your first product doesn't need to be perfect. It needs to exist.
Raman M.