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.