In every Indian election season, there's one common pain point I kept noticing — the lack of a centralized, user-friendly source for candidate lists. lack of a centralized, user-friendly source for candidate lists While the Election Commission releases official data, it’s often buried in scanned PDFs or fragmented across state-level sites. Political parties publish their own lists, but not in standardized formats. For most voters, journalists, and researchers, this means digging through news articles, unreliable sources, or unstructured files just to find out: who is contesting from where? who is contesting from where? That’s the problem I set out to solve with CandidateList.live. CandidateList.live Background: I’m Not a Developer (Yet) I’ve been working in SEO since 2016 and content marketing since 2019. Over the years, I’ve launched and scaled several tech blogs, so I understand how important structured data and discoverable content are — especially when users are actively searching for information. But I didn’t know how to code. That changed in August 2024, when I decided to start learning frontend development. I began with the basics: plain HTML and CSS. Slowly, I started learning JavaScript and building small static projects — all driven by curiosity and what I now call “vibe coding” — coding based on energy and flow, not formal roadmaps. “vibe coding The Idea Behind Candidate Live As election news started building again in late 2025, I realized this was the perfect problem to solve as a beginner dev. The goal: Build a simple site that organizes election candidate lists Keep it lightweight, responsive, and easy to update Make it accessible to anyone, from mobile users to journalists doing research Build a simple site that organizes election candidate lists simple site Keep it lightweight, responsive, and easy to update lightweight responsive easy to update Make it accessible to anyone, from mobile users to journalists doing research accessible to anyone And I wanted to do it fast — using only the skills I had at that moment. Building the Project in 2 Days with Cursor AI I built the first version of CandidateList in just 2 days, powered by: 2 days HTML + CSS for structure and styling JavaScript for data rendering Cursor AI, an AI code editor, to help speed up logic and fix errors Vercel, for fast and free deployment HTML + CSS for structure and styling HTML + CSS JavaScript for data rendering JavaScript Cursor AI, an AI code editor, to help speed up logic and fix errors Cursor AI Vercel, for fast and free deployment Vercel Here’s what the stack looked like: Frontend: HTML, CSS, JavaScript (vanilla) Hosting: Vercel (free tier) AI Assistance: Cursor AI (pair programming + debugging) Frontend: HTML, CSS, JavaScript (vanilla) Hosting: Vercel (free tier) AI Assistance: Cursor AI (pair programming + debugging) Instead of building a complex backend, I kept the data in structured JavaScript arrays/objects, which are easy to update when new candidate lists are released. I used JSON-like structures to format entries with fields like: { district: "Patna", assembly_no: "120", assembly_name: "Digha", candidate_name: "Rajeev Kumar" } { district: "Patna", assembly_no: "120", assembly_name: "Digha", candidate_name: "Rajeev Kumar" } Then I used JavaScript to dynamically render this data into clean, accessible HTML tables categorized by: State (e.g., /bihar) Party (e.g., /jan-suraaj) Combined list (/list) State (e.g., /bihar) State (e.g., /bihar) Party (e.g., /jan-suraaj) Party (e.g., /jan-suraaj) Combined list (/list) Combined list (/list) All pages are static, fast, and pass core web vitals benchmarks with ease. What Candidate Live Solves Here’s what makes CandidateList useful: No clutter – Just clean, searchable lists in table form Fast performance – Hosted statically, optimized for mobile Easy updates – New candidate lists can be added or modified in minutes Open and neutral – No ads, no political bias, just data No clutter – Just clean, searchable lists in table form No clutter Fast performance – Hosted statically, optimized for mobile Fast performance Easy updates – New candidate lists can be added or modified in minutes Easy updates Open and neutral – No ads, no political bias, just data Open and neutral Whether you’re a journalist covering elections, a citizen checking your constituency, or a researcher tracking trends, the site simplifies access to fragmented election data. Key Learnings from the Build Start small, solve real problems: You don’t need React or a database to build something useful. Just a clear idea and structured thinking. AI can be your co-pilot: Cursor AI helped me generate clean JS functions, refactor loops, and debug DOM logic — without slowing down my momentum. Frontend can do more than you think: Even with just HTML, CSS, and JavaScript, you can build scalable, maintainable microtools that work. Speed of execution matters: The MVP took just two days. If I waited to “learn more,” I’d still be procrastinating. Start small, solve real problems: You don’t need React or a database to build something useful. Just a clear idea and structured thinking. Start small, solve real problems: AI can be your co-pilot: Cursor AI helped me generate clean JS functions, refactor loops, and debug DOM logic — without slowing down my momentum. AI can be your co-pilot: Frontend can do more than you think: Even with just HTML, CSS, and JavaScript, you can build scalable, maintainable microtools that work. Frontend can do more than you think: Speed of execution matters: The MVP took just two days. If I waited to “learn more,” I’d still be procrastinating. Speed of execution matters: What's Next? CandidateList.live is only the beginning. I plan to: Add search filters Build a mini CMS or dashboard for easier updates Expand the structure for Lok Sabha and local body elections in the future Add search filters search filters Build a mini CMS or dashboard for easier updates mini CMS or dashboard Expand the structure for Lok Sabha and local body elections in the future Lok Sabha and local body elections You don’t have to be a professional developer to build something valuable. With basic tools, AI help, and a clear goal, you can ship real-world products — even if you’re still learning. Candidate Live was born out of frustration — and built with curiosity, code, and two days of focused effort. Candidate Live was born out of frustration — and built with curiosity, code, and two days of focused effort. Candidate Live was born out of frustration — and built with curiosity, code, and two days of focused effort. If you’re learning to code, try building for the real world. That’s where the real growth — and impact — happens. Try it live: https://candidatelist.live/ https://candidatelist.live/ Feel free to fork, contribute, or get inspired. The code is clean, the purpose is clear — and the internet needs more builders solving local problems.