Skip to content
All work

Case study

Live Polls

Create a poll, share it, and watch the results come in, backed by a Spring Boot API.

Role
Full-stack: Flutter + Spring Boot
For
Personal project · open source
Platforms
iOS · Android · Spring Boot API
Year
2026
Live Polls screenshot
Live Polls main screen

Overview

A full-stack polling app. Users create polls with any number of options, vote, and see live vote counts and percentage bars. I built both halves: a Flutter client with clean architecture and a Spring Boot REST API that stores polls in MySQL.

Tech stack

Java 17Spring BootSpring Data JPAMySQLLombokFlutterBLoCDiofpdart

Links

What I built

  1. 01Built a Spring Boot REST API (Web MVC and Spring Data JPA) that stores polls and votes in MySQL through Hibernate.
  2. 02Wrapped every response in a consistent ApiResponse<T> envelope, with a global exception handler that returns clean errors for missing polls and invalid options.
  3. 03Built the Flutter client with BLoC for state, Dio for networking, and fpdart Either<Failure, T> for explicit error handling.
  4. 04Built dynamic poll creation with options that can be added or removed and validation of at least two options, plus Material 3 light and dark themes.

Architecture

Flutter

BLoC

Spring Boot

Java API

MySQL

Persistence

API surface

  • GET/api/polls
  • GET/api/polls/{id}
  • POST/api/polls
  • POST/api/polls/vote

Need something like this built?

I'm open to full-time roles and contract projects.

Get in touch