Ingenjör som tänker djupt, agerar snabbt och springer långt
Jag heter Erik Bergman, bor i Lund och är civilingenjör i bioteknik. På den här sajten samlar jag mina erfarenheter, skapelser och tankar.

Välj en sida
Här finns mitt CV och några sidor om språk, löpning, texter och hobbyprojekt.
Jag
Om min bakgrund och vad jag arbetar med.
CV
Yrkeserfarenhet, kompetens och utbildning.
Kreativt
Texter, musik, scen och mindre projekt.
Intressen
Löpning, kartor, historia och äldre teknik.
Språk
Språk jag använder, studerar och bygger verktyg för.
Kontakt
E-post och ämnen jag gärna diskuterar.
Några av mina GitHub-projekt
Här är ett urval av mina personliga programmeringsprojekt. Klicka på ett projekt för att läsa om problemet och lösningen. Fler projekt finns under Intressen eller Språk.
01 · GitHubVilka svenska tätorter är backigast?Problem & lösning
Under en lunchrast påstod någon att Lund var ”Sveriges backigaste stad”. Detta tyckte jag lät som en möjlighet men ville ha ett sätt att bevisa det.
Jag samlade in rasterdata från Lantmäteriet samt koordinater för tätorternas yttre gränser, och skapade ett poängsystem som förhåller hur mycket backar en stad har till hur stor den är. Svaret blev att bland städer med fler än 50 000 invånare är det Jönköping som tar hem priset som Sveriges backigaste stad.
02 · GitHubYouTube Translation PlaybackProblem & lösning
Jag ville få ut mer av den tid jag la på att lyssna på Youtube och undrade om jag kunde kombinera det med min språkinlärning.
Nu för tiden har många videor på Youtube finessen att videor kan dubbas med syntetiska röster. Jag skapade ett Firefoxtillägg som i Youtubevideor hoppar fram och tillbaka mellan två valda språk, så att jag kunde lyssna på varje replik först på engelska och sedan på polska. Jag har använt appen många timmar.
03 · GitHubBildspel från Magiska MålarlådanProblem & lösning
Jag fick av min farmor en gammal iMac G3 (en sån där blå bubbla) innehållande en rad bildspel som jag och mina kusiner skapade i datorspelet Disneys Magiska Målarlåda från 1996. Jag funderade på om det fanns ett sätt att lätt arkivera dessa gamla bildspel.
Jag kartlade det odokumenterade binärformatet och byggde en deterministisk konverterare som läser bildordning, visningstid, övergångar och musikval direkt ur originalfilerna. Programmet återskapar de lagrade bilderna, hämtar ljudet ur spelets arkiv och exporterar varje bildspel som en modern MP4-fil med H.264-video och AAC-ljud. På så sätt kan 81 gamla bildspel arkiveras och spelas upp på vanliga enheter.
04 · GitHubPolish Vocabulary ExtractorProblem & lösning
Jag behövde ett sätt att öva upp mitt ämnesspecifika ordförråd i polska för att bättre förstå särskilda texter.
Jag skapade ett program som indexerar alla ord i en text, omvandlar dem till grundformen (t ex skulle svenska ”dagar” bli ”dag” och ”springer” bli ”springa”) och räknar sedan ut hur vanligt varje enskilt ord i denna text är i förhållande till genomsnittstexten.
05 · GitHubJobbmatchning med språkmodellProblem & lösning
Jag var inte nöjd med Linkedins inbyggda tjänst för att notifiera mig om jobbannonser.
Jag skapade ett program som samlade in Linkedin-annonser. Därefter gjordes en sållning i tre lager:
1) Ett simpelt regexmönster som inkluderade och exkluderade annonser enligt en whitelist och en blacklist.
2) En grovsorterande LLM-agent via OpenAI:s API.
3) En finsorterande LLM-agent, också via OpenAI:s API.
De resulterande annonserna skickas via Github Actions och Telegramtjänsten Botfather till min telefon. Nu får jag två gånger om dagen en notifikation om hur många linkedinannonser som passar mig, varje med en LLM-genererad motivering.
06 · GitHubLanguage Identification QuizProblem & lösning
Jag var på jakt efter ett sätt att öva min förmåga att skilja språk ifrån varann bara genom att lyssna på dem, men inget jag hittade online uppfyllde mina krav.
Jag skapade ett webbaserat lyssningsquiz i SvelteKit med talprov från FLEURS. Ljudklippen kvalitetssäkras, nivåutjämnas och cachelagras innan de spelas upp. Efter varje svar får användaren direkt återkoppling, medan försök och rapporter om dåliga klipp sparas i SQLite. Appen visar både total träffsäkerhet och resultat per språk och har en reproducerbar pipeline för att välja talare och bygga ut språkbanken.
07 · GitHubHur stor andel av alla människor är döda?Problem & lösning
Det slog mig att vi som lever runt år 2026 är precis i slutet av mänsklighetens första befolkningsexplosion, vilket borde betyda att förhållandevis få människor är döda jämfört med hur många som lever. Men hur ska man bevisa eller motbevisa detta?
Jag samlade in olika uppskattningar av människans befolkningshistoria och konstruerade sedan olika framtidsscenarion. Exempelvis ytterligare en befolkningsexplosion, gradvis avtrappning eller en global naturkatastrof. Alla dessa passade jag till matematiska funktioner och lät sedan jämföra integralen av antalet människor som har levt med antalet som lever ett visst årtal, och lät visualisera dem i en simpel webbapp.
08 · GitHubOrden som försvannProblem & lösning
Vid nyutgåvan av Svenska Akademiens Ordlista (SAOL) 2026 var jag nyfiken på vilka ord som hade tagits bort ur ordlistan sedan förra utgåvan.
Jag laddade ner data från alla utgåvor av SAOL och skapade ett program som letade upp vilka ord som hade tagits bort för var och en. Därefter jämförde jag dessa ord i pythonpaketet `wordfreq` för att se vilka av orden som försvann trots att de var i bruk.
Min sajt finns på ett språk!
Undersidorna finns än så länge på svenska. Engelska versioner läggs till senare.
Backend developer with a background in biotechnology.
My name is Erik Bergman, and I primarily work with backend development in Python. This is where I collect my CV, language projects, running, writing, and other things I have built.

Choose a page
Explore my CV and pages about languages, running, writing, and personal projects.
About
My background and the work I do.
CV
Professional experience, skills, and education.
Creative
Writing, music, stage work, and smaller projects.
Interests
Running, maps, history, and older technology.
Languages
Languages I use, study, and build tools for.
Contact
Email and subjects I am always happy to discuss.
A selection from GitHub
Here is a selection of my personal programming projects. Click a project to read about the problem and solution. More projects are listed under Interests or Languages.
01 · GitHubWhich Swedish towns are the hilliest?Problem & solution
A claim that Lund was Sweden’s hilliest city needed a measurable comparison.
Combine elevation data and urban boundaries, then compare a hilliness score across Swedish towns.
02 · GitHubYouTube Translation PlaybackProblem & solution
I wanted to combine time spent listening to YouTube with language learning.
A Firefox extension plays each subtitled segment in two selected audio languages.
03 · GitHubMagic Artist SlideshowsProblem & solution
Old family slideshows were stored in an undocumented format from Disney’s Magic Artist.
Decode the original images, transitions and music, and export the slideshows as modern MP4 videos.
04 · GitHubPolish Vocabulary ExtractorProblem & solution
I needed to practise Polish vocabulary specific to the texts I wanted to read.
Extract words, reduce them to their dictionary forms and rank their frequency against general language use.
05 · GitHubJob matching with a language modelProblem & solution
LinkedIn’s job alerts did not match what I was looking for.
Collect public job listings and filter them locally, then use language models to assess the most promising matches.
06 · GitHubLanguage Identification QuizProblem & solution
I could not find a listening quiz that met my requirements for distinguishing languages.
Build a quiz with checked, volume-normalised speech samples, immediate feedback and results by language.
07 · GitHubWhat percentage of all humans are dead?Problem & solution
Has the recent population boom changed the proportion of all humans who are dead?
Compare estimates of population history and future scenarios in an interactive simulation.
08 · GitHubThe words that disappearedProblem & solution
I wanted to know which words disappeared between editions of the Swedish Academy’s word list.
Compare editions and check removed words against frequency data to see which were still in use.
The translation is growing.
The linked subpages are currently available in Swedish. English versions will be added later.