Full-Stack Developer - React, Node.js, Python - 720,000kr
Copenhagen, Capital Region of Denmark, Denmark
Oct 1, 2025
 
                            Computerkonsulentbistand og forvaltning af computerfaciliteter
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":4566,"title":"Full-Stack Developer - React, Node.js, Python - 720,000kr","company_name":"Akkodis","description":"About the job\n\nSenior Full Stack Developer - Node.js\/ Fast API\/ Python - 720,000kr\n\n \n\nIf you're a full-stack developer with experience using Node.js, Fast APIs, with strong data and AI expertise, and you're excited by the idea of building scalable products this role offers hands-on development and product ownership.\n\n \n\nMy client are an AI-first consultancy who have already transformed their client's data processing and workflow functions across a multitude of sectors. They are experts in their field, using the most innovative technology, creating robust data functions for an extremely enviable client base.\n\n \n\nThey're now exploring the dynamic from just pure consulting to product development, and it's the ideal time to bring in a technical all-rounder who can help identify repeatable inefficiencies and turn them into scalable solutions. This role combines hands-on development, product thinking, and the opportunity to shape technical direction. This is a key hire as the first in their team with experience across both development and data.\n\n \n\nYou'll be comfortable working across the tech-stack (with slightly more focus on backend development), while also contributing to AI and data-driven solutions. You'll collaborate closely with consultants to understand client needs and help translate those into reusable products.\n\n \n\nThis is a fantastic opportunity to join a collaborative, outcome-focused team where your technical skillset and product mindset will be fully appreciated. You'll have autonomy across all areas of development, with the chance to shape product direction from the ground up.\n\n \n\nWhat you will do:\n* Build data products and AI tools\n* Develop backend services and frontend user interfaces using modern frameworks\n* Build data pipelines, analytical models, and automation systems\n* Collaborate with consultants to understand recurring client needs\n* Participate in technical discussions and solution design\n\n \n\nYour Skills:\n* Hands-on experience with full-stack development (React, Node.js, Python\/FastAPI)\n* Strong data processing, analytics, and visualisation skills\n* Experience implementing AI\/ML solutions\n* Experience deploying and maintaining applications in production using Azure, GCP, or AWS\n* Exposure to data engineering tools like DBT, Airflow and DevOps \n* Experience with agentic AI systems or LLM applications\n\n \n\nBenefits:\n* Competitive compensation package\n* Opportunity to shape product direction from day one\n* Modern workspace in SOHO Kødbyen with great coffee, lunch, and team activities\n* Collaborative work environment with data engineers, developers, and consultants\n* Direct access to real client problems and the chance to solve them at scale\n\n \n\nApply using the link or send me a message over asap! \nhelen.bewick@akkodisgroup.com \/ +44 115 948 5705\n\n\nDesired Skills and Experience\n\n\n\n\n\n\nModis International Ltd acts as an employment agency for permanent recruitment and an employment business for the supply of temporary workers in the UK. Modis Europe Ltd provide a variety of international solutions that connect clients to the best talent in the world. For all positions based in Switzerland, Modis Europe Ltd works with its licensed Swiss partner Accurity GmbH to ensure that candidate applications are handled in accordance with Swiss law. \n\n\n\n\nBoth Modis International Ltd and Modis Europe Ltd are Equal Opportunities Employers. \n\n\n\n\nBy applying for this role your details will be submitted to Modis International Ltd and\/ or Modis Europe Ltd. Our Candidate Privacy Information Statement which explains how we will use your information is available on the Modis website.","brief_summary_of_job":null,"existing_skills_from_job":["Hybrid","Full-time","€90K\/yr - €97K\/yr","JavaScript","Artificial Intelligence (AI)","Python (Programming Language)","React.js","Back-End Web Development","Full-Stack Development","HTML","Analytical Skills","Amazon Web Services (AWS)","XML","Python","FastAPI","Node.js","React","AWS","Azure","GCP"],"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": 4566,
  "extracted_skills": [
    {
      "skill_name": "Node.js",
      "category": "frameworks",
      "confidence": 100,
      "mentioned_as": ["Node.js"],
      "context": "mentioned in the job title and description"
    },
    {
      "skill_name": "FastAPI",
      "category": "frameworks",
      "confidence": 100,
      "mentioned_as": ["Fast API", "FastAPI"],
      "context": "mentioned in the job title and description"
    },
    {
      "skill_name": "Python",
      "category": "languages",
      "confidence": 100,
      "mentioned_as": ["Python", "Python (Programming Language)"],
      "context": "mentioned in the job title and description"
    },
    {
      "skill_name": "React",
      "category": "frameworks",
      "confidence": 100,
      "mentioned_as": ["React", "React.js"],
      "context": "mentioned in the job description"
    },
    {
      "skill_name": "AWS",
      "category": "tools",
      "confidence": 100,
      "mentioned_as": ["AWS", "Amazon Web Services (AWS)"],
      "context": "mentioned in the requirements section"
    },
    {
      "skill_name": "Azure",
      "category": "tools",
      "confidence": 100,
      "mentioned_as": ["Azure", "Microsoft Azure"],
      "context": "mentioned in the requirements section"
    },
    {
      "skill_name": "GCP",
      "category": "tools",
      "confidence": 100,
      "mentioned_as": ["GCP", "Google Cloud Platform"],
      "context": "mentioned in the requirements section"
    },
    {
      "skill_name": "DBT",
      "category": "tools",
      "confidence": 100,
      "mentioned_as": ["DBT"],
      "context": "mentioned in the requirements section"
    },
    {
      "skill_name": "Airflow",
      "category": "tools",
      "confidence": 100,
      "mentioned_as": ["Airflow"],
      "context": "mentioned in the requirements section"
    }
  ],
  "reasoning": {
    "total_skills_found": 9,
    "skills_by_category": {
      "languages": ["Python"],
      "frameworks": ["Node.js", "FastAPI", "React"],
      "databases": [],
      "tools": ["AWS", "Azure", "GCP", "DBT", "Airflow"]
    },
    "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
Senior Full Stack Developer - Node.js/ Fast API/ Python - 720,000kr
If you're a full-stack developer with experience using Node.js, Fast APIs, with strong data and AI expertise, and you're excited by the idea of building scalable products this role offers hands-on development and product ownership.
My client are an AI-first consultancy who have already transformed their client's data processing and workflow functions across a multitude of sectors. They are experts in their field, using the most innovative technology, creating robust data functions for an extremely enviable client base.
They're now exploring the dynamic from just pure consulting to product development, and it's the ideal time to bring in a technical all-rounder who can help identify repeatable inefficiencies and turn them into scalable solutions. This role combines hands-on development, product thinking, and the opportunity to shape technical direction. This is a key hire as the first in their team with experience across both development and data.
You'll be comfortable working across the tech-stack (with slightly more focus on backend development), while also contributing to AI and data-driven solutions. You'll collaborate closely with consultants to understand client needs and help translate those into reusable products.
This is a fantastic opportunity to join a collaborative, outcome-focused team where your technical skillset and product mindset will be fully appreciated. You'll have autonomy across all areas of development, with the chance to shape product direction from the ground up.
What you will do:
* Build data products and AI tools
* Develop backend services and frontend user interfaces using modern frameworks
* Build data pipelines, analytical models, and automation systems
* Collaborate with consultants to understand recurring client needs
* Participate in technical discussions and solution design
Your Skills:
* Hands-on experience with full-stack development (React, Node.js, Python/FastAPI)
* Strong data processing, analytics, and visualisation skills
* Experience implementing AI/ML solutions
* Experience deploying and maintaining applications in production using Azure, GCP, or AWS
* Exposure to data engineering tools like DBT, Airflow and DevOps
* Experience with agentic AI systems or LLM applications
Benefits:
* Competitive compensation package
* Opportunity to shape product direction from day one
* Modern workspace in SOHO Kødbyen with great coffee, lunch, and team activities
* Collaborative work environment with data engineers, developers, and consultants
* Direct access to real client problems and the chance to solve them at scale
Apply using the link or send me a message over asap!
helen.bewick@akkodisgroup.com / +44 115 948 5705
Desired Skills and Experience
Modis International Ltd acts as an employment agency for permanent recruitment and an employment business for the supply of temporary workers in the UK. Modis Europe Ltd provide a variety of international solutions that connect clients to the best talent in the world. For all positions based in Switzerland, Modis Europe Ltd works with its licensed Swiss partner Accurity GmbH to ensure that candidate applications are handled in accordance with Swiss law.
Both Modis International Ltd and Modis Europe Ltd are Equal Opportunities Employers.
By applying for this role your details will be submitted to Modis International Ltd and/ or Modis Europe Ltd. Our Candidate Privacy Information Statement which explains how we will use your information is available on the Modis website.