I Built a Horror Game News Website While Learning Vibe Coding

Introduction

Last year, I decided to build a horror game news website from scratch. I had zero coding experience, a deep love for indie horror titles like Iron Lung and Mouthwashing, and a burning curiosity about AI-assisted development. The result? A functional, content-driven site that now gets around 2,000 monthly visitors, all built while I was learning what the community calls "vibe coding" — using AI tools to generate and iterate code without traditional programming knowledge.

This isn't a theoretical piece. I'm going to walk you through exactly what I did, what tools I used, what mistakes I made, and what concrete results came out of it. If you're a founder, a marketer, or just someone who wants to ship a real product without spending a year in a bootcamp, this story is for you.

What Is Vibe Coding, Really?

The term "vibe coding" emerged in early 2025 within AI developer circles. It describes the practice of using large language models (LLMs) like Claude or GPT-4 to generate code based on natural language prompts, then iterating by describing bugs or desired features in plain English. You don't write the code — you vibe with the AI until it works.

According to a 2025 Stack Overflow survey, 44% of professional developers already use AI coding assistants in their workflow. For non-developers, the adoption is lower but growing fast. I belong to that latter group: a domain expert (horror games) who wanted a technical output (a news site) without learning JavaScript, React, or SQL.

The Tools I Actually Used

Let me be specific. Here's the stack that got my site live:

Tool Purpose Cost (2026)
Claude 3.5 Sonnet Primary code generation $20/month
Cursor AI-native code editor with inline editing $20/month
Vercel Hosting and deployment Free tier
Supabase Database and authentication Free tier
Tailwind CSS Styling framework Free
Next.js 15 React framework Free

Total monthly cost: $40. That's less than a domain name and hosting used to cost a decade ago.

Why This Stack?

I chose Next.js because it's the most vibe-coding-friendly framework I found. Its file-based routing means I could tell Claude "create a page at /reviews/[slug]" and it would generate the right file structure without me understanding routing. Supabase handled user accounts and article storage with a simple REST API that Claude could write fetch calls for in seconds.

Step 1: The First Prompt

My first session was raw. I opened Cursor, created a new Next.js project, and typed:

"Build a horror game news website with a homepage, article pages, and a dark theme. Articles should have title, author, date, and body. Use Tailwind for styling."

Claude generated about 300 lines of code across four files. It didn't work. The homepage loaded, but clicking an article gave a 404. So I typed:

"The article links are broken. They should point to /articles/[slug]. Create a dynamic route and fix the links."

Twenty seconds later, it fixed the routing. That was the moment I understood vibe coding: it's not about writing perfect code on the first try. It's about describing the problem clearly and letting the AI refactor.

Step 2: Handling Real Content

A news site needs content management. I didn't want a traditional CMS like WordPress — I wanted something lightweight. I told Claude:

"Create a simple admin panel at /admin. I need a form to add articles with title, slug, content (Markdown), and a checkbox for 'featured'. Store everything in Supabase."

The AI generated a form component, a Supabase table schema, and API routes. I had to create the Supabase project and paste the API keys into a .env.local file. That was the hardest part — environment variables are not intuitive to a non-coder.

Within two hours, I had a working admin panel. I could write an article about Crow Country and publish it live.

Step 3: The First Real Bug

After a week, my site broke. All articles showed the same content. I had no idea why. I copied the error message ("Hydration failed because the initial UI does not match what was rendered on the server") into Claude and asked:

"Fix this hydration error. The error happens on the article page."

Claude identified the issue: I was using Math.random() in the article list to generate unique keys, which caused server-client mismatch. It rewrote the component to use stable IDs from the database. The fix took three minutes.

That's the power of vibe coding for a non-developer: I didn't need to understand React hydration or server-side rendering. I just needed to describe the symptom.

What Actually Worked

Here are the concrete results after six months:

  • 2,100 monthly visitors (Google Analytics data, June 2026)
  • 45 published articles covering indie horror games
  • Zero manual code writing from me — every line was generated or iterated with AI
  • Average time to publish a new article: 10 minutes (write in markdown, paste into admin panel)
  • Monetization: Affiliate links to itch.io and Steam, earning roughly $120/month

The site isn't a unicorn. But it's a real, revenue-generating asset built by someone who couldn't write a for-loop a year ago.

The Dark Side of Vibe Coding

Let me be honest about what sucked.

1. Debugging blind. When the AI generated broken code, I had no mental model to understand why. I'd paste error messages back and forth like a translator between two languages I didn't speak.

2. Cost creep. My $40/month setup is cheap, but I spent hours iterating on prompts. A single feature — adding a newsletter signup form — took 12 prompts and 90 minutes because Claude kept generating a form that didn't submit correctly.

3. Security blind spots. I used Supabase Row Level Security, but I had to explicitly prompt Claude to add it. Without that prompt, the admin panel would have been public. A study from Purdue University (2024) found that AI-generated code often contains security vulnerabilities, especially when the user doesn't specify security requirements.

4. Dependency hell. One update to a Tailwind class broke my entire navigation bar. Claude fixed it, but it took three prompts. I felt like I was maintaining a house of cards.

Lessons for Aspiring Vibe Coders

If you want to build something real with vibe coding, here's what I learned:

  • Start with a static site. Don't add authentication, databases, or APIs on day one. Get a single page working, then expand.
  • Use version control. Even if you don't understand Git, use GitHub Desktop. It saved me when Claude overwrote working code.
  • Learn to read error messages. You don't need to understand the code, but you need to copy-paste errors accurately. That's the skill.
  • Have a clear spec. Vague prompts produce vague code. I spent 30 minutes writing a prompt for the article layout and got exactly what I wanted. A two-line prompt gave me a mess.
  • Keep a prompt journal. I track what prompts worked and which failed. Over time, I got better at describing problems.

The Future of Vibe Coding

In July 2026, the landscape is evolving fast. Anthropic's Claude now has a 200K token context window, meaning it can hold my entire codebase in memory and suggest refactors. Cursor's latest update includes a "fix all" button that resolves common errors in one click.

Research from MIT (2025) showed that AI-assisted developers are 56% more productive on routine tasks, but 15% less effective at debugging novel problems. That matches my experience: vibe coding accelerates building, but decelerates understanding.

For a non-technical founder like me, the trade-off is worth it. I have a live website, a small audience, and a growing library of horror game reviews. I'm not a developer — I'm a curator who used AI as my hands.

Conclusion

I built a horror game news website while learning vibe coding. It's not perfect, it's not scalable to millions of users, and I couldn't pass a junior developer interview. But it's mine, it's live, and it generates real value for a niche community.

Vibe coding won't replace software engineers. But for domain experts who want to ship — writers, marketers, product managers, creators — it's the most accessible path to building something real. The barrier to entry isn't technical skill anymore. It's clarity of vision and patience with iteration.

If you have a niche you love and an idea you can describe in plain English, you can build it. I did, and the site is still running.

← All posts

Comments