惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Tailwind CSS Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
雷峰网
雷峰网
量子位
有赞技术团队
有赞技术团队
阮一峰的网络日志
阮一峰的网络日志
The Cloudflare Blog
博客园 - Franky
罗磊的独立博客
宝玉的分享
宝玉的分享
博客园_首页
腾讯CDC
The GitHub Blog
The GitHub Blog
D
DataBreaches.Net
IT之家
IT之家
D
Docker
Microsoft Security Blog
Microsoft Security Blog
博客园 - 司徒正美
V
V2EX
月光博客
月光博客
N
Netflix TechBlog - Medium
爱范儿
爱范儿
I
InfoQ
P
Proofpoint News Feed

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
How I Built VoteWise AI: Gamifying Democracy with Next.js...
Ayushi Bhada · 2026-05-02 · via DEV Community

Democracy is beautiful, but let's be honest: understanding elections can be overwhelmingly complex.

Between confusing voting systems, endless jargon, and language barriers, millions of eligible voters sit out every year simply because the process feels too intimidating. I wanted to change that.

So, I built VoteWise AI — a modern, mobile-first SaaS platform designed to gamify and simplify the democratic process using Google's cutting-edge Gemini 2.5 Flash.

Here is a look at what I built, the tech stack I used, and the challenges I overcame! 🚀

🌟 What is VoteWise AI?
VoteWise AI is a fully responsive, multilingual election guide covering 13 countries and 16 languages. Instead of reading boring government PDFs, users can have a natural, voice-enabled conversation with an AI that knows the ins and outs of their local electoral system.

Key Features:
🤖 Lightning-Fast AI Chat: Powered by Gemini 2.5 Flash, it answers any election question instantly.
📖 Story Mode: This is my favorite feature! It dynamically generates child-friendly analogies and AI illustrations (via Pollinations.ai) to explain complex political concepts like the Electoral College or Parliamentary Democracy.
🌍 Hyper-Localized: Real-time support for 16 languages with native Text-to-Speech (TTS) and Voice Recognition.
📅 Live Election Calendar: 150+ real-world election events with audio reminders.
📱 Mobile-First UI: A sleek, glassmorphic design that mimics the UX of premium AI apps like ChatGPT.
🏗️ The Tech Stack
I wanted this application to be blazing fast, highly secure, and visually stunning. Here is the stack I chose:

-Frontend: Next.js 15 (App Router) + React
-Styling: Tailwind CSS + Framer Motion (for buttery smooth micro-animations)
-State Management: Zustand (with localStorage persistence)
-Backend & Auth: Firebase Anonymous Auth + Firestore (protected by strict Security Rules)
-AI: Google Gemini API
-Deployment: Containerized and hosted on Google Cloud Run



🛠️ How It Was Built (And The Challenges)

  1. Hydration & The "Emoji" Problem One of the most interesting bugs I hit was a Next.js Server-Client Hydration Mismatch. It turned out that using String.split('') to parse multi-byte Unicode emojis on the server was causing the DOM to mismatch when it hit the client browser.

The Fix: I learned to use Array.from() which safely handles Unicode surrogate pairs!

  1. Securing the AI Endpoint
    Because the Gemini API costs money and can be abused, I couldn't just expose it to the client. I built a secure Next.js API Route (/api/chat) that acts as a middleman. It strictly sanitizes user inputs (preventing prompt injections) and enforces an in-memory IP-based rate limit of 20 requests per minute.

  2. Making it Production Ready for Google Cloud
    Getting a Next.js app to run smoothly on Google Cloud Run required optimizing the build. I updated the next.config.ts to include output: 'standalone', which drastically reduced the container size and enabled lightning-fast cold starts. I also had to securely inject the Firebase public keys via Cloud Build while keeping the Gemini secret safely isolated in Cloud Run's Secret Manager.

🎨 The UX Philosophy
I didn't want this to feel like a "government website." I wanted it to feel like a premium SaaS product.

I implemented a dark-mode glassmorphism aesthetic using Tailwind. On mobile devices, I completely overhauled the layout to hide bulky navigation bars behind a slick hamburger menu, ensuring the AI Chat takes 100% of the screen focus. It’s fully responsive and accessible via semantic HTML.

🔗 Try It Out!
I'd love for you to test it out and let me know what you think. Ask it to explain the US Election using a story about pizza toppings! 🍕

🌐 Live Demo: https://votewiseai-543702534688.asia-south1.run.app/
💻 GitHub Repo: AyushiBhadani/votewiseai

If you like the project, I’d be honored if you dropped a ⭐ on the GitHub repo!

Happy Voting! 🗳️✨