Lovspeilet.no viser deg hva politikerne gjør, med usynlig AI
– AI har et enormt potensial som usynlig infrastruktur, skriver Sigve Røkenes.
De norske partiene er enige om det viktigste: Norge skal ha et godt helse og pensjonstilbud, et sterkt næringsliv, og god økonomi for alle.
Flott, tenker du – for du ønsker selvfølgelig også at landet vårt skal bli bedre. Men hva innebærer dette i praksis?
Utover et par tydelige kampsaker som dukker opp rundt stortingsvalg (som formueskatten), kan det oppleves vanskelig å filtrere ut konkrete tiltak fra en kjøttkakesaus av politikersvar og endeløs diskusjon om hvor bra akkurat deres parti vil gjøre Norge.
I kombinasjon med sosiale medier som konkurrerer iherdig om vår oppmerksomhet, står vi i fare for ende med skjegget i en parallell demokratisk postkasse. En postkasse fylt med dagens dopaminhit istedet for innsikt i trege demokratiske prosesser med store ringvirkninger på livene våre.
Her kan AI spille en rolle dersom vi bruker det riktig.
Lovspeilet.no
Hver enkelt sak på stortinget genererer titalls sider med tungleste byråkratiske dokumenter, og vi er sjanseløse i vårt søk etter tydelige svar.
Nettopp derfor bygde jeg Lovspeilet.no.
Ved hjelp av AI oppsummerer nettsiden tungleste dokumenter og sammensatte saker for å gjøre informasjonen mer tilgjengelig.
Slik blir det lettere å få den innsikten vi trenger for å ta gode avgjørelser.
Ingen chat
Dagens mest populære AI-løsninger er i stor grad basert på "chat"-modellen, men dette er langt fra den eneste løsningen.
Jeg mener AI har et enormt potensiale som usynlig infrastruktur.
Enorme mengder ustrukturert data pumpes inn i diverse datasentre hver dag. Ved å integrere modeller i dataflyter vi allerede er kjent med åpnes nye og spennende muligheter som ikke eksisterte tidligere.
Lovspeilet.no er et eksempel på en slik tilnærming. Du finner ingen chat-funksjon her, og siden fungerer sånnsett likt en PHP-side du kunne brukt for 20 år siden.
Som bruker utforsker du representantsider, partisider og saker. Samtidig jobber AI i kulissene.
Slik kan Lovspeilet gjøre ustrukturert politisk informasjon like tilgjengelig som en hvilken som helst nettside.
Rust og OpenAI-API-er
Lovspeilet.no består av en backend og frontend skrevet i henholdsvis Rust og TypeScript.
Backenden bruker axum, tower og sqlx. Typesystemet i Rust er fantastisk å jobbe med, og gjør det enkelt å sikre korrekt data i overganger mellom backend, database og API-er.
Jeg bruker ren SQL i stedet for en ORM. Dette lar meg fokusere på god datamodellering i postgres uten å ta hensyn til begrensninger utenfor, selv om det kan bli noe mer boilerplate i backend-koden. SQL-kunnskap er i tillegg mer overførbart mellom forskjellige stacks!
Kjernen i backenden er en rekke bakgrunnsjobber som videreforedler data:
- Innhenting av saker, representanter og annen relevant data fra stortinget.
- Analysering og oppsummering av saker, dokumenter og representanter ved hjelp av OpenAI-API-er. Her benyttes en kombinasjon av gpt-5, gpt-5-mini og gpt-5-nano til forskjellige formål. Nano-modellene er for eksempel tilstrekkelig for å forenkle en tittel, samtidig som den fullstendige gpt-5 modellen er mer passende for å trekke ut kjerneinformasjon fra lange dokumenter.
- Aggregering og indeksering for statistikk og søkefunksjoner.
Lovspeilet.no er laget for å gjøre politikk enklere å forstå, ikke for å fortelle deg hva du skal mene.
DaisyUI og DigitalOcean
Frontenden bruker TypeScript, Vite, React, DaisyUI og Tanstack Query.
Dette er mitt første prosjekt med DaisyUI, men opplevelsen så langt er veldig positiv. Det var veldig enkelt å få opp en pen og moderne UI, og dark-mode krevde omtrent ingen ekstra arbeid fra min side (utover litt krangling med Tailwind-konfigurasjonen).
Siden er deployet på skytjenesten DigitalOcean. For deg som er smålig lei av AWS, GCP eller Azure kan jeg anbefale DigitalOcean som et brukervennlig, billig og enkelt alternativ for de fleste mindre prosjekter.
På VM-en kjører jeg også et par andre teknologier jeg kan anbefale:
- Caddy: reverse proxy med out-of-the-box https
- Docker compose: styring av docker-containere
- Fail2ban og UFW: brannmur og serverbeskyttelse
- PgWeb: admin-gui for postgres
Ta en titt!
Lovspeilet.no er laget for å gjøre politikk enklere å forstå, ikke for å fortelle deg hva du skal mene.
Ta en titt!
Kanskje du oppdager forslag fra partiet du stemte på som du er dypt uenig i?
Eller kanskje du finner enighet i et parti du aldri har gitt oppmerksomhet tidligere?