Skip to main content
Fluenta — cover

Izabrani projekti

Fluenta fluenta.club

AI aplikacija za učenje engleskog — jedan Go binarni fajl sa ugrađenim web UI-jem, lokalni Whisper i ocenjivanje kroz Claude Haiku. Uživo na fluenta.club.

  • Go
  • PostgreSQL 18
  • Whisper (local STT)
  • Claude Haiku
  • SM-2 SRS
  • Docker Swarm
  • Traefik
  • Hetzner

Problem

Većina aplikacija za jezik su teški SaaS stack-ovi koji prestanu da rade čim nestane mreža — ili pretplata. Hteo sam suprotno: ceo kurs A1→C1/C2 u jednom binarnom fajlu koji se pokreće offline, sa AI-jem kao opcionim poboljšanjem, a ne tvrdom zavisnošću.

Arhitektura

Fluenta se isporučuje kao jedan samostalan Go binarni fajl sa ugrađenim web UI-jem nad PostgreSQL 18. Bez PHP-a, bez Node runtime-a, bez zasebnog frontend servera — binarni fajl jeste aplikacija.

  • Offline jezgro (bez ključa): pun Roadmap katalog (6 nivoa, 60 jedinica), svi materijali (video, audio udžbenika/radne sveske, izgovor, testovi, PDF), interaktivne vežbe (upiši reč / izaberi opciju) i SM-2 kartice sa intervalnim ponavljanjem za reči i nepravilne glagole.
  • Govor: pregledač snima glas → lokalni Whisper transkribuje na uređaju → Claude Haiku ocenjuje odgovor sa ocenom, analizom i model odgovorom.
  • Pisanje: tekst na ulazu → Claude Haiku vraća ocenu gramatike/leksike i ispravljenu verziju.
  • Opcioni ključ: ANTHROPIC_API_KEY otključava AI ocenjivanje i auto-generisanje B1+/B2+/C1 vežbi iz teksta udžbenika. Bez njega sve ostalo radi.

Isporuka

GitLab CI/CD gradi image i push-uje ga u privatni registry; Docker Swarm iza Traefik-a na Hetzner-u ga pokreće, a docker stack deploy radi health-checked rolling update — prvi produkcijski deploy podigao se HTTP 200 sa živim landing-om na fluenta.club.

Highlights

  • Jedan binarni fajl + PostgreSQL — trivijalno se deployuje, trivijalno bekapuje.
  • Prepoznavanje govora na uređaju (Whisper) drži glas lokalno; u cloud ide samo transkript za ocenjivanje.
  • Offline-first: kurs je potpuno upotrebljiv bez troška na API; Claude je višnja, ne torta.

Lekcije

  • To što sam AI učinio opcionim nateralo me je da ispod napravim zaista koristan offline proizvod — a to je bolji proizvod.
  • Jedan Go binarni fajl je najpoštenija priča o deploy-u: ono što testiraš je tačno ono što ide u produkciju.