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)