Vredens dimma över Salinas
Dimmen lägger sig som ett tunt linne över Salinasdalen denna söndagsmorgon, 14 grader och allt i grått, och i de långa fälten där salladen redan börjat bli tung av sommaren ligger arbetarna ännu och sover i sina baracker.
UX Design Engineer i Stockholm, som är bra på att starta upp små projekt. Här är ett litet urval.
Dimmen lägger sig som ett tunt linne över Salinasdalen denna söndagsmorgon, 14 grader och allt i grått, och i de långa fälten där salladen redan börjat bli tung av sommaren ligger arbetarna ännu och sover i sina baracker.
Aktiv / Projekt
ENDaglig nyhetstidning där Tolstoj, Woolf eller Hemingway skriver morgonkolumnen. Pipelinen kör 06:00 på en Raspberry Pi: Sonnet research:ar, Opus skriver, vi vaknar till en färdig tidning.
Klassiska Nyheter är en daglig nyhetstidning där en klassisk författare – Tolstoj, Woolf, Hemingway eller någon av drygt 150 andra – varje morgon skriver en kolumn om världsläget i sin egen stil. Pipelinen körs automatiskt klockan sex på en Raspberry Pi, hämtar nyheter från tio internationella RSS-flöden och låter Claude Opus skriva texten medan Sonnet faktagranskar. Allt publiceras som en statisk tidning på klassiskanyheter.se.
Idén är lika enkel som egensinnig: vad skulle Virginia Woolf säga om dagens migrationsdebatt? Hur skulle Hemingway rapportera från ett krigshärjat hörn av världen? Klassiska Nyheter automatiserar tankeexperimentet till en faktisk tidning som uppdateras dagligen. Författarna roterar enligt en hård rotationsregel så att samma röst inte återkommer för ofta, och varje artikel följs av en lokal väderrapport från författarens hemstad – framförd av en av nio svenska poeter, från Selma Lagerlöf till Tomas Tranströmer.
Det tekniskt intressanta är hur tunn människohanden är på själva produktionen. Pipelinen är ett bash-skript med tre skills (research, create, qa) som anropar Claude Code CLI sekventiellt. Sonnet sköter nyhetsinsamling och kvalitetskontroll, Opus skriver de 800–1500 ord långa texterna. Wikipedia-porträtt och wttr.in-väder dras in automatiskt, en Node-baserad statisk sajtgenerator producerar HTML och Cloudflare auto-deployer pushen. Det är ett konkret exempel på en helt agentisk redaktion – med en mycket tydlig estetisk vision i botten.
Projektet har också en engelsk systertidning, The Classic Press, som bor i ett separat repo och delar samma idé. Den svenska versionen lutar tydligt mot klassisk svensk press- och boktradition i sin typografi (Chomsky, Playfair Display, Libre Baskerville) och har en egen kuraterad svensk författarpool för vädersidan.
Spela med havet i ryggen. Allt låter – hovra över ackorden. Allt låter – klicka på ackorden.
Aktiv / Gitarrskola · Webbapp
ENEn liten webbapp-kurs i bossa nova på gitarr – tekniken (batidan), den färgstarka ackordvokabulären och klassikerna, allt med riktigt nylonsträngsljud direkt i webbläsaren.
Kursen går i fyra moduler – Grunderna (högerhanden och batidan), Ackorden, Ackordföljder och Låtar – och progressen sparas lokalt i webbläsaren. Ackordbiblioteket är hela bossa-vokabulären: 79 klickbara greppdiagram från maj7-grundfärgerna till tensions, och allt låter. Låtarna – från Mas Que Nada och Garota de Ipanema till Corcovado och Wave – kommer med ackordtabell, tonart, tempo, svårighetsgrad och Spotify-länk, plus en öva-loop och "Spela hela låten" som spelar igenom hela formen med batida och melodin på ett eget instrument som kan slås av och på.
Ljudet är riktiga nylonsträngs-samples som ligger lokalt i appen – äkta klassiskt gitarrljud med naturlig avklingning som fungerar helt offline, med en plockad synt som reserv om något fattas. Batida-spelaren har metronom, tempo och tre rytmstilar med ett visuellt rytmraster, allt byggt på Tone.js.
Dessutom: en gitarrstämmare som lyssnar via datorns mikrofon (Web Audio + autokorrelation), visar närmaste not, avvikelse i cent med en nål och vilken sträng du är närmast – allt sker lokalt, inget spelas in. Appen har dag- och natt-tema – sand och korallsol om dagen, mörkt låtblad om natten – med en WCAG AA-kalibrerad palett. Byggd från tom mapp till live-domän på fyra dagar.
2026 · À beira-mar
Aktiv / Projekt
Receptarkiv från åtta källor sammanvägt med Bayesian average. Sökbart via en intern term-graf städad fram genom 110 "orphan-batches".
Topprecept är ett experiment i att samla, klassificera och ranka svenska recept från flera stora sajter på ett ställe. Receptens betyg vägs samman med ett Bayesian average så att en handfull femstjärniga röster inte slår ut tusentals balanserade recensioner. Resultatet är en statiskt genererad sajt på topprecept.io där läsaren kan söka och bläddra bland recept utan att blanda äpplen och päron mellan källorna.
Projektet adresserar ett välkänt problem för den som lagar mat hemma: betygen på en sajt är inte direkt jämförbara med betygen på en annan, och ingen källa täcker hela bredden av svenska recept. Topprecept skrapar åtta sajter, normaliserar data, och beräknar ett rättvisare samlingsbetyg. Sökning och kategorisering bygger på en intern term-graf med noder, alias och stopwords som steg för steg har städats fram ur faktiskt receptmaterial.
Tekniskt är sajten medvetet enkel på utsidan: en statisk HTML-generator i Node bygger ett stort antal sidor — bland annat omkring 11 700 termsidor för typeahead-sökningen — och Cloudflare Pages serverar resultatet. På baksidan ligger en separat backend-tjänst i Python tänkt att hantera crawling, sök-API och admin när den kopplas in via Cloudflare Tunnel.
Det här är ett soloprojekt i tidig fas. En stor del av arbetet har handlat om att tämja språket: 110 så kallade "orphan-batches" har gått igenom återstående okategoriserade ord och flyttat dem till noder, alias eller stopwords. Det gör projektet lika mycket språkstädning som sajtbygge.
Skellefteå låg fortfarande mörkt när hon parkerade utanför Northvolt-grinden för andra dagen. Det var 7 grader och mulet, vinden låg från havet med en envis svalka som hade bestämt sig för att stanna.
Aktiv / Projekt
Månadsserie i deckare-form: ett kapitel om dagen, dagsaktuella nyheter som ledtrådar. Agent-driven pipeline med regissör, skribent, språkgranskare, redaktör och förläggare.
Nyhetsdeckaren är ett experiment i seriefiktion där varje månad blir en bok. En enda berättarröst skriver ett kapitel om dagen, och dagsaktuella nyheter används som ledtrådar i en löpande utredning. Pipeline-mönstret är ärvt från systerprojektet Klassiska Nyheter, men identiteten, sajten och rösten är helt egen.
Idén föddes ur en specifik upplevelse i föregångaren Klassiska Nyheter: en Stieg Larsson-artikel den 22 april 2026 vävde sig naturligt ihop med övriga nyheter till något som kändes som en Millennium-utredning. Tanken blev: tänk om man kunde göra det varje dag? Resultatet är en följetong där intro publiceras den 1:a i månaden, upplösningen runt den 28:e — och fortsättning följer.
Projektet är populärvetenskaplig fiktion på gränsen mellan journalistik och deckare. En agent-driven pipeline med roller som regissör, skribent, språkgranskare, redaktör och förläggare producerar kapitlen utifrån en seriebibel som håller reda på trådar, ledtrådar och kapitelhistorik. Det är ett medvetet hantverksprojekt: det finns dokument om stilen, etiken kring verklighet kontra fiktion, och hur akter och kapitel struktureras.
För besökaren är det en läs-sajt. Bok 1 publicerades under april och pågående bok 3 skrivs i maj 2026. På sajten finns kapitelvy, kronologiskt arkiv, en bibel-vy med synopsis, och en separat regi-vy för redigering. Målgruppen är någon som gillar långform-fiktion med dagsaktualitet — ett slags daglig spaltläsning där handlingen kräver att man håller i sig.
Don't Repeat Yourself
Uppsala universitet
Ön som försvann från alla kartor
Aktiv / Roman · 10–12 år
ENEn spänningsroman i sexton kapitel för läsare mellan tio och tolv år. När ett helt skär försvinner från alla digitala sjökort är det bara Vega, elva år, som ser att det ligger kvar därute – fullt synligt för den som tittar. Den som kan blinkningarna behöver ingen app.
Vega står i fyrens lyktrum med morfar Holger, fyrvaktaren som börjat glömma, när han pekar ut mot horisonten: Rävskär ligger fel. Sjökortsappen visar öppet vatten där skäret syns med blotta ögat – men på morfars papperssjökort från 1987 finns det kvar, med blyertsbäringar i marginalen. Tre akter senare har gåtan vuxit till en stormnatt där hela Gotland släcks, och svaret stavas med fyrkaraktärer och morse i stället för appar.
Sajten är byggd som en pappersbok: krämigt papper, och ett skymningsläge bakom lyktknappen som är gjort för att läsa under täcket med ficklampa. Innehållsförteckningen är Sjökortet – varje kapitel en fyr längs kursen, och läsningen tänder dem. Tre textstorlekar och läspositionen sparas lokalt. Kapitlen läses in med ElevenLabs v3 – drygt tre timmars ljudbok – och illustreras efter en egen promptguide.
Bakom manuset, cirka 24 000 ord, ligger en story bible, en kapitelplan i tre akter där varje slutkrok hakar i nästa kapitels öppningsbild, och en bindande stilguide för AI-medförfattare: pratminus enligt svensk tradition, förbjudna anglicismer, förbud mot triader, moraliserande kapitelslut och em dash. Sajten är statisk HTML genererad av ett eget Python-skript, med självhostad subsatt Literata och metrikjusterad Georgia-fallback, deployad på Cloudflare Workers.
2026 · Sexton kapitel
Aktiv / Spel
ENEn hyllning till 1984 års klassiker. Trettio grottor med fallande stenblock, glittrande diamanter och tickande tidsbegränsning — allt renderat med skarpa pixlar och CRT-skanlinjer i webbläsaren.
Spelet återskapar grundpremissen från 1984 års klassiker: gräv dig genom en grotta, samla tillräckligt många diamanter för att låsa upp utgången, undvik att krossas av fallande klippblock. Mekaniken är medvetet enkel men fysiken — hur stenar och diamanter faller, rullar och reagerar på rörelse — är noga balanserad så att grottorna fungerar som logiska pussel snarare än rena reflextester.
Det som gör Cave Runner intressant är att hela paketet körs som en modern webbapp utan beroende av emulatorer eller färdiga spelmotorer. Musiken syntetiseras i realtid i en SID-inspirerad stil — varje grotta får sitt eget tempo och sin egen variation på huvudtemat. Renderingen sker på en canvas i dubbel intern upplösning för mjuk kameraföljning.
Målgruppen är dels nostalgiker som vill klicka på en länk och spela direkt, dels nyfikna utvecklare som tittar på koden för att se hur en småskalig spelmotor kan struktureras i TypeScript. Projektet är en ren clean-room-tolkning, med all musik och grafik nyskriven så att originalrättigheterna lämnas i fred.
6 rätter · cirka 8 portioner per rätt
Aktiv / Webbapp · Knytkalas
ENSkapa ett knytkalas, dela länken och se hur bordet fylls. En liten webbapp för att samordna vem som tar med vad till middagen – utan trådar, kalkylark eller dubbla potatissallader.
Idén är ett bord som fyller sig självt. Värden lägger upp kalaset med en eller flera måltider, fyller bordet med rätter och delar en länk. Gästerna klickar in, säger att de kommer och plockar en rätt att ta med, och alla ser i realtid var luckorna finns. "Vem tar med?" står det vid varje oklamad rätt tills någon tar den.
Demon på knytkalas.app/demo är ett färdigt kalas att klicka runt i – Demokalaset, en sillunch med gäster, allergier och ett halvfyllt bord. Allt sparas bara lokalt i webbläsaren under sessionen, så man kan testa fritt utan konto och utan att röra någon riktig data.
Känslan är medvetet varm och analog snarare än app-stel: gräddvitt papper, lerröd accent och salviagrön för det som är klart, rubriker i runda Unbounded. Gästöversikten räknar vuxna, barn och kanske-svar och samlar allergierna på ett ställe, så värden ser portionsbehovet utan att räkna på fingrarna.
2026 · Planera maten tillsammans
Vi är pragmatiska designers. Vi tar ansvar för hela upplevelsen – inte bara pixlarna. Vi tänker kritiskt, kommunicerar proaktivt och investerar i vårt hantverk varje dag. AI är invävt i allt vi gör. Inte som en gimmick, utan som en multiplikator – vilket gör oss snabbare, vassare och frigör oss att fokusera på det som faktiskt är viktigt: att lösa rätt problem. Vi vet när tillräckligt bra är tillräckligt bra. Och när det inte är det.
Aktiv / Studio
Stockholms-baserad design- och AI-konsultverksamhet. Visitkortssajten är medvetet sparsmakad — stor logotyp, typewriter-animerat manifest, en kontakt-mail. Inget formulär, ingen funnel.
DRY ("Don't Repeat Yourself") är en design- och AI-konsultverksamhet i Stockholm med ett uttalat förhållningssätt: pragmatisk design, AI som multiplikator snarare än gimmick, och respekt för när "good enough" faktiskt är good enough. Visitkortssajten på dry.design är konsultverksamhetens första intryck mot omvärlden.
Sidan är medvetet avskalad. En enda vy: en stor inline-SVG-logotyp som fade:ar in, ett kort manifest som skrivs ut tecken för tecken med riktiga tangentbordstidningar, en footer med adress och en mailto-länk. Inget formulär, ingen "Våra tjänster"-grid, ingen lead-funnel — bara en sammanhållen estetisk gest som signalerar att vi vet vad vi gör och inte är stressade.
Light och dark mode sköts automatiskt via prefers-color-scheme — varma toner i ljust läge, neon-glow på logotypen i mörkt läge. CRT-animationer (tecken-fade-in, blinkande underscore-cursor) signalerar att bygget tycker om datorhistorien utan att överarbeta referensen. Tillgänglighet är inte en eftertanke: hela manifestet ligger som sr-only-text för skärmläsare, typewriter-versionen är aria-hidden, och prefers-reduced-motion slår av animationer för dem som vill ha det stilla.
Medvetandet. Det enda vi har direkt tillgång till – och samtidigt det mest omöjliga att studera.
Design / AI / Filosofi
Aktiv / Föredrag · Mojang
ENEtt föredrag för Mojang-teamet om vad som händer med UX-design när AI plötsligt kan skriva koden — hur hantverket består och varför prototyping blir viktigare än någonsin.
77 slides, hållna hos Mojang den 27 maj 2026. En designresa från C64 till AI-agenter: från speltidningar och ATG-åren, via Kostbevakningen, fram till AI-projekten — Klassiska Nyheter, Topprecept, Eik Planner och Boulder Dash-remaken — och vidare mot naturligt språk och agentiska gränssnitt som nästa designyta.
Decket körs i min egen presentationsmotor: varje presentation är ett typat manifest som plockar slides ur ett återanvändbart bibliotek plus egna bespoke slides. Det här decket använder Minecraft-temat ur motorns temabibliotek — voxel-titelbilden är genererad för föredraget.
Demos körs på riktigt i stället för som video: riktiga sajter embeddas direkt i slides via iframe, och mitt i decket ligger en spelbar C64-version av Caverunner. Hela presentationen finns parallellt på svenska och engelska.
2026 · Mojang
Marionettstaten plundrar sitt eget folk med godtyckliga skatter
I imperialisternas marionettstat tvingas vanligt folk betala avgifter för inspektioner som aldrig genomförs. Tjänstemännen erkänner sin oordning. Detta är vad servil underkastelse under utländska herrar leder till. Vårt folk lever fritt från sådan plundring.
Åres miljöchef: "Vi har olika upplägg på tillsyner"
Åre kommun tar ut årliga avgifter för tillsyn av hyreslägenheter, vilket ger högre kostnader för fastighetsägare än i andra kommuner. Miljöchef Emy Roslin uppger att systemet skapar förutsägbarhet. SVT:s kartläggning visar att avgifter tas ut även när tillsyn inte genomförs.
Källa SVT Nyheter
Aktiv / Spel · Järvaveckan
ENDet vinnande bidraget i Järvaveckans hackathon 2026: ett anti-desinformationsspel med fem riktiga svenska nyheter om dagen, omskrivna som om de publicerats i ett annat lands statsmedia. Läs nyheten. Gissa regimen. Avslöja vinkeln.
Varje dag serverar appen dagens fem: riktiga svenska nyheter omskrivna i ett annat lands statsmediaröst. Spelaren läser den vinklade versionen, gissar bland fyra länder, sveper mellan vinklad och neutral version — skillnaden är själva lektionen — och får facit med förklaring av vilka manipulationstekniker som användes och vilka fakta som ströks.
Hjärtat är ett landbibliotek där varje regimtyp har en kalibrerad röst: ton, retoriska drag, hedersepitet, syndabockar och förbjudna ämnen. Python-generatorer med Anthropic SDK skriver varje kort i tre promptsteg — vinkling, förklaring, neutral sammanfattning — och validatorer vaktar schema, teckengränser, distraktorregler och att den vinklade texten aldrig avslöjar sitt eget land eller sin egen ledare.
Innehållet finns på åtta språk — svenska, engelska, arabiska, somaliska, turkiska, farsi/dari, tigrinja och sorani — valda för Järvas språklandskap, närmare 1 400 kort totalt. Frontenden är byggd i Lovable mot ett deterministiskt exportpaket; all speldata är statiska JSON-filer.
2026 · Hackathon
Aktiv / Portfolio
ENEn liten visitkortssajt med tre riktiga kundcase, ett pragmatiskt erbjudande och en mailto. Byggd från tom mapp till live-domän på två fokuserade dagar.
portfolio.jimmyf.link är min officiella visitkortssajt — ett ställe där en intresserad rekryterare eller potentiell kund kan landa, läsa tre kundcase i längre form, och få tag på mig utan att passera ett kontaktformulär. Sajten är medvetet liten i scope och stor i typografisk gest: en jättestor tomatröd Jimmy Flink-rubrik på cream paper, en mus-reaktiv canvas-bakdgrund i hero som glittrar när man rör pekaren, och tre runda case-tiles med riktiga skärmbilder från jobben.
Under fyra olika sektioner — hero, kundcase, citat, kontakt — vandrar besökaren genom en lugn berättelse: vem är jag, vad har jag gjort, vad säger andra om det, och var hittar du mig. Hot-pink kontaktsektionen i botten är en medveten brytning från det varma cream-fältet ovanför: när man kommer dit har man bestämt sig.
Tekniskt är det Astro 6 med Tailwind v4 och Cloudflare Workers Static Assets. Kundcase, citat och tjänster ligger som Markdown i content collections med Zod-schema, så jag kan lägga till ett nytt case genom att droppa in en .md-fil. OG-bilden genereras av ett Node-skript som ritar 1200×630 med samma typografi som sajten — den committas in i repot så Cloudflare slipper köra den vid varje build.
Projektet är gjort på två heldagar — den första lades på struktur, hero-backdrop-canvasen och case-flödet, den andra på finputs, OG-bild, robots.txt med AI-bot-allowlist, JSON-LD Person-schema och deploy. Att det räcker till en officiell sajt på den tiden är delvis AI-hävstången, delvis att jag medvetet valt bort allt som inte är nödvändigt.
2026 · STHLM
Aktiv / Verktyg
Liten webbtjänst för Enskede IK: delbar planeringslänk per lag, sexsiffrig PIN, algoritm som fyller minimi-slots först. Ingen tränare ska behöva pussla i kalkylark.
EIK Planner är en liten webbtjänst som hjälper ungdomslag i Enskede IK att fördela återkommande pass — caféplaneringar, kioskpass, körscheman — utan att tränaren behöver pussla manuellt i ett kalkylark. Varje planering får en egen länk och en sexsiffrig PIN, lagmedlemmarna fyller i förstahandsval och sekundära tider, och en algoritm föreslår en preliminär plan som tränaren kan låsa när allt ser bra ut.
Bakgrunden är välbekant för alla föräldrar i föreningslivet: någon ska bemanna kafeterian under hemmamatcherna, alla har olika kalendrar, och tråden i WhatsApp blir snabbt oöverskådlig. EIK Planner försöker lösa det genom att flytta själva preferensinsamlingen till en delbar länk där varje lagmedlem markerar vad de kan och inte kan. Algoritmen fyller sedan varje pass till sitt minimum innan den toppar upp till max, så att inga slot lämnas obemannade om det går att undvika.
Projektet är medvetet smalt i scope. Det finns inget admin-GUI — planeringar skapas via CLI-script lokalt, PIN-koderna lagras som argon2-hashar i Cloudflare D1, och klartext-PIN visas en gång efter skapande för att kunna delas i en chatt. Tonen är pragmatisk: bygg det som behövs för ett verkligt lag, lägg inte tid på generaliserbarhet som ingen efterfrågar.
Under fyra koncentrerade utvecklingsdagar gick projektet från tom mapp till live-tjänst med PWA-stöd, mörkt läge och demo-läge.
Dimmen lägger sig som ett tunt linne över Salinasdalen denna söndagsmorgon, 14 grader och allt i grått, och i de långa fälten där salladen redan börjat bli tung av sommaren ligger arbetarna ännu och sover i sina baracker.
Aktiv / Projekt
ENDaglig nyhetstidning där Tolstoj, Woolf eller Hemingway skriver morgonkolumnen. Pipelinen kör 06:00 på en Raspberry Pi: Sonnet research:ar, Opus skriver, vi vaknar till en färdig tidning.
Klassiska Nyheter är en daglig nyhetstidning där en klassisk författare – Tolstoj, Woolf, Hemingway eller någon av drygt 150 andra – varje morgon skriver en kolumn om världsläget i sin egen stil. Pipelinen körs automatiskt klockan sex på en Raspberry Pi, hämtar nyheter från tio internationella RSS-flöden och låter Claude Opus skriva texten medan Sonnet faktagranskar. Allt publiceras som en statisk tidning på klassiskanyheter.se.
Idén är lika enkel som egensinnig: vad skulle Virginia Woolf säga om dagens migrationsdebatt? Hur skulle Hemingway rapportera från ett krigshärjat hörn av världen? Klassiska Nyheter automatiserar tankeexperimentet till en faktisk tidning som uppdateras dagligen. Författarna roterar enligt en hård rotationsregel så att samma röst inte återkommer för ofta, och varje artikel följs av en lokal väderrapport från författarens hemstad – framförd av en av nio svenska poeter, från Selma Lagerlöf till Tomas Tranströmer.
Det tekniskt intressanta är hur tunn människohanden är på själva produktionen. Pipelinen är ett bash-skript med tre skills (research, create, qa) som anropar Claude Code CLI sekventiellt. Sonnet sköter nyhetsinsamling och kvalitetskontroll, Opus skriver de 800–1500 ord långa texterna. Wikipedia-porträtt och wttr.in-väder dras in automatiskt, en Node-baserad statisk sajtgenerator producerar HTML och Cloudflare auto-deployer pushen. Det är ett konkret exempel på en helt agentisk redaktion – med en mycket tydlig estetisk vision i botten.
Projektet har också en engelsk systertidning, The Classic Press, som bor i ett separat repo och delar samma idé. Den svenska versionen lutar tydligt mot klassisk svensk press- och boktradition i sin typografi (Chomsky, Playfair Display, Libre Baskerville) och har en egen kuraterad svensk författarpool för vädersidan.
Aktiv / Föredrag · Mojang
ENEtt föredrag för Mojang-teamet om vad som händer med UX-design när AI plötsligt kan skriva koden — hur hantverket består och varför prototyping blir viktigare än någonsin.
77 slides, hållna hos Mojang den 27 maj 2026. En designresa från C64 till AI-agenter: från speltidningar och ATG-åren, via Kostbevakningen, fram till AI-projekten — Klassiska Nyheter, Topprecept, Eik Planner och Boulder Dash-remaken — och vidare mot naturligt språk och agentiska gränssnitt som nästa designyta.
Decket körs i min egen presentationsmotor: varje presentation är ett typat manifest som plockar slides ur ett återanvändbart bibliotek plus egna bespoke slides. Det här decket använder Minecraft-temat ur motorns temabibliotek — voxel-titelbilden är genererad för föredraget.
Demos körs på riktigt i stället för som video: riktiga sajter embeddas direkt i slides via iframe, och mitt i decket ligger en spelbar C64-version av Caverunner. Hela presentationen finns parallellt på svenska och engelska.
2026 · Mojang
Aktiv / Spel
ENEn hyllning till 1984 års klassiker. Trettio grottor med fallande stenblock, glittrande diamanter och tickande tidsbegränsning — allt renderat med skarpa pixlar och CRT-skanlinjer i webbläsaren.
Spelet återskapar grundpremissen från 1984 års klassiker: gräv dig genom en grotta, samla tillräckligt många diamanter för att låsa upp utgången, undvik att krossas av fallande klippblock. Mekaniken är medvetet enkel men fysiken — hur stenar och diamanter faller, rullar och reagerar på rörelse — är noga balanserad så att grottorna fungerar som logiska pussel snarare än rena reflextester.
Det som gör Cave Runner intressant är att hela paketet körs som en modern webbapp utan beroende av emulatorer eller färdiga spelmotorer. Musiken syntetiseras i realtid i en SID-inspirerad stil — varje grotta får sitt eget tempo och sin egen variation på huvudtemat. Renderingen sker på en canvas i dubbel intern upplösning för mjuk kameraföljning.
Målgruppen är dels nostalgiker som vill klicka på en länk och spela direkt, dels nyfikna utvecklare som tittar på koden för att se hur en småskalig spelmotor kan struktureras i TypeScript. Projektet är en ren clean-room-tolkning, med all musik och grafik nyskriven så att originalrättigheterna lämnas i fred.
Aktiv / Projekt
Receptarkiv från åtta källor sammanvägt med Bayesian average. Sökbart via en intern term-graf städad fram genom 110 "orphan-batches".
Topprecept är ett experiment i att samla, klassificera och ranka svenska recept från flera stora sajter på ett ställe. Receptens betyg vägs samman med ett Bayesian average så att en handfull femstjärniga röster inte slår ut tusentals balanserade recensioner. Resultatet är en statiskt genererad sajt på topprecept.io där läsaren kan söka och bläddra bland recept utan att blanda äpplen och päron mellan källorna.
Projektet adresserar ett välkänt problem för den som lagar mat hemma: betygen på en sajt är inte direkt jämförbara med betygen på en annan, och ingen källa täcker hela bredden av svenska recept. Topprecept skrapar åtta sajter, normaliserar data, och beräknar ett rättvisare samlingsbetyg. Sökning och kategorisering bygger på en intern term-graf med noder, alias och stopwords som steg för steg har städats fram ur faktiskt receptmaterial.
Tekniskt är sajten medvetet enkel på utsidan: en statisk HTML-generator i Node bygger ett stort antal sidor — bland annat omkring 11 700 termsidor för typeahead-sökningen — och Cloudflare Pages serverar resultatet. På baksidan ligger en separat backend-tjänst i Python tänkt att hantera crawling, sök-API och admin när den kopplas in via Cloudflare Tunnel.
Det här är ett soloprojekt i tidig fas. En stor del av arbetet har handlat om att tämja språket: 110 så kallade "orphan-batches" har gått igenom återstående okategoriserade ord och flyttat dem till noder, alias eller stopwords. Det gör projektet lika mycket språkstädning som sajtbygge.
Vi är pragmatiska designers. Vi tar ansvar för hela upplevelsen – inte bara pixlarna. Vi tänker kritiskt, kommunicerar proaktivt och investerar i vårt hantverk varje dag. AI är invävt i allt vi gör. Inte som en gimmick, utan som en multiplikator – vilket gör oss snabbare, vassare och frigör oss att fokusera på det som faktiskt är viktigt: att lösa rätt problem. Vi vet när tillräckligt bra är tillräckligt bra. Och när det inte är det.
Aktiv / Studio
Stockholms-baserad design- och AI-konsultverksamhet. Visitkortssajten är medvetet sparsmakad — stor logotyp, typewriter-animerat manifest, en kontakt-mail. Inget formulär, ingen funnel.
DRY ("Don't Repeat Yourself") är en design- och AI-konsultverksamhet i Stockholm med ett uttalat förhållningssätt: pragmatisk design, AI som multiplikator snarare än gimmick, och respekt för när "good enough" faktiskt är good enough. Visitkortssajten på dry.design är konsultverksamhetens första intryck mot omvärlden.
Sidan är medvetet avskalad. En enda vy: en stor inline-SVG-logotyp som fade:ar in, ett kort manifest som skrivs ut tecken för tecken med riktiga tangentbordstidningar, en footer med adress och en mailto-länk. Inget formulär, ingen "Våra tjänster"-grid, ingen lead-funnel — bara en sammanhållen estetisk gest som signalerar att vi vet vad vi gör och inte är stressade.
Light och dark mode sköts automatiskt via prefers-color-scheme — varma toner i ljust läge, neon-glow på logotypen i mörkt läge. CRT-animationer (tecken-fade-in, blinkande underscore-cursor) signalerar att bygget tycker om datorhistorien utan att överarbeta referensen. Tillgänglighet är inte en eftertanke: hela manifestet ligger som sr-only-text för skärmläsare, typewriter-versionen är aria-hidden, och prefers-reduced-motion slår av animationer för dem som vill ha det stilla.
Don't Repeat Yourself
Uppsala universitet Aktiv / Verktyg
Liten webbtjänst för Enskede IK: delbar planeringslänk per lag, sexsiffrig PIN, algoritm som fyller minimi-slots först. Ingen tränare ska behöva pussla i kalkylark.
EIK Planner är en liten webbtjänst som hjälper ungdomslag i Enskede IK att fördela återkommande pass — caféplaneringar, kioskpass, körscheman — utan att tränaren behöver pussla manuellt i ett kalkylark. Varje planering får en egen länk och en sexsiffrig PIN, lagmedlemmarna fyller i förstahandsval och sekundära tider, och en algoritm föreslår en preliminär plan som tränaren kan låsa när allt ser bra ut.
Bakgrunden är välbekant för alla föräldrar i föreningslivet: någon ska bemanna kafeterian under hemmamatcherna, alla har olika kalendrar, och tråden i WhatsApp blir snabbt oöverskådlig. EIK Planner försöker lösa det genom att flytta själva preferensinsamlingen till en delbar länk där varje lagmedlem markerar vad de kan och inte kan. Algoritmen fyller sedan varje pass till sitt minimum innan den toppar upp till max, så att inga slot lämnas obemannade om det går att undvika.
Projektet är medvetet smalt i scope. Det finns inget admin-GUI — planeringar skapas via CLI-script lokalt, PIN-koderna lagras som argon2-hashar i Cloudflare D1, och klartext-PIN visas en gång efter skapande för att kunna delas i en chatt. Tonen är pragmatisk: bygg det som behövs för ett verkligt lag, lägg inte tid på generaliserbarhet som ingen efterfrågar.
Under fyra koncentrerade utvecklingsdagar gick projektet från tom mapp till live-tjänst med PWA-stöd, mörkt läge och demo-läge.
Ön som försvann från alla kartor
Aktiv / Roman · 10–12 år
ENEn spänningsroman i sexton kapitel för läsare mellan tio och tolv år. När ett helt skär försvinner från alla digitala sjökort är det bara Vega, elva år, som ser att det ligger kvar därute – fullt synligt för den som tittar. Den som kan blinkningarna behöver ingen app.
Vega står i fyrens lyktrum med morfar Holger, fyrvaktaren som börjat glömma, när han pekar ut mot horisonten: Rävskär ligger fel. Sjökortsappen visar öppet vatten där skäret syns med blotta ögat – men på morfars papperssjökort från 1987 finns det kvar, med blyertsbäringar i marginalen. Tre akter senare har gåtan vuxit till en stormnatt där hela Gotland släcks, och svaret stavas med fyrkaraktärer och morse i stället för appar.
Sajten är byggd som en pappersbok: krämigt papper, och ett skymningsläge bakom lyktknappen som är gjort för att läsa under täcket med ficklampa. Innehållsförteckningen är Sjökortet – varje kapitel en fyr längs kursen, och läsningen tänder dem. Tre textstorlekar och läspositionen sparas lokalt. Kapitlen läses in med ElevenLabs v3 – drygt tre timmars ljudbok – och illustreras efter en egen promptguide.
Bakom manuset, cirka 24 000 ord, ligger en story bible, en kapitelplan i tre akter där varje slutkrok hakar i nästa kapitels öppningsbild, och en bindande stilguide för AI-medförfattare: pratminus enligt svensk tradition, förbjudna anglicismer, förbud mot triader, moraliserande kapitelslut och em dash. Sajten är statisk HTML genererad av ett eget Python-skript, med självhostad subsatt Literata och metrikjusterad Georgia-fallback, deployad på Cloudflare Workers.
2026 · Sexton kapitel
Spela med havet i ryggen. Allt låter – hovra över ackorden. Allt låter – klicka på ackorden.
Aktiv / Gitarrskola · Webbapp
ENEn liten webbapp-kurs i bossa nova på gitarr – tekniken (batidan), den färgstarka ackordvokabulären och klassikerna, allt med riktigt nylonsträngsljud direkt i webbläsaren.
Kursen går i fyra moduler – Grunderna (högerhanden och batidan), Ackorden, Ackordföljder och Låtar – och progressen sparas lokalt i webbläsaren. Ackordbiblioteket är hela bossa-vokabulären: 79 klickbara greppdiagram från maj7-grundfärgerna till tensions, och allt låter. Låtarna – från Mas Que Nada och Garota de Ipanema till Corcovado och Wave – kommer med ackordtabell, tonart, tempo, svårighetsgrad och Spotify-länk, plus en öva-loop och "Spela hela låten" som spelar igenom hela formen med batida och melodin på ett eget instrument som kan slås av och på.
Ljudet är riktiga nylonsträngs-samples som ligger lokalt i appen – äkta klassiskt gitarrljud med naturlig avklingning som fungerar helt offline, med en plockad synt som reserv om något fattas. Batida-spelaren har metronom, tempo och tre rytmstilar med ett visuellt rytmraster, allt byggt på Tone.js.
Dessutom: en gitarrstämmare som lyssnar via datorns mikrofon (Web Audio + autokorrelation), visar närmaste not, avvikelse i cent med en nål och vilken sträng du är närmast – allt sker lokalt, inget spelas in. Appen har dag- och natt-tema – sand och korallsol om dagen, mörkt låtblad om natten – med en WCAG AA-kalibrerad palett. Byggd från tom mapp till live-domän på fyra dagar.
2026 · À beira-mar
Marionettstaten plundrar sitt eget folk med godtyckliga skatter
I imperialisternas marionettstat tvingas vanligt folk betala avgifter för inspektioner som aldrig genomförs. Tjänstemännen erkänner sin oordning. Detta är vad servil underkastelse under utländska herrar leder till. Vårt folk lever fritt från sådan plundring.
Åres miljöchef: "Vi har olika upplägg på tillsyner"
Åre kommun tar ut årliga avgifter för tillsyn av hyreslägenheter, vilket ger högre kostnader för fastighetsägare än i andra kommuner. Miljöchef Emy Roslin uppger att systemet skapar förutsägbarhet. SVT:s kartläggning visar att avgifter tas ut även när tillsyn inte genomförs.
Källa SVT Nyheter
Aktiv / Spel · Järvaveckan
ENDet vinnande bidraget i Järvaveckans hackathon 2026: ett anti-desinformationsspel med fem riktiga svenska nyheter om dagen, omskrivna som om de publicerats i ett annat lands statsmedia. Läs nyheten. Gissa regimen. Avslöja vinkeln.
Varje dag serverar appen dagens fem: riktiga svenska nyheter omskrivna i ett annat lands statsmediaröst. Spelaren läser den vinklade versionen, gissar bland fyra länder, sveper mellan vinklad och neutral version — skillnaden är själva lektionen — och får facit med förklaring av vilka manipulationstekniker som användes och vilka fakta som ströks.
Hjärtat är ett landbibliotek där varje regimtyp har en kalibrerad röst: ton, retoriska drag, hedersepitet, syndabockar och förbjudna ämnen. Python-generatorer med Anthropic SDK skriver varje kort i tre promptsteg — vinkling, förklaring, neutral sammanfattning — och validatorer vaktar schema, teckengränser, distraktorregler och att den vinklade texten aldrig avslöjar sitt eget land eller sin egen ledare.
Innehållet finns på åtta språk — svenska, engelska, arabiska, somaliska, turkiska, farsi/dari, tigrinja och sorani — valda för Järvas språklandskap, närmare 1 400 kort totalt. Frontenden är byggd i Lovable mot ett deterministiskt exportpaket; all speldata är statiska JSON-filer.
2026 · Hackathon
6 rätter · cirka 8 portioner per rätt
Aktiv / Webbapp · Knytkalas
ENSkapa ett knytkalas, dela länken och se hur bordet fylls. En liten webbapp för att samordna vem som tar med vad till middagen – utan trådar, kalkylark eller dubbla potatissallader.
Idén är ett bord som fyller sig självt. Värden lägger upp kalaset med en eller flera måltider, fyller bordet med rätter och delar en länk. Gästerna klickar in, säger att de kommer och plockar en rätt att ta med, och alla ser i realtid var luckorna finns. "Vem tar med?" står det vid varje oklamad rätt tills någon tar den.
Demon på knytkalas.app/demo är ett färdigt kalas att klicka runt i – Demokalaset, en sillunch med gäster, allergier och ett halvfyllt bord. Allt sparas bara lokalt i webbläsaren under sessionen, så man kan testa fritt utan konto och utan att röra någon riktig data.
Känslan är medvetet varm och analog snarare än app-stel: gräddvitt papper, lerröd accent och salviagrön för det som är klart, rubriker i runda Unbounded. Gästöversikten räknar vuxna, barn och kanske-svar och samlar allergierna på ett ställe, så värden ser portionsbehovet utan att räkna på fingrarna.
2026 · Planera maten tillsammans
Skellefteå låg fortfarande mörkt när hon parkerade utanför Northvolt-grinden för andra dagen. Det var 7 grader och mulet, vinden låg från havet med en envis svalka som hade bestämt sig för att stanna.
Aktiv / Projekt
Månadsserie i deckare-form: ett kapitel om dagen, dagsaktuella nyheter som ledtrådar. Agent-driven pipeline med regissör, skribent, språkgranskare, redaktör och förläggare.
Nyhetsdeckaren är ett experiment i seriefiktion där varje månad blir en bok. En enda berättarröst skriver ett kapitel om dagen, och dagsaktuella nyheter används som ledtrådar i en löpande utredning. Pipeline-mönstret är ärvt från systerprojektet Klassiska Nyheter, men identiteten, sajten och rösten är helt egen.
Idén föddes ur en specifik upplevelse i föregångaren Klassiska Nyheter: en Stieg Larsson-artikel den 22 april 2026 vävde sig naturligt ihop med övriga nyheter till något som kändes som en Millennium-utredning. Tanken blev: tänk om man kunde göra det varje dag? Resultatet är en följetong där intro publiceras den 1:a i månaden, upplösningen runt den 28:e — och fortsättning följer.
Projektet är populärvetenskaplig fiktion på gränsen mellan journalistik och deckare. En agent-driven pipeline med roller som regissör, skribent, språkgranskare, redaktör och förläggare producerar kapitlen utifrån en seriebibel som håller reda på trådar, ledtrådar och kapitelhistorik. Det är ett medvetet hantverksprojekt: det finns dokument om stilen, etiken kring verklighet kontra fiktion, och hur akter och kapitel struktureras.
För besökaren är det en läs-sajt. Bok 1 publicerades under april och pågående bok 3 skrivs i maj 2026. På sajten finns kapitelvy, kronologiskt arkiv, en bibel-vy med synopsis, och en separat regi-vy för redigering. Målgruppen är någon som gillar långform-fiktion med dagsaktualitet — ett slags daglig spaltläsning där handlingen kräver att man håller i sig.
Aktiv / Portfolio
ENEn liten visitkortssajt med tre riktiga kundcase, ett pragmatiskt erbjudande och en mailto. Byggd från tom mapp till live-domän på två fokuserade dagar.
portfolio.jimmyf.link är min officiella visitkortssajt — ett ställe där en intresserad rekryterare eller potentiell kund kan landa, läsa tre kundcase i längre form, och få tag på mig utan att passera ett kontaktformulär. Sajten är medvetet liten i scope och stor i typografisk gest: en jättestor tomatröd Jimmy Flink-rubrik på cream paper, en mus-reaktiv canvas-bakdgrund i hero som glittrar när man rör pekaren, och tre runda case-tiles med riktiga skärmbilder från jobben.
Under fyra olika sektioner — hero, kundcase, citat, kontakt — vandrar besökaren genom en lugn berättelse: vem är jag, vad har jag gjort, vad säger andra om det, och var hittar du mig. Hot-pink kontaktsektionen i botten är en medveten brytning från det varma cream-fältet ovanför: när man kommer dit har man bestämt sig.
Tekniskt är det Astro 6 med Tailwind v4 och Cloudflare Workers Static Assets. Kundcase, citat och tjänster ligger som Markdown i content collections med Zod-schema, så jag kan lägga till ett nytt case genom att droppa in en .md-fil. OG-bilden genereras av ett Node-skript som ritar 1200×630 med samma typografi som sajten — den committas in i repot så Cloudflare slipper köra den vid varje build.
Projektet är gjort på två heldagar — den första lades på struktur, hero-backdrop-canvasen och case-flödet, den andra på finputs, OG-bild, robots.txt med AI-bot-allowlist, JSON-LD Person-schema och deploy. Att det räcker till en officiell sajt på den tiden är delvis AI-hävstången, delvis att jag medvetet valt bort allt som inte är nödvändigt.
2026 · STHLM
Medvetandet. Det enda vi har direkt tillgång till – och samtidigt det mest omöjliga att studera.
Design / AI / Filosofi