Hvad jeg lærte af at bygge EchoNote


Jeg startede EchoNote fordi jeg selv havde et problem. Det er den bedste grund til at bygge noget - og den eneste der holder, når motivationen forsvinder.
Men at have et problem og at have en løsning er to forskellige ting. Her er hvad jeg lærte undervejs.
Jeg lyttede til 5-10 podcasts om ugen. Genstart, tech-briefings, founder-interviews, AI-diskussioner. Fælles for dem alle: når jeg hørte noget brugbart, tog jeg manuelle noter.
Det fungerede dårligt. Jeg missede halvdelen af pointerne fordi jeg var optaget af at skrive. De noter jeg faktisk fik skrevet var fragmenterede. Og ingen af dem blev nogensinde fundet frem igen.
Jeg tænkte: det her må en AI kunne gøre bedre. Transskriber hele episoden, find de vigtigste pointer, og præsentér dem struktureret. Så jeg byggede en prototype.
Jeg byggede EchoNote på en stack jeg kendte godt - ikke fordi den var trendy, men fordi jeg kunne eksekvere hurtigt:
Next.js (App Router) til frontend og API-ruter. Jeg overvejede et separat backend-framework, men Next.js gjorde at jeg kunne bygge hele produktet i én kodebase. Det sparede mig for uger af boilerplate.
Supabase til database, auth og storage. PostgreSQL i bunden med Row Level Security betød at jeg ikke skulle tænke på database-sikkerhed fra dag ét. Storage-bucket til lydfiler og billeder var plug-and-play.
OpenAI Whisper til transskription. Jeg testede open-source alternativer (faster-whisper, WhisperX), men OpenAI's hosted version var bare hurtigere og mere præcis - især på dansk, hvor open-source modellerne ofte hallucinerede.
OpenAI GPT-4 til opsummering og kapitelinddeling. Det var den dyreste del af stacken, men også den der gav mest værdi. En god opsummering kræver at modellen forstår kontekst på tværs af en times samtale - og GPT-4 er stadig bedst til det.
Vercel til deployment. Simpelt, automatisk preview på PRs, og zero-downtime deployments. Det kostede mig 30 minutter at sætte op og har kørt upåklageligt siden.
Det her var den største overraskelse. Whisper er trænet på 90+ sprog, men kvaliteten på dansk varierer voldsomt afhængigt af lydkvaliteten. En podcast optaget i et studie med gode mikrofoner? Perfekt transskription. En samtale optaget over Zoom med dårlig internetforbindelse? Whisper hallucinerer ord og sætninger.
Jeg endte med at bygge et kvalitets-tjek lag: hvis confidence-scoren på transskriptionen er under en vis threshold, bliver brugeren advaret om at kvaliteten kan være lav. Det har sparet mig for utallige support-henvendelser.
Min første prototype var fuldautomatisk: upload en episode, få en opsummering, færdig. Brugerne hadede det.
De ville kunne redigere opsummeringen. Tilføje deres egne noter. Ændre kapiteloverskrifter. Markere citater som favoritter. Jeg havde bygget et værktøj der tog kontrol fra dem - og de ville have den tilbage.
Version 2 introducerede en interaktiv editor. AI'en laver første udkast, men brugeren kan justere alt. Det ændrede fuldstændig hvordan folk brugte produktet. Fra "jeg får en opsummering" til "jeg bygger min egen viden-base fra podcasts".
Jeg brugte uger på at tænke over prissætning. Per episode? Per måned? Freemium med limits? Alle modeller havde tradeoffs.
Jeg endte med en simpel model: gratis op til 3 episoder om måneden, derefter et fast månedligt beløb for ubegrænset. Ikke fordi det er perfekt - men fordi det var simpelt nok til at jeg kunne komme videre og fokusere på produktet. Prissætning kan altid justeres. Produktet skal virke først.
Jeg brugte de første to uger på at bygge en avanceret kapitelinddeling der automatisk detekterede emneskift i samtalen. Resultatet var teknisk imponerende. Brugerne var ligeglade.
De ville have tre ting: hurtig transskription, præcis opsummering, og mulighed for at søge i gamle episoder. Alt andet var støj. Det lærte mig at bygge det brugerne faktisk beder om - ikke det jeg synes er fedt at bygge.
Hvis jeg startede forfra i dag, ville jeg:
Lancere tidligere. Min prototype var klar efter tre uger. Jeg ventede to måneder med at vise den til nogen fordi jeg ville "gøre den perfekt." De to måneder gav mig præcis nul brugbar feedback.
Tale med brugere før jeg byggede. Jeg antog at mit problem var universelt - at alle der lyttede til podcasts havde samme frustration med notetagning. Det viste sig at være rigtigt for en niche, men ikke for alle. Havde jeg talt med 20 podcast-lyttere før jeg skrev en linje kode, havde jeg bygget et mere fokuseret produkt fra dag ét.
Ignorere tech-trends. Jeg brugte en uge på at evaluere om jeg skulle bruge vector databases, RAG, eller fine-tuning til opsummeringerne. Svaret var: ingen af delene. En simpel prompt til GPT-4 med hele transskriptionen i context var bedre end alle de fancy løsninger. Bare fordi noget er nyt, er det ikke nødvendigvis bedre.
Lige nu arbejder jeg på at gøre EchoNote til mere end transskription. Målet er en videns-platform: du lytter til podcasts, EchoNote bygger din personlige vidensbase, og du kan søge på tværs af alt du har hørt. "Hvad har jeg hørt om AI-regulering de sidste 6 måneder?" - det spørgsmål skal EchoNote kunne besvare.
Det er tidligt. Der er fejl. Men det virker - og det løser et ægte problem for mig selv og de brugere der har givet feedback. Det er nok til at blive ved.
Prøv EchoNote - upload din første podcast og se hvad AI'en finder.