Realizacja

Transparentność zaczyna się od danych demokracji.

Civic-tech platforma pokazująca, jak posłowie Sejmu X kadencji głosowali — z wyszukiwaniem semantycznym i powiązanymi drukami sejmowymi.

Kto Głosował

Czas trwania

2024 – teraz

Typ projektu

Platforma danych / Civic tech

Klient

Projekt własny

Rola

Architecture & Development Lead — Flutter, Next.js, Node/Python, data engineering

Kontekst projektu

Kto Głosował udostępnia dane głosowań Sejmu w formie czytelnej dla obywateli, mediów i badaczy. Backend synchronizuje API Sejmu, Flutter i Next.js serwują explorer głosowań, a Pinecone umożliwia zapytania naturalne („klimat”, „edukacja”) zamiast numerów druków.

Od numeru druku do tematu — obywatel powinien rozumieć głosowania bez sejmowego żargonu.

Wyzwania

Problemy, które trzeba było rozwiązać, zanim powstał produkt.

01

Integracja danych w czasie rzeczywistym

Stabilny sync z API Sejmu: cache, normalizacja i publikacja nowych głosowań bez luk w danych.

02

Wyszukiwanie semantyczne

Mapowanie zapytań naturalnych na głosowania, posłów i druki przez embeddingi w Pinecone.

03

Architektura cross-platform

Wspólny model danych dla Flutter (BLoC) i Next.js — deep linki, share URL i spójne widoki szczegółów.

04

SEO i odkrywalność

Automatyczne strony głosowań (np. /voting/35-4) z metadanymi OG, żeby dane były linkowalne dla mediów i Google.

Co zbudowaliśmy w tym projekcie

Dane sejmowe w formie czytelnej dla obywateli — mobile, web i search.

01

Lookup głosowań

Sprawdzanie głosowań posłów z rozbiciem na kluby i osoby, filtrami oraz wykresami. Widok szczegółu: podsumowanie, breakdown klubowy, indywidualne głosy i powiązane druki.

Kto Głosował UI
02

Powiązane dokumenty

Druki sejmowe powiązane z głosowaniami przez ekstrakcję wzorców — kontekst ustawy obok wyniku głosowania.

03

Backend i sync danych

Mikrousługi Node/Python synchronizujące API Sejmu — cache, normalizacja i publikacja nowych głosowań jako fundament pod web i mobile.

04

Wyszukiwanie semantyczne

Pinecone: zapytania naturalne (klimat, budżet edukacji, aborcja) mapowane na głosowania, posłów i druki. Eksploracja tematyczna zamiast numerów ustaw.

05

Flutter + Next.js

Aplikacja Flutter (BLoC, wykresy, deep linki, share) oraz web Next.js z auto-generowanymi stronami głosowań, Open Graph i hybrid SSR/SSG pod SEO.

Proces

Jak dochodziliśmy do rozwiązania — krok po kroku.

  1. 01

    Data pipeline

    Sync API Sejmu, model głosowań/posłów/druków, publikacja eventów dla klientów mobilnych i web.

  2. 02

    Product surfaces

    Explorer we Flutterze, SEO pages w Next.js, warstwa semantic search i UX szczegółów głosowania pod mobile-first.

Efekt

Platforma zwiększa transparentność głosowań Sejmu — dla obywateli, mediów i dalszych kadencji.

  • Natychmiastowy wgląd w głosowania posłów — większa odpowiedzialność
  • Strony gotowe jako stabilne źródło dla dziennikarzy i fact-checkingu
  • SEO zwiększa organiczny ruch z Google
  • Search tematyczny wspiera świadome uczestnictwo obywatelskie
  • Architektura skalowalna na kolejne kadencje Sejmu lub inne parlamenty

Masz pomysł na projekt? Porozmawiajmy.

Niezależnie od skali — pomożemy ustalić kierunek, zakres i technologię, które dają realny efekt.

Umów rozmowę

Technologie w tym projekcie

  • Flutter
  • BLoC
  • React
  • Next.js
  • Node.js
  • Python
  • Pinecone
  • Sejm API
  • Firebase Hosting
  • GitLab CI/CD