Frontend‑udvikling
42 resultater

Foto: jessica45 / Pixabay 
Foto: globenwein / Pixabay
-
Har styret full‑stack‑udviklingen af GIS‑kort
Har styret full‑stack‑udviklingen af GIS‑kort med ansvar for PostgreSQL, Mapbox, ReactJS og NodeJS for at skabe en integreret løsning.
-
Har præsenteret 200 UI/UX‑forbedringer
Har præsenteret 200 UI/UX‑forbedringer til GIS‑kortapplikationen og øget omsætningen 10 gange gennem forbedrede softwarefunktioner.
-
Har bidraget til design af brugergrænseflader
Har bidraget til designprocesser for brugergrænseflader og sikret intuitive, visuelt tiltalende og brugervenlige grænseflader i projekterne.
-
Har udviklet 100 webapplikationer med HTML/HTML5
Har udviklet 100 webapplikationer med HTML/HTML5, CSS/SCSS, Django, WordPress og Joomla og sikret en alsidig onlinetilstedeværelse.
-
Har designet 30 websites fra Photoshop til HTML
Har designet 30 websites og leveret unikke og fleksible løsninger ved at konvertere Photoshop‑designs til HTML.
-
En maritim platform bygget i rene lag
Har designet arkitekturen for en lagdelt maritim platform, der adskiller en Next.js PWA‑frontend, et Go (Huma/Fiber) API og et PostgreSQL‑funktionslag og holder al forretningslogik i databasen.
-
Har bygget skift af organisationskontekst
Har designet et system til skift af organisationskontekst med localStorage i klienten og en spejlet cookie på serveren, så brugere kan optræde som de organisationer, de administrerer, mens autorisationen følger mindste privilegium.
-
Har bygget Next.js 16‑frontenden: SSR, SSG og CSR
Har bygget Next.js 16‑frontenden med bevidst valgte SSR-, SSG- og CSR‑strategier og en genbrugelig factory til prefetchede serversider, der fjerner N+1‑kaskaden af fetch‑kald fra hver autentificeret side, der flyttes over på den.
-
Har leveret en fuld Progressive Web App
Har leveret fuld understøttelse af Progressive Web App — kan installeres og bruges offline — med Workbox runtime‑caching via next‑pwa.
-
Har skabt et iOS 26 'Liquid Glass'-designsystem
Har designet et iOS 26 'Liquid Glass'-designsystem og et kanonisk komponentbibliotek, som lint‑regler håndhæver, så brugerfladen forbliver ensartet.
-
Har designet hele produktets UI og UX
Har designet produktets UI og UX fra ende til anden — gittervisninger af kataloget, valgfri kort- eller tabelvisning, kravvalidering i realtid og breadcrumb‑navigation.
-
Har hærdet applikationen med nonce‑baseret CSP
Har hærdet applikationen med nonce‑baseret CSP, HSTS, SameSite‑cookies, least‑privilege‑databaseroller og fornyet kontrol af rettigheder på serveren.
-
Har bygget et engelsk/dansk i18n‑system
Har etableret et engelsk/dansk internationaliseringssystem med 12.027 beskeder pr. locale fordelt på 458 namespace‑filer, et ordforråd, som linteren håndhæver, og et budget på 400 linjer pr. fil.
-
Har fastlagt platformens grundbeslutninger
Har fastlagt platformens grundlæggende beslutninger i ugerne efter, at repositoryet blev oprettet i november 2025 — lagdelingen, database‑first‑dataadgangen og standarden med nul advarsler — og de holder stadig ni måneder senere.
-
Har bygget og vedligeholdt Django‑apps til IPTV
Har udviklet og vedligeholdt Django‑webapplikationer til IPTV‑platformen, udgivet nye funktioner og forbedret ydeevnen og stabiliteten.
-
Har vedligeholdt et ældre Hugo‑website og dets UI
Har vedligeholdt og forbedret det ældre Hugo‑baserede statiske website og bidraget med UI/UX‑forbedringer til det primære asset management‑produkt.
-
Har kombineret webudvikling med SEO og indhold
Har skabt succes på nettet for kunderne ved at kombinere skræddersyet webudvikling og -design med SEO, indholdsstrategi og tekstforfatning.
-
Har bygget en testsuite til Go, SQL og browseren
Har bygget en lagdelt automatiseret testsuite — 981 Go‑tests, 543 frontend- og browserspecs, 494 SQL‑adfærdstests — med mutationstest, property‑based tests og en tilgængelighedsgate.
-
Har bygget platformens operatør‑back‑office
Har bygget operatørernes back‑office — omkring 40 admin‑ruter og 128 komponenter, der dækker ejerskabskrav, moderation, feature flags, cache og diagnostik — så platformen kan drives uden databaseadgang.
-
Har bygget ejerskabskrav og deres afgørelse
Har bygget ejerskabskrav på virksomheder fra ende til anden — en bruger gør krav på en virksomhed, en administrator afgør sagen, og en godkendelse omskriver den autorisationsgraf, der afgør, hvem der må redigere hvad.
-
Har bygget det sociale lag: opslag, feed, grupper
Har bygget platformens sociale lag — opslag, feed, grupper, mentions, en følgergraf og et digest over mærkedage — på det samme funktionsbaserede datalag som resten af produktet.
-
Har bygget et Hugo‑site på 3 sprog
Har bygget et flersproget statisk site i Hugo med 108 skabelonfiler, heraf 53 partials, der udgiver hver side i fire repræsentationer fra ét indholdstræ på tre sprog og igen under syv fokuserede subdomæner bygget af det samme træ.
-
Har bygget en commit‑gate med 22 lintere
Har bygget en commit‑gate med 22 lintere, der hver kan beskrives på én linje, plus fem, der fortjener et afsnit, uden advarselsniveau og uden tilladte inline‑undertrykkelser, og som dækker HTML, CSS, JavaScript, Python, YAML, Markdown, shell, links, stavning, hemmeligheder og typografi.
-
Et sikkerhedsnet, der ikke længere koster en halv time
Har skåret sitets browserdrevne kvalitetsgate fra 1.636 sekunder til 615 ved at afvikle dens tjek med de længste først gennem en worker‑pulje begrænset til fire spor, efter at have målt, at alfabetisk rækkefølge kostede 320 sekunder mod 224.
-
Har erstattet 27 skriftstørrelser med 6 trin
Har erstattet 27 gengivne skriftstørrelser, hvis nærmeste naboer lå 0,6 % fra hinanden, med en Major Third‑skala i seks trin og skrevet den linter, der afviser en otteogtyvende.
-
Et site, der lever op til tilgængelighedsstandarden
Har bragt 32 repræsentative sider op på WCAG 2.2 niveau AA — én pr. skabelon pr. sprog — i begge farvetemaer, plus ét AAA‑kriterium, med en dokumenteret konformitetsrapport og et tjek bag hver påstand.
-
De tilgængelighedsfejl, jeres tjekværktøj overser
Har fundet og rettet 11 tilgængelighedsfejl, som browseren meldte i orden — otte footer‑links, der stadig lå i tab‑rækkefølgen bag pointer‑events, en scroll‑tidslinje, der klippede kolofonen af på tre sider, og en regelmotor, der kørte 70 af sine 105 regler.
-
Har genereret 495 sider fra en SQLite‑eksport
Har genereret 495 resultatsider på tre sprog fra en skrivebeskyttet SQLite‑eksport med sidens adresse skrevet som data, så en rettelse i en sætning ikke længere flyttede siden og ødelagde linket.
-
Har låst farvesystemet fast på 28 farver
Har låst farvesystemet fast på 28 dokumenterede farver med en linter, der afviser en værdi, som er malet, men udokumenteret, dokumenteret, men umalet, fejlmålt, skrevet om som en literal eller inden for en perceptuel afstand på 0,02 fra en eksisterende farve.
-
Har fundet et manglende lag i det lyse tema
Har fundet, at det lyse tema havde manglet et fuldsides overlay‑lag siden den dag, det blev skrevet, ved at kontrollere, at begge temaer maler hver lagdelt flade med det samme antal lag.
-
Har sikret, at reduceret bevægelse virker
Har fået indstillingen for reduceret bevægelse til at virke efter hensigten efter at have fundet elleve selektorer, der stadig animerede trods præferencen, fordi en universel transition‑none‑regel taber på specificitet til enhver regel med en klasse.
-
Har bygget et 637 linjer langt printstylesheet
Har bygget et 637 linjer langt printstylesheet, der tager højde for fire dokumenterede adfærdsmønstre i renderingsmotoren, herunder run‑in‑overskrifter, der blev udskrevet hvidt på hvidt for enhver læser, hvis browser foretrak mørkt.
-
Har spejlet sitet til Gemini og Gopher
Har spejlet hele sitet som 777 Gemini‑dokumenter og 777 Gopher‑dokumenter ud fra det samme udrullede træ uden at ændre en eneste byte i HTML'en.
-
Har erstattet 963 metadatablokke med én graf
Har erstattet 963 anonyme blokke med strukturerede data, der gentog virksomheden 1.671 gange, med én sammenkædet graf af 16 typer dannet ud fra stabile oprindelsesidentifikatorer.
-
Har skåret stylesheet‑bundtet fra 87 KB til 31 KB
Har skåret stylesheet‑bundtet fra 87 KB til 31 KB ved at tage en base64‑skrifttype ud af det og fjernet 756 KB fordelt på 22 filer, der blev udgivet ved hver udrulning, men som intet henviste til.
-
Har lintet selve kvalitetsgaten på 10.242 linjer
Har bragt 10.242 linjer kvalitetsgate‑JavaScript under en formatter og en linter efter at have fastslået, at det var den største kodemængde i repositoryet og den eneste, som intet værktøj læste, og rettet 13 fund uden at undertrykke nogen.
-
Har bygget en native macOS‑beskedklient i Swift 6
Har bygget en native macOS‑beskedklient i Swift 6 og SwiftUI — 11.141 linjer fordelt på 53 filer — oven på C‑grænsefladen til en Rust‑kerne linket som et statisk arkiv fra en fastlåst revision.
-
En app, der åd 41 MB i sekundet, standset
Har stoppet en applikation i at fylde hukommelsen med 41 MB i sekundet — 111 GB komprimerede sider målt på en maskine med 36 GB — ved at begrænse hver hændelsesstrøm, abonnere efter hændelsestype og lægge et ratebudget på logning, hvilket bragte 610.996 loglinjer ned på 1.411.
-
Har indført Swift 6 strict concurrency over C
Har indført Swift 6's complete strict concurrency uden actors og bygget bro fra en blokerende C‑hændelsesløkke til main actor gennem én producent, én forbruger og én rækkefølge — efter at have fastslået, at en opgave pr. hændelse mister den rækkefølge, grænsefladen afhænger af.
-
Har navngivet alle 17 ikoner til skærmlæsere
Har navngivet hver eneste ikonknap i grænsefladen for skærmlæsere efter at have opdaget, at send‑knappen blev læst op som "arrow up circle, button", og skrevet den linter, der kræver etiketten inden for otte linjer fra ikonet.
-
Har bygget et macOS‑designsystem med 48 tokens
Har bygget et designsystem på 48 tokens oven på platformens eget glasmateriale og skrevet den linter, der afviser et magisk tal, en hårdkodet skriftstørrelse eller en animation, der ignorerer præferencen for reduceret bevægelse.
-
Har renset fejlbeskederne for bebrejdelser
Har omskrevet applikationens fejlbeskeder efter en nedskrevet standard for tone, efter at et afvist login gav brugeren skylden for at have tastet forkert, mens udbyderen i virkeligheden krævede en applikationsspecifik adgangskode, og dækket det med en test, der nævner udbyderen.
Hvis det er det arbejde, du har brug for, er næste skridt en samtale.
Fortæl os problemet, så siger vi ærligt, om vi er de rette til det.
Dette arbejde er en del af det, vi tilbyder som Frontend‑udvikling, UI/UX‑design & designsystemer, Webstedsudvikling & CMS, Full stack‑produktudvikling, Backend- & API‑udvikling, Brand, marketing & SEO, Produktstrategi & kravspecifikation og Platform- & løsningsarkitektur.
Er du ved at bygge noget, der kræver det her? Kontakt os.

