DEV Community

Cover image for ๐Ÿ—ณ๏ธ Building Electify โ€” A Digital Guide for Young Voters in India
Debosman Dasgupta
Debosman Dasgupta

Posted on

๐Ÿ—ณ๏ธ Building Electify โ€” A Digital Guide for Young Voters in India

In a country as diverse and democratic as India, voting is not just a right โ€” itโ€™s a responsibility. Yet, for many first-time and young voters, understanding the electoral process can often feel confusing and overwhelming.

Thatโ€™s what inspired me to build Electify โ€” an interactive web application designed to simplify and explain the electoral process in India in a clean, engaging, and beginner-friendly way.

From voter registration to election day and result declaration, Electify aims to guide young citizens through every stage of democracy.

In this blog, Iโ€™ll share:

  • The idea behind Electify
  • The technologies used
  • How I deployed the project on Google Cloud Run
  • Challenges faced during deployment
  • Key lessons learned along the way

๐ŸŒŸ What is Electify?

Electify is an interactive election guide web app created to help young and first-time voters understand how elections work in India.

The application presents the electoral journey in a simple and visually engaging timeline format, covering stages such as:

  • Voter registration
  • Election preparation
  • Voting process
  • Counting and results
  • Transition of governance

The goal was to make civic awareness:
โœ… Easy to understand
โœ… Accessible to everyone
โœ… Visually engaging
โœ… Mobile-friendly

At its core, Electify combines technology with civic education.


๐ŸŽฏ Why I Built This Project

Many young voters:

  • Donโ€™t know how to register
  • Are unaware of election procedures
  • Find official information too complex
  • Lack awareness about the importance of participation in democracy

I wanted to create something minimalistic yet informative โ€” a platform that explains the electoral process in a modern and interactive way.

Electify is my attempt to bridge the gap between technology and civic awareness.


๐Ÿ› ๏ธ Tech Stack Used

Frontend

  • HTML5
  • CSS3
  • JavaScript

Backend

  • Python Flask

Deployment & DevOps

  • Docker
  • Google Cloud Build
  • Google Cloud Run

๐Ÿ’ก Key Features of Electify

๐Ÿ“ฑ Responsive User Interface

The application is optimized for both desktop and mobile users.

๐Ÿ—“๏ธ Timeline-Based Learning

The electoral process is broken into easy-to-follow stages.

โšก Interactive Experience

Users can explore different election phases dynamically.

โ˜๏ธ Cloud Deployment

The app is deployed on Google Cloud Run for scalability and reliability.


๐Ÿ“ฆ Containerizing the Application with Docker

To make deployment smoother and production-ready, I containerized the project using Docker.

Dockerfile

```dockerfile id="hyjlwm"
FROM python:3.11-slim

WORKDIR /app

COPY requirements.txt .

RUN pip install --no-cache-dir -r requirements.txt

COPY . .

ENV PORT=8080

EXPOSE 8080

CMD ["gunicorn", "--bind", "0.0.0.0:8080", "app:app"]




This setup ensured:

* Lightweight deployment
* Faster builds
* Consistent runtime environment
* Better scalability on Cloud Run

---

# โ˜๏ธ Deploying Electify on Google Cloud Run

I used Google Cloud Run because it provides:

* Serverless infrastructure
* Automatic scaling
* HTTPS support
* Container-based deployment
* Cost efficiency

## Step 1 โ€” Build the Docker Image



```bash id="6g6e7k"
gcloud builds submit --tag gcr.io/PROJECT_ID/electify
Enter fullscreen mode Exit fullscreen mode

Step 2 โ€” Deploy the Application

```bash id="r00uj7"
gcloud run deploy electify \
--image gcr.io/PROJECT_ID/electify \
--platform managed \
--allow-unauthenticated \
--region asia-south1




Within minutes, Electify was live on the internet ๐Ÿš€

---

# ๐Ÿงฉ Challenges Faced During Deployment

Like every real-world project, deployment came with its own challenges.

### โŒ Missing Dockerfile

Initially, Cloud Build failed because the Dockerfile wasnโ€™t in the correct project directory.

### โŒ Wrong Build Context

At one point, Google Cloud Build detected โ€œ0 itemsโ€ because the deployment command was executed from the wrong folder.

### โŒ Port Configuration Issues

Cloud Run requires applications to bind to the `PORT` environment variable dynamically.

I fixed this in Flask using:



```python id="o7rq2k"
port = int(os.environ.get('PORT', 8080))
app.run(host='0.0.0.0', port=port)
Enter fullscreen mode Exit fullscreen mode

These debugging experiences taught me a lot about cloud-native deployment workflows.


๐Ÿ“š What I Learned

Building and deploying Electify helped me gain practical experience in:

  • Full-stack web development
  • Docker containerization
  • Google Cloud deployment
  • Cloud-native application hosting
  • Debugging production deployment issues
  • Designing user-focused interfaces

Most importantly, I learned how technology can be used to spread awareness and simplify important civic processes.


๐Ÿš€ Future Improvements

I plan to expand Electify further by adding:

  • Election Commission API integration
  • Real-time election updates
  • Regional language support
  • AI-powered voter assistance
  • Interactive quizzes and learning modules
  • Accessibility improvements

The long-term vision is to make Electify a complete digital civic awareness platform for young Indian voters.


๐Ÿ‡ฎ๐Ÿ‡ณ Final Thoughts

India is the worldโ€™s largest democracy, and informed voters are its greatest strength.

Electify may be a small project, but it represents a larger idea โ€” using technology to educate, empower, and encourage participation in democracy.

Building this project was not just a technical experience, but also a meaningful one.

It reminded me that technology is most impactful when it solves real-world problems and creates awareness among people.


๐Ÿ’ฌ Conclusion

Electify combines:

  • Web development
  • Cloud computing
  • Civic awareness
  • Interactive design

into one meaningful project.

From designing the UI to deploying it on Google Cloud Run, the entire journey was a valuable learning experience that strengthened both my development and deployment skills.

Iโ€™m excited to continue improving the platform and exploring how technology can contribute positively to society.

Thanks for reading! ๐Ÿš€๐Ÿ—ณ๏ธ

Top comments (0)