Ansvarlig for frontend-udvikling til vores selvbetjenings-platform
Copenhagen, Capital Region of Denmark, Denmark
Oct 1, 2025
Handel med elektricitet via ladestationer o. lign.
Dette job er ikke blevet analyseret af vores AI-vurderingssystem. Klik på knappen nedenfor for at få en AI-drevet match score baseret på dine præferencer.
# Job Skill Enhancement System
## CORE INSTRUCTION:
You are an AI that extracts and identifies coding languages and frameworks from job descriptions. Your goal is to find ALL relevant technical skills mentioned in the job posting, even if they're mentioned in different ways or aliases.
## INPUT DATA:
{
"job": {"job_id":4783,"title":"Ansvarlig for frontend-udvikling til vores selvbetjenings-platform","company_name":"Clever","description":"About the job\n\nRigtig mange elbilister vælger Clever, og potentialet for at skalere mere effektivt er enormt. Har du mod på at være med til at bygge noget nyt op? Vi leder efter en erfaren frontend-udvikler, der kan være drivkraften bag en ny platform.\n\nRollen \n\nDer er virkelig behov for at vi i Clever får bygget bedre digitale selvbetjenings-løsninger på både web og app. Du skal være med til at bygge en ny web-applikation, hvor både brugerværdien og forretningsværdien er soleklar.\n\nVi er et nystartet team. Vores UX’er er allerede i gang, der ligger en masse byggeklodser i vores komponentbibliotek og alle de kedelige afklaringer er taget. Nu skal vi have noget op at stå, hjælpe vores kunder og videreudvikle det sammen.\n\nClevers organisering \n\nHos os har vi ikke klassiske titler. Vi har profiler. I andre virksomheder ville du måske blive kaldt ”Senior Frontend Developer”, ”Frontend udvikler” eller ”Lead Frontend udvikler”. Men når du starter hos os, bliver din profil ”Ansvarlig for frontend-udviklling” – for det er netop det, du er.\n\nHos Clever tager vi nemlig alle sammen ansvar i teamet for vores fælles retning – derfor bliver din profil; ansvarlig. Du er ikke bare en titel. Du er et helt menneske, som hos Clever har en vigtig rolle, og det kan du også se meningen i.\n\nHvad fyldes din dag med? \n\nVi skal hurtigst muligt bygge en web-selvbetjening til vores privat-kunder, med udgangspunkt i vores komponentbibliotek. Du skal være med til at konceptualisere og sætte retning for selvbetjening på tværs af web, app og andre touchpoints. Du får stor indflydelse og teamet kan træffe langt de fleste beslutninger selv.\n\nVi skal løse brugernes behov og hjælpe vores kollegaer i kundeservice, så vi kan skalere mere effektivt. Der er et stort forretningsmæssigt potentiale, så det vi bygger har fokus og prioritet i Clever.\n\nHvem bliver dine kollegaer? \n\nVi er et nyt team og du skal være med til at skabe både produktet og den måde vi er sammen på. Teamet er komplet til at kunne eksekvere og tage beslutninger autonomt.\n\nDer er et stort fagligt overlap med vores selvbetjening til erhvervskunder, hvor der sidder både backend-udviklere, frontend-udviklere, UI- og UX-designere, som kan hjælpe med afklaringer og indsigter.\n\nClever har et godt udvikler-fællesskab, hvor der er sparring på tværs af både hverdagsudfordringer, men også de dybere snakke om værktøjer, metoder og standarder.\n\nUdfordringer og ressourcer \n\nClever har rigtig mange kunder, så det er vigtigt at vi kommer hurtigt i luften med selvbetjening fordi potentialet er stort – men samtidig skal det være robust, så vi ikke bliver lagt ned af drift.\n\nMange funktioner i selvbetjening kræver udvikling dybt i vores data-systemer. Det kan være en udfordring at lave den bedste løsning i ét hug, så sammen skal vi kunne skære leverancerne over i værdiskabende bidder. Det kræver tålmodighed og blik for helheden.\n\nHvad kommer du med? \n\n\nDu har flere års erfaring med frontend-udvikling – JavaScript\/TypeScript, HTML, CSS (vores komponent-bibliotek er skrevet i lit\/web-components og TypeScript)\nDu har været (med)ansvarlig for at bygge og lancere applikationer fra bunden til mange brugere. Du ved hvad det vil sige at lave en robust platform med minimal drift\nDit blik er detaljeret i forhold til pixels, brugeroplevelsen i flows og du er god til at sparre med UX og design, så vi får det hele med\nDu har en forståelse for arkitektur og kan indgå i tekniske konceptudvikling med backend-udviklere og arkitekter \nDu har prøvet at indgå i et agilt setup og har erfaring fra organisationer med flere teams. Du ved også at planning, refining, daily er nødvendigt for at vi kan hjælpe hinanden og arbejde i fællesskab\nDu motiveres af, at det du bygger kan måles i effektivisering, konvertering og kundetilfredshed. Det betyder noget for dig, hvad brugerne synes om dit produkt\n\n\n\nMedledelseskompetencer\n\n\nDu holder dit ego i skak og ved, at succes handler om at løfte i flok mod fælles mål \nDu tager naturligt ansvar for både dig selv og dine kollegaer, med omsorg og nærvær \nDu er en holdspiller, der ser arbejde som et samarbejde, ikke en konkurrence \n\n\n\nHar du sat mentale flueben hele vejen igennem? \n\nSend gerne din ansøgning afsted allerede i dag – for vi kan godt finde på at lukke opslaget ned før tid, hvis vi møder det rigtige match. \n\nDu kan læse mere om, hvordan det er at arbejde hos os på: www.clever.dk\/velkommen .\n\nEr du nysgerrig på vores rekrutteringsproces kan du læse mere om den her: Rekrutteringsprocessen i Clever | Clever .\n\nVi glæder os til at høre fra dig!","brief_summary_of_job":null,"existing_skills_from_job":["On-site","Full-time","HTML","Operations Management","Operating Systems","JavaScript","SiGe","User Experience (UX)","NetOp","Software Development","Back-End Web Development","Cascading Style Sheets (CSS)","CSS","TypeScript"],"existing_skills_from_database":[]},
"coding_categories": {"languages":["Bash","C","C#","C++","CSS","Clojure","Dart","Elixir","Go","Groovy","Haskell","HTML","Java","JavaScript","Julia","Kotlin","Lua","MATLAB","Objective-C","Perl","PHP","PowerShell","Python","R","Ruby","Rust","Sass","Scala","Swift","TypeScript"],"frameworks":[".NET","Angular","Apache Spark","ASP.NET","Backbone.js","Bootstrap","CodeIgniter","Django","Ember.js","Express","FastAPI","Flask","Flutter","Hadoop","Ionic","jQuery","Laravel","Livewire","Meteor","NestJS","Next.js","Node.js","Nuxt.js","Phoenix","PHPUnit","PyTorch","React","React Native","Ruby on Rails","Spring Boot","Svelte","Symfony","Tailwind CSS","TensorFlow","Vue.js","Xamarin","Alpine.js","Filament","WordPress"],"databases":["MySQL","PostgreSQL","Redis","MongoDB","DynamoDB","MariaDB","NoSQL","Oracle","BigQuery","Elasticsearch","SQL","SQL Server","SQLite","Cassandra","CouchDB","Neo4j","InfluxDB","CockroachDB"],"tools":["Git","GitHub","GitLab","Bitbucket","Docker","Kubernetes","CI\/CD","Jenkins","Kafka","RabbitMQ","Amazon SQS","AMQP","PubSub","REST API","RESTful APIs","GraphQL","AWS","Azure","GCP","Terraform","Ansible","Puppet","Chef","Vagrant","Vault","Consul","Prometheus","Grafana","ELK Stack","Splunk"],"skills":["English","Danish","Communication","Full-stack development","Back-end development","Front-end development","Cloud computing","DevOps","Microsoft Excel","PowerBI","Power Platform","Agile","Scrum","Problem-solving","Team collaboration","Physical presence","Remote work","Hybrid work"],"colors":{"languages":"blue","frameworks":"purple","databases":"orange","tools":"indigo"}},
"skill_aliases": {"bash":"Bash","c":"C","c plus plus":"C++","C plus plus":"C++","c sharp":"C#","C sharp":"C#","c#":"C#","c++":"C++","clojure":"Clojure","cpp":"C++","dart":"Dart","elixir":"Elixir","go":"Go","golang":"Go","Golang":"Go","groovy":"Groovy","haskell":"Haskell","java":"Java","java script":"JavaScript","Java script":"JavaScript","javascript":"JavaScript","Javascript":"JavaScript","js":"JavaScript","JS":"JavaScript","es5":"JavaScript","ES5":"JavaScript","es6":"JavaScript","ES6":"JavaScript","julia":"Julia","kotlin":"Kotlin","lua":"Lua","matlab":"MATLAB","Matlab":"MATLAB","objective c":"Objective-C","Objective C":"Objective-C","objective-c":"Objective-C","objc":"Objective-C","ObjC":"Objective-C","obj-c":"Objective-C","Obj-C":"Objective-C","perl":"Perl","php":"PHP","Php":"PHP","powershell":"PowerShell","Power Shell":"PowerShell","python":"Python","py":"Python","Py":"Python","phyton":"Python","r":"R","ruby":"Ruby","rust":"Rust","scala":"Scala","swift":"Swift","typescript":"TypeScript","Typescript":"TypeScript","ts":"TypeScript","TS":"TypeScript","mysql":"MySQL","postgresql":"PostgreSQL","postgres":"PostgreSQL","mongodb":"MongoDB","mongo":"MongoDB","redis":"Redis","sqlite":"SQLite","oracle":"Oracle","mssql":"SQL Server","sql server":"SQL Server","dynamodb":"DynamoDB","dynamo db":"DynamoDB","mariadb":"MariaDB","maria db":"MariaDB","nosql":"NoSQL","no sql":"NoSQL","bigquery":"BigQuery","big query":"BigQuery","elasticsearch":"Elasticsearch","elastic search":"Elasticsearch","cassandra":"Cassandra","couchdb":"CouchDB","couch db":"CouchDB","neo4j":"Neo4j","neo 4j":"Neo4j","influxdb":"InfluxDB","influx db":"InfluxDB","cockroachdb":"CockroachDB","cockroach db":"CockroachDB","aws":"AWS","amazon web services":"AWS","azure":"Azure","microsoft azure":"Azure","gcp":"GCP","google cloud platform":"GCP","google cloud":"GCP",".Net":".NET","angular":"Angular","angular js":"Angular","Angular js":"Angular","angularjs":"Angular","AngularJS":"Angular","apache spark":"Apache Spark","asp net":".NET","ASP net":".NET","asp.net":"ASP.NET","ASP.NET":".NET","asp.net core":".NET","ASP.NET Core":".NET","backbone":"Backbone.js","BackboneJS":"Backbone.js","backbone js":"Backbone.js","backbonejs":"Backbone.js","bootstrap":"Bootstrap","Bootstrap framework":"Bootstrap","twitter bootstrap":"Bootstrap","Twitter Bootstrap":"Bootstrap","code igniter":"CodeIgniter","codeigniter":"CodeIgniter","django":"Django","ember":"Ember.js","ember js":"Ember.js","emberjs":"Ember.js","EmberJS":"Ember.js","express":"Express","express.js":"Express","Express.js":"Express","expressjs":"Express","ExpressJS":"Express","fast api":"FastAPI","Fast api":"FastAPI","fastapi":"FastAPI","flask":"Flask","flutter":"Flutter","hadoop":"Hadoop","Hadoop":"Hadoop","ionic":"Ionic","Ionic framework":"Ionic","ionic framework":"Ionic","jquery":"jQuery","JQuery":"jQuery","JQUERY":"jQuery","laravel":"Laravel","meteor":"Meteor","meteor js":"Meteor","meteorjs":"Meteor","MeteorJS":"Meteor","nestjs":"NestJS","nest js":"NestJS","Nest JS":"NestJS","Nestjs":"NestJS","next js":"Next.js","Next js":"Next.js","next.js":"Next.js","nextjs":"Next.js","NextJS":"Next.js","node":"Node.js","Node":"Node.js","node.js":"Node.js","nodejs":"Node.js","NodeJS":"Node.js","nuxt js":"Nuxt.js","Nuxt js":"Nuxt.js","nuxt.js":"Nuxt.js","nuxtjs":"Nuxt.js","NuxtJS":"Nuxt.js","phoenix":"Phoenix","Phoenix framework":"Phoenix","pytorch":"PyTorch","Pytorch":"PyTorch","torch":"PyTorch","Torch":"PyTorch","react":"React","react.js":"React","React.js":"React","reactjs":"React","ReactJS":"React","react native":"React Native","ReactNative":"React Native","reactnative":"React Native","rn":"React Native","RN":"React Native","rails":"Ruby on Rails","Rails":"Ruby on Rails","ror":"Ruby on Rails","ROR":"Ruby on Rails","ruby on rails":"Ruby on Rails","Ruby On Rails":"Ruby on Rails","spark":"Apache Spark","Spark":"Apache Spark","spring":"Spring Boot","Spring":"Spring Boot","spring boot":"Spring Boot","Spring Boot":"Spring Boot","spring framework":"Spring Boot","Spring Framework":"Spring Boot","SpringBoot":"Spring Boot","springboot":"Spring Boot","svelte":"Svelte","symfony":"Symfony","tailwind":"Tailwind CSS","Tailwind":"Tailwind CSS","tailwind css":"Tailwind CSS","Tailwind Css":"Tailwind CSS","tailwindcss":"Tailwind CSS","TailwindCSS":"Tailwind CSS","tensorflow":"TensorFlow","Tensorflow":"TensorFlow","tensor flow":"TensorFlow","Vue":"Vue.js","vue":"Vue.js","vue js":"Vue.js","vue.js":"Vue.js","vuejs":"Vue.js","VueJS":"Vue.js","xamarin":"Xamarin","Xamarin Forms":"Xamarin","Xamarin.forms":"Xamarin","livewire":"Livewire","phpunit":"PHPUnit","alpine":"Alpine.js","alpine js":"Alpine.js","alpinejs":"Alpine.js","filament":"Filament","docker":"Docker","kubernetes":"Kubernetes","k8s":"Kubernetes","github":"GitHub","gitlab":"GitLab","bitbucket":"Bitbucket","terraform":"Terraform","puppet":"Puppet","chef":"Chef","git":"Git","jenkins":"Jenkins","kafka":"Kafka","rabbitmq":"RabbitMQ","amazon sqs":"Amazon SQS","amqp":"AMQP","pubsub":"PubSub","rest api":"REST API","restful api":"RESTful APIs","restful apis":"RESTful APIs","graphql":"GraphQL","ansible":"Ansible","vagrant":"Vagrant","vault":"Vault","consul":"Consul","prometheus":"Prometheus","grafana":"Grafana","elk stack":"ELK Stack","splunk":"Splunk","scrum":"Scrum","agile":"Agile","kanban":"Kanban","devops":"DevOps","ci\/cd":"CI\/CD","tdd":"TDD","bdd":"BDD","linux":"Linux","windows":"Windows","macos":"macOS","ubuntu":"Ubuntu","centos":"CentOS","debian":"Debian","junit":"JUnit","pytest":"PyTest","jest":"Jest","mocha":"Mocha","cypress":"Cypress","selenium":"Selenium","html":"HTML","HTML":"HTML","html5":"HTML","HTML5":"HTML","css":"CSS","CSS":"CSS","css3":"CSS","CSS3":"CSS","sass":"Sass","scss":"Sass","SCSS":"Sass","less":"Less","LESS":"Less","webpack":"Webpack","gulp":"Gulp","npm":"npm","yarn":"Yarn","sql":"SQL","full time":"Fuldtid","full-time":"Fuldtid","fuldtid":"Fuldtid","part time":"Deltid","part-time":"Deltid","deltid":"Deltid","contract":"Kontrakt","kontrakt":"Kontrakt","remote":"Fjernarbejde","fjernarbejde":"Fjernarbejde","hybrid":"Hybridarbejde","hybridarbejde":"Hybridarbejde","on-site":"Fysisk tilstedeværelse","onsite":"Fysisk tilstedeværelse","fysisk tilstedeværelse":"Fysisk tilstedeværelse"}
}
## TASK:
1. **Extract ALL coding languages and frameworks** mentioned in the job description
2. **Use the skill_aliases mapping** to normalize skill names (e.g., "JS" → "JavaScript", "React.js" → "React")
3. **Only include skills from the coding_categories** (languages and frameworks)
4. **Avoid duplicates** - if "JavaScript" and "JS" are both mentioned, only include "JavaScript"
5. **Be thorough** - look for skills mentioned in:
- Job title
- Job description
- Brief summary
- Requirements sections
- Nice-to-have sections
## SKILL CATEGORIES TO EXTRACT:
- **Languages**: Programming languages (PHP, Python, JavaScript, Java, C#, Go, Rust, etc.)
- **Frameworks**: Web frameworks and libraries (Laravel, React, Vue.js, Angular, Django, Spring Boot, etc.)
- **Databases**: Database systems and data stores (MySQL, PostgreSQL, Redis, MongoDB, DynamoDB, etc.)
- **Tools**: Development tools and infrastructure (Git, Docker, AWS, CI/CD, Jenkins, Kafka, etc.)
## EXCLUSION RULES:
- Do NOT extract general skills (communication, languages like English, etc.)
- Do NOT extract business skills (Excel, PowerBI for non-technical roles)
- Do NOT extract work arrangements (remote, physical presence)
- Do NOT include methodologies (Agile, Scrum, etc.) unless specifically technical
- Do NOT include skills already in existing_skills_from_database
## OUTPUT FORMAT:
Return ONLY valid JSON in this exact structure:
{
"job_id": <integer>,
"extracted_skills": [
{
"skill_name": "<normalized_skill_name>",
"category": "<languages|frameworks|databases|tools>",
"confidence": <integer 0-100>,
"mentioned_as": ["<original_mention_1>", "<original_mention_2>"],
"context": "<brief_context_where_found>"
}
],
"reasoning": {
"total_skills_found": <integer>,
"skills_by_category": {
"languages": ["<skill1>", "<skill2>"],
"frameworks": ["<skill1>", "<skill2>"],
"databases": ["<skill1>", "<skill2>"],
"tools": ["<skill1>", "<skill2>"]
},
"duplicates_removed": ["<original_mention> → <normalized_name>"],
"excluded_skills": ["<skill>", "<reason>"]
},
"confidence": <integer 0-100>
}
Return nothing outside the JSON object.
{
"job_id": 4783,
"extracted_skills": [
{
"skill_name": "JavaScript",
"category": "languages",
"confidence": 100,
"mentioned_as": ["JavaScript", "javascript", "JS"],
"context": "mentioned as part of the required skills for frontend development"
},
{
"skill_name": "TypeScript",
"category": "languages",
"confidence": 100,
"mentioned_as": ["TypeScript", "typescript"],
"context": "mentioned as part of the required skills for frontend development"
},
{
"skill_name": "HTML",
"category": "languages",
"confidence": 100,
"mentioned_as": ["HTML", "html"],
"context": "mentioned as part of the required skills for frontend development"
},
{
"skill_name": "CSS",
"category": "languages",
"confidence": 100,
"mentioned_as": ["CSS", "css"],
"context": "mentioned as part of the required skills for frontend development"
}
],
"reasoning": {
"total_skills_found": 4,
"skills_by_category": {
"languages": ["JavaScript", "TypeScript", "HTML", "CSS"],
"frameworks": [],
"databases": [],
"tools": []
},
"duplicates_removed": [],
"excluded_skills": []
},
"confidence": 100
}
Brug avanceret AI (GPT-4o) til at generere en personaliseret ansøgning på dansk til denne jobansøgning. Brevet vil være skræddersyet til din profil, de specifikke jobkrav og omfattende virksomhedsinformation for maksimal effekt.
About the job
Rigtig mange elbilister vælger Clever, og potentialet for at skalere mere effektivt er enormt. Har du mod på at være med til at bygge noget nyt op? Vi leder efter en erfaren frontend-udvikler, der kan være drivkraften bag en ny platform.
Rollen
Der er virkelig behov for at vi i Clever får bygget bedre digitale selvbetjenings-løsninger på både web og app. Du skal være med til at bygge en ny web-applikation, hvor både brugerværdien og forretningsværdien er soleklar.
Vi er et nystartet team. Vores UX’er er allerede i gang, der ligger en masse byggeklodser i vores komponentbibliotek og alle de kedelige afklaringer er taget. Nu skal vi have noget op at stå, hjælpe vores kunder og videreudvikle det sammen.
Clevers organisering
Hos os har vi ikke klassiske titler. Vi har profiler. I andre virksomheder ville du måske blive kaldt ”Senior Frontend Developer”, ”Frontend udvikler” eller ”Lead Frontend udvikler”. Men når du starter hos os, bliver din profil ”Ansvarlig for frontend-udviklling” – for det er netop det, du er.
Hos Clever tager vi nemlig alle sammen ansvar i teamet for vores fælles retning – derfor bliver din profil; ansvarlig. Du er ikke bare en titel. Du er et helt menneske, som hos Clever har en vigtig rolle, og det kan du også se meningen i.
Hvad fyldes din dag med?
Vi skal hurtigst muligt bygge en web-selvbetjening til vores privat-kunder, med udgangspunkt i vores komponentbibliotek. Du skal være med til at konceptualisere og sætte retning for selvbetjening på tværs af web, app og andre touchpoints. Du får stor indflydelse og teamet kan træffe langt de fleste beslutninger selv.
Vi skal løse brugernes behov og hjælpe vores kollegaer i kundeservice, så vi kan skalere mere effektivt. Der er et stort forretningsmæssigt potentiale, så det vi bygger har fokus og prioritet i Clever.
Hvem bliver dine kollegaer?
Vi er et nyt team og du skal være med til at skabe både produktet og den måde vi er sammen på. Teamet er komplet til at kunne eksekvere og tage beslutninger autonomt.
Der er et stort fagligt overlap med vores selvbetjening til erhvervskunder, hvor der sidder både backend-udviklere, frontend-udviklere, UI- og UX-designere, som kan hjælpe med afklaringer og indsigter.
Clever har et godt udvikler-fællesskab, hvor der er sparring på tværs af både hverdagsudfordringer, men også de dybere snakke om værktøjer, metoder og standarder.
Udfordringer og ressourcer
Clever har rigtig mange kunder, så det er vigtigt at vi kommer hurtigt i luften med selvbetjening fordi potentialet er stort – men samtidig skal det være robust, så vi ikke bliver lagt ned af drift.
Mange funktioner i selvbetjening kræver udvikling dybt i vores data-systemer. Det kan være en udfordring at lave den bedste løsning i ét hug, så sammen skal vi kunne skære leverancerne over i værdiskabende bidder. Det kræver tålmodighed og blik for helheden.
Hvad kommer du med?
Du har flere års erfaring med frontend-udvikling – JavaScript/TypeScript, HTML, CSS (vores komponent-bibliotek er skrevet i lit/web-components og TypeScript)
Du har været (med)ansvarlig for at bygge og lancere applikationer fra bunden til mange brugere. Du ved hvad det vil sige at lave en robust platform med minimal drift
Dit blik er detaljeret i forhold til pixels, brugeroplevelsen i flows og du er god til at sparre med UX og design, så vi får det hele med
Du har en forståelse for arkitektur og kan indgå i tekniske konceptudvikling med backend-udviklere og arkitekter
Du har prøvet at indgå i et agilt setup og har erfaring fra organisationer med flere teams. Du ved også at planning, refining, daily er nødvendigt for at vi kan hjælpe hinanden og arbejde i fællesskab
Du motiveres af, at det du bygger kan måles i effektivisering, konvertering og kundetilfredshed. Det betyder noget for dig, hvad brugerne synes om dit produkt
Medledelseskompetencer
Du holder dit ego i skak og ved, at succes handler om at løfte i flok mod fælles mål
Du tager naturligt ansvar for både dig selv og dine kollegaer, med omsorg og nærvær
Du er en holdspiller, der ser arbejde som et samarbejde, ikke en konkurrence
Har du sat mentale flueben hele vejen igennem?
Send gerne din ansøgning afsted allerede i dag – for vi kan godt finde på at lukke opslaget ned før tid, hvis vi møder det rigtige match.
Du kan læse mere om, hvordan det er at arbejde hos os på: www.clever.dk/velkommen .
Er du nysgerrig på vores rekrutteringsproces kan du læse mere om den her: Rekrutteringsprocessen i Clever | Clever .
Vi glæder os til at høre fra dig!