DEV Community

Cover image for I Just Started Learning to Code — Here's How I Built My First ‘Vibe Project’
Rahul
Rahul

Posted on

I Just Started Learning to Code — Here's How I Built My First ‘Vibe Project’

A few months ago, I started learning to code. No bootcamp, no CS degree — just pure curiosity and late-night Googling.

Instead of going through 100 tutorials back-to-back, I decided to build something real. Something useful. Something that actually solved a problem I was facing.

That’s how my first “vibe project” was born:
CandidateList.live, a site to make it easier to find election candidate lists in India.

The Problem I Was Facing

During an ongoing state election, I was trying to find a complete list of candidates by district and party.
Turns out… that’s not as easy as it should be.

The data does exist — but it’s all over the place:

  • Some are in PDFs from election commissions
  • Some are posted on party websites
  • Some are shared in news articles, often without full detail
  • And most are completely unsearchable or unstructured

I realized that even something as basic as “who is contesting from where” is not easy to track — unless you’re willing to spend hours digging through PDFs and spreadsheets.

So I thought: What if I just built the platform I wish existed?

What I Used?

This was going to be my first real project, so I kept it simple:

  • HTML for structure
  • CSS for layout and styling
  • JavaScript to handle table interactivity and basic scripting
  • Hosted the project using Vercel (free, fast, and beginner-friendly)

I didn't use any fancy frameworks. My goal was simple: Make something useful. Make it public. Make it work.

The Most Challenging Part

Surprisingly, the hardest part wasn’t layout or styling.

It was building a small script that could generate live stats around the data.

For example: total number of candidates, how many states/parties are covered, etc.

Even though I was working with static files, I wanted to simulate dynamic behavior — without using a backend.

So I wrote a small JavaScript function that reads the data from the tables and updates the stats at the top of the page automatically.

Not a huge challenge for experienced devs — but for me, it felt like a big win.

What I Learned?

Solving your own problem is the best project idea. I didn’t build this because of a tutorial. I built it because I needed it.

You don’t need a complex stack to build something real. Even basic HTML/CSS/JS can go a long way.

Making things public is scary — but it’s worth it. Publishing this project (and writing about it now) feels way more exciting than finishing another tutorial.

Small things matter. Even simple features like auto-counting stats or table filters can improve the experience a lot.

What’s Next?

The site is live and works well for now.
But there’s still so much I want to improve:

  • Add more states and parties
  • Handle live updates or versioned lists
  • Maybe even build a backend or database someday
  • Add search by candidate or constituency

For now, I’m just glad I started.
This was my first vibe project — and definitely not my last.

Try it live: candidatelist.live

Top comments (0)