Frontendutveckling
Skärmarna som människor faktiskt använder
Gränssnitt som laddar snabbt, fungerar i mobilen och beter sig likadant i alla webbläsare dina kunder råkar använda.
Utvalt arbete som visar den här tjänsten.
-
Styrde full stack‑utvecklingen av GIS‑kartor
Ledde fullstackutvecklingen av GIS-kartor (PostgreSQL, Mapbox, React, Node.js) och levererade en integrerad, utbyggbar kärna i plattformen.
-
Presenterade 200 UI/UX‑förbättringar
Levererade 200 UI/UX-förbättringar i en GIS-kartapplikation som bidrog till 10 gånger högre intäkter — genomtänkt UX som kommersiell drivkraft.
-
Bidrog till designprocesserna
Bidrog till UI-designen med intuitiva, polerade och användarvänliga gränssnitt genom att ställa frågor om användbarhet under designarbetet.
-
Utvecklade 100 webbapplikationer med HTML/HTML5
Utvecklade 100 webbapplikationer med HTML5, CSS/SCSS, Django, WordPress och Joomla och anpassade varje lösning efter kundens verkliga behov.
-
Utformade 30 webbplatser och levererade unika
Utformade 30 webbplatser genom att konvertera Photoshop-design till HTML och skapade särpräglade, polerade och underhållbara webbnärvaror.
-
En sjöfartsplattform byggd i rena skikt
Separerade appen, gränssnittet och databasen så att var och en kan ändras utan att de andra två går sönder, och samlade affärsreglerna på ett ställe.
-
Byggde växling av organisationskontext
Byggde organisationsbyte med localStorage och spegling i servercookie, så att användare agerar som hanterade organisationer med minsta möjliga behörighet.
-
Byggde frontenden i Next.js 16 med medvetna SSR
Byggde frontenden i Next.js 16 med SSR/SSG/CSR och ett mönster för förhämtning och hydrering i serverskalet som eliminerade N+1-anrop.
-
Levererade fullt stöd för Progressive Web App
Levererade fullt stöd för Progressive Web App — installerbar och offlinekapabel — med körtidscachning i Workbox via next-pwa.
-
Utformade ett designsystem i stil
Utformade ett designsystem i ”Liquid Glass”-stil för iOS 26 och en kanonisk komponentförteckning som lintregler upprätthåller för att stoppa avvikelser i UI.
-
Utformade produktens UI och UX från början
Utformade produktens UI/UX hela vägen — katalograster, kort- och tabellvyer, live-validering och brödsmulor — för täta sjöfartsdata.
-
Byggde ett i18n‑system för engelska och danska
Etablerade ett i18n-system för engelska/danska med 12 027 meddelanden per språk i 458 filer, med lintstyrt ordförråd och en storleksbudget.
-
Fattade plattformens tekniska grundbeslut
Lade fast plattformens grundbeslut i november 2025 — skiktningen, databascentrerad dataåtkomst och kravet på noll varningar — och de gäller än i dag.
-
Skötte en äldre Hugo‑webbplats, förbättrade UI:t
Underhöll och förbättrade en äldre statisk webbplats i Hugo och bidrog med UI/UX-förfiningar till kärnprodukten för tillgångsförvaltning.
-
Byggde plattformens backoffice för operatörer
Byggde operatörernas back office — omkring 40 adminrutter och 128 komponenter för anspråk, moderering, funktionsflaggor, cache och diagnostik.
-
Byggde en flerspråkig Hugo‑webbplats på 3 språk
Webbplatsen levererar tre språk och fyra representationer från ett och samma träd, har ingen backend att angripa och inget att fakturera, och den enda biten…
-
Ett skyddsnät som inte längre kostar en halvtimme
Kortade de automatiska kontrollerna som vaktar varje release från 27 minuter till 10, genom att köra dem i rätt ordning och flera åt gången.
-
Ersatte 27 teckenstorlekar med en skala i 6 steg
Sex storlekar där det fanns tjugosju, med ett angivet förhållande, en angiven radlängd och en kontroll som avvisar nästa oplanerade värde.
-
En webbplats som uppfyller tillgänglighetsstandarden
Lyfte varje sidtyp till WCAG 2.2 nivå AA i båda färgteman, med skriftligt underlag bakom varje påstående och en automatisk kontroll som försvarar det.
-
Tillgänglighetsfelen som ditt verktyg missar
Hittade och åtgärdade 11 verkliga hinder som ett automatiskt verktyg hade godkänt som felfria, bland dem länkar som var osynliga för ögat men som ett tangentbord ändå kunde landa på.
-
Stängde färgsystemet vid 28 färger
Paletten är en sluten, uppmätt uppsättning som inte kan växa i det tysta, och de två nästan identiska stavningarna som föranledde arbetet är borta.
-
Fann att det ljusa temat saknade ett helt skikt
Ett lager som saknas i ett av temana stoppar nu en commit, och ett som hade saknats sedan det skrevs ritas nu ut.
-
Fick reduced‑motion att hålla vad den lovar
Inställningen respekteras i praktiken snarare än i avsikt, och elva aktiva animationer som en generell regel såg ut att ha täckt är nu faktiskt täckta.
-
Byggde en utskriftsstilmall på 637 rader
Webbplatsen skrivs ut på okänt papper i båda temana, och de fyra motorbeteendena är nedskrivna tillsammans med det fel som vart och ett orsakade.
-
Krympte stilmallspaketet från 87 KB till 31 KB
Paketet är på 31 KB i stället för 87, 756 KB döda filer driftsätts inte längre, och varje beslut har en mätning kopplad till sig — även det som gick åt andra…
-
Lintade själva kvalitetsgrinden på 10 242 rader
Den största och mest bärande koden i repot är nu formaterad, lintad och typkontrollerad, med tretton fynd åtgärdade och noll undertryckningar.
-
Byggde en native macOS‑klient i Swift 6
En nativ klient som startar som en Mac-app, använder plattformens egna material och kontroller och inte bär på någon inbäddad webbläsare.
-
En app som åt 41 MB i sekunden, stoppad
Spårade en applikation som fyllde maskinens minne tills den frös och åtgärdade orsaken: 111 GB slöseri på en laptop med 36 GB, reducerat till noll.
-
Gav alla 17 ikoner namn för skärmläsare
Alla sjutton kontroller presenterar sin funktion, och en artonde kan inte läggas till utan en. Regelns oprecision är verklig och angiven där regeln definieras:…
-
Byggde ett designsystem för macOS med 48 tokens
Fyrtioåtta tokens beskriver hela gränssnittet, utseendet följer systemet och ingen av de tre erosionerna kan committas.
Är det här arbetet du behöver få gjort, är nästa steg ett samtal.
Berätta om problemet, så säger vi ärligt om vi är rätt personer.