Frontendutveckling
42 resultat
- Styrde full stack‑utvecklingen av GIS‑kartor med ansvar för PostgreSQL, Mapbox, ReactJS och NodeJS för att leverera en integrerad lösning.
- Presenterade 200 UI/UX‑förbättringar för GIS‑kartapplikationen och ökade intäkterna 10 gånger genom förbättrade programfunktioner.
- Bidrog till designprocesserna för användargränssnitt och säkerställde intuitiva, visuellt tilltalande och användarvänliga gränssnitt i projekten.
- Utvecklade 100 webbapplikationer med HTML/HTML5, CSS/SCSS och ramverken Django, WordPress och Joomla och säkerställde en mångsidig närvaro på nätet.
- Utformade 30 webbplatser och levererade unika och flexibla lösningar genom att omvandla Photoshop‑designer till HTML.
- Utformade arkitekturen för en skiktad sjöfartsplattform som håller isär en PWA‑frontend i Next.js, ett API i Go (Huma/Fiber) och ett funktionsskikt i PostgreSQL, med all affärslogik i databasen.
- Utformade ett system för att växla organisationskontext med localStorage hos klienten och en speglad cookie på serversidan, så att användare kan agera som de organisationer de förvaltar medan auktorisering enligt minsta behörighet upprätthålls.
- Byggde frontenden i Next.js 16 med medvetna SSR-, SSG- och CSR‑strategier och en återanvändbar fabrik för förhämtade serversidor som tar bort N+1‑kaskaden av hämtningar från varje inloggad sida som flyttas över till den.
- Levererade fullt stöd för Progressive Web App — installerbar och med offlinestöd — med körtidscachning i Workbox via next‑pwa.
- Utformade ett designsystem i stil med ”Liquid Glass” från iOS 26 och en kanonisk komponentförteckning som lintregler upprätthåller för att förhindra att gränssnittet spretar.
- Utformade produktens UI och UX från början till slut — katalogrutnät, dubbla kort- och tabellvyer, kravvalidering i realtid och brödsmulenavigering.
- Härdade applikationen med nonce‑baserad CSP, HSTS, SameSite‑cookies, databasroller med minsta behörighet och förnyade kontroller av åtkomsträttigheter på serversidan.
- Etablerade ett internationaliseringssystem för engelska och danska med 12 027 meddelanden per språkversion i 458 namnrymdsfiler, med ett ordförråd som lintern upprätthåller och en budget på 400 rader per fil.
- Fattade plattformens grundläggande beslut under veckorna efter att repot öppnades i november 2025 — skiktningen, dataåtkomst med databasen först och ribban med noll varningar — och de håller fortfarande nio månader senare.
- Utvecklade och underhöll Django‑webbapplikationer för IPTV‑plattformen, levererade nya funktioner och förbättrade prestanda och stabilitet.
- Underhöll och vidareutvecklade den äldre statiska webbplatsen i Hugo och bidrog samtidigt med UI/UX‑förbättringar till den huvudsakliga produkten för tillgångsförvaltning.
- Drev kundernas framgång på webben genom att kombinera skräddarsydd webbutveckling och design med SEO, innehållsstrategi och copywriting.
- Byggde en skiktad automatiserad testsvit — 981 Go‑tester, 543 specifikationer för frontend och webbläsare, 494 beteendetester i SQL — med mutationstestning, egenskapsbaserade tester och en tillgänglighetsgrind.
- Byggde operatörernas backoffice — ca 40 administrationsrutter och 128 komponenter för anspråk, moderering, funktionsflaggor, cache och diagnostik — så att plattformen kan drivas utan databasåtkomst.
- Byggde anspråk på företagsägarskap från början till slut — en användare gör anspråk på ett företag, en administratör avgör, och ett godkännande skriver om auktoriseringsgrafen som bestämmer vem som får redigera vad.
- Byggde plattformens sociala skikt — inlägg, flöde, grupper, omnämnanden, en följargraf och en sammanställning av bemärkelsedagar — på samma funktionsbaserade dataskikt som resten av produkten.
- Byggde en flerspråkig statisk webbplats i Hugo med 108 mallfiler, varav 53 partials, som publicerar varje sida i fyra representationer från ett innehållsträd på tre språk, och en gång till under sju fokuserade underdomäner byggda från samma träd.
- Byggde en commit‑grind med 22 linters på en rad var plus fem som förtjänar ett eget stycke, utan varningsnivå och utan tillåtna inline‑undantag, som täcker HTML, CSS, JavaScript, Python, YAML, Markdown, shell, länkar, stavning, hemligheter och typografi.
- Kortade webbplatsens webbläsarstyrda kvalitetsgrind från 1 636 sekunder till 615 genom att schemalägga kontrollerna med den längsta först i en workerpool begränsad till fyra spår, efter att ha mätt att alfabetisk ordning kostade 320 sekunder mot 224.
- Ersatte 27 renderade teckenstorlekar, vars närmaste grannar låg 0,6 % från varandra, med en Major Third‑skala i sex steg, och skrev lintern som fäller den tjugoåttonde.
- Förde 32 representativa sidor — en per mall och språk — till WCAG 2.2 nivå AA i båda färgteman, plus två AAA‑kriterier, med en dokumenterad överensstämmelseredovisning och en kontroll som försvarar varje påstående.
- Hittade och åtgärdade 11 tillgänglighetsbrister som webbläsaren rapporterade som felfria — åtta sidfotslänkar som låg kvar i tabbordningen bakom pointer‑events, en scroll‑tidslinje som klippte bort kolofonen på tre sidor och en regelmotor som körde 70 av sina 105 regler.
- Genererade 495 resultatsidor på tre språk från en skrivskyddad SQLite‑export, med sidadressen angiven som data så att en rättad mening inte längre flyttade sidan och bröt länken.
- Stängde färgsystemet vid 28 dokumenterade färger med en linter som fäller ett värde som målas men inte är dokumenterat, dokumenteras men inte målas, är felmätt, skrivs om som en literal eller ligger inom ett perceptuellt avstånd på 0,02 från en befintlig färg.
- Upptäckte att det ljusa temat hade saknat ett helsidesöverlägg sedan den dag det skrevs, genom att kräva att båda teman målar varje skiktad yta med samma antal skikt.
- Fick reduced‑motion att hålla vad den lovar efter att ha hittat elva selektorer som fortfarande animerade under inställningen, eftersom en universell transition‑none‑regel förlorar på specificitet mot varje regel som har en klass.
- Byggde en utskriftsstilmall på 637 rader mot fyra dokumenterade beteenden i renderingsmotorer, bland annat run‑in‑rubriker som skrevs ut vitt på vitt för varje läsare vars webbläsare föredrog mörkt läge.
- Speglade hela webbplatsen som 777 Gemini‑dokument och 777 Gopher‑dokument från samma driftsatta träd, utan en enda byte ändrad i HTML‑koden.
- Ersatte 963 anonyma block av strukturerad data som upprepade företaget 1 671 gånger med en enda länkad graf av 16 typer, präglade från stabila ursprungsidentifierare.
- Krympte stilmallspaketet från 87 KB till 31 KB genom att ta ut ett base64‑kodat typsnitt ur det, och tog bort 756 KB i 22 filer som publicerades vid varje driftsättning utan att något refererade till dem.
- Förde in 10 242 rader JavaScript för kvalitetsgrinden under en formaterare och en linter efter att ha konstaterat att det var den största kodmassan i repot och den enda som inget läste, och åtgärdade 13 fynd utan att undertrycka något.
- Byggde en native meddelandeklient för macOS i Swift 6 och SwiftUI — 11 141 rader i 53 filer — ovanpå C‑gränssnittet till en Rust‑kärna som länkas som ett statiskt arkiv från en låst revision.
- Stoppade en applikation som fyllde minnet med 41 MB i sekunden — uppmätt 111 GB komprimerade sidor på en maskin med 36 GB — genom att begränsa varje händelseström, prenumerera per händelsetyp och sätta en hastighetsbudget på loggningen, vilket tog ned 610 996 loggrader till 1 411.
- Införde fullständig strikt samtidighet i Swift 6 utan actors och överbryggade en blockerande händelseloop i C till main actor genom en producent, en konsument och en ordning — efter att ha konstaterat att en task per händelse förlorar den ordning som gränssnittet är beroende av.
- Gav varje kontroll i gränssnittet som bara består av en ikon ett namn för skärmläsare efter att ha hittat skicka‑knappen uppläst som ”arrow up circle, button”, och skrev lintern som kräver etiketten inom åtta rader från ikonen.
- Byggde ett designsystem med 48 tokens på plattformens eget glasmaterial och skrev lintern som avvisar ett magiskt tal, en hårdkodad teckenstorlek eller en animering som ignorerar inställningen för reducerad rörelse.
- Skrev om applikationens felmeddelanden enligt en skriftlig tonstandard efter att en nekad inloggning hade skyllt på användaren för felskrivning när leverantören i själva verket krävde ett appspecifikt lösenord, och täckte det med ett test som namnger leverantören.
Ä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.
Det här arbetet är en del av det vi erbjuder som Frontendutveckling, UI/UX‑design och designsystem, Webbutveckling och CMS, Fullstackutveckling av produkter, Backend- och API‑utveckling, Varumärke, marknadsföring och SEO, Produktstrategi och krav och Plattforms- och lösningsarkitektur.
Håller du på med något som kräver det här? Hör av dig.