Junior Web Developer

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Full Time

SALARY

N/A

HOURS PER WEEK

40

DATE UPDATED

Sep 24, 2026

JOB OVERVIEW

We're ApartmentHub, a growing rental platform in the Netherlands. We help tenants find and apply for apartments through a bilingual application website, and we run an internal CRM that our team uses every day. We're looking for a motivated Junior Full-Stack Developer who is comfortable on both the front end and the back end and wants to grow fast by shipping real features to real users.

This is not a "just follow tickets" role. You'll own features from the database to the screen: designing the table, writing the API, building the page, and deploying it. If you enjoy seeing the whole picture and not just one piece of it, you'll fit right in.

Front-end responsibilities

Build responsive, user-friendly pages and components in Next.js (App Router) and React
Write clean TypeScript and CSS (CSS Modules, Tailwind, or similar)
Turn designs and tickets into polished, working interfaces
Handle forms, validation, loading states, and error handling
Support our bilingual (Dutch/English) website

Back-end responsibilities

Build and maintain API routes and server-side logic with Node.js and Next.js server functions
Design and manage database tables, queries, and relationships in Supabase (Postgres)
Work with Supabase authentication, storage, and row-level security
Write SQL for reporting, data fixes, and CRM features
Integrate third-party services and APIs

Across the stack

Use GitHub daily: branches, pull requests, code reviews
Deploy and monitor on Vercel, including environment variables and debugging failed builds
Use Claude Code and other agentic AI tools to move faster, while still understanding, reviewing, and testing the code they produce
Debug issues end to end, from the UI down to the database

What we're looking for

1–2 years of experience, or strong personal projects we can look at
Solid foundation in both front-end (React/Next.js, TypeScript, CSS) and back-end (Node.js, SQL) development
Has built at least one project that includes a database, an API, and a user interface
Familiar with Git and GitHub workflows
Has used AI coding tools (Claude Code, Cursor, Copilot, etc.) and knows their limits
Good written English and clear communication
Self-motivated: you figure things out, ask good questions, and don't wait to be told every step
Reliable internet and a working setup

Nice to have

Supabase or PostgreSQL experience
Experience with multilingual (i18n) websites
Experience building dashboards, admin panels, or CRM-style tools
Projects deployed on Vercel you can show us

What we offer

Long-term, stable role with a real product and real users
Full-stack experience on a modern stack, not stuck in one corner of the codebase
Mentorship and fast learning
Hands-on experience with AI-assisted development, a skill that's only getting more valuable
Room to grow as you prove yourself

How to apply
To show us you read the full post, start your application with the words "I ship with AI". Applications without this will not be reviewed.

Please include:

Your GitHub profile or links to 1–2 projects you built (live links are a plus). At least one should include both a front end and a back end/database
A short answer: tell us about a bug you got stuck on, whether it was in the UI, the API, or the database, and how you tracked it down
Which AI coding tools you've used and one thing you learned the hard way using them
Optional but recommended: a 1–2 minute Loom or video introducing yourself

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0008
Controller Execution Time ( Jobseekers / Job )  0.0148
Total Execution Time  0.0162
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,503,376 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Junior-Web-Developer-1737505
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0096 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
= 'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1737505
 LIMIT 1 
0.0009   SELECT *
FROM `employers`
WHERE `employer_id` = 884408
 LIMIT 1 
0.0010   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `misc` ON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1737505
AND `misc`.`id` IS NULL 
0.0005   SELECT e.business_name, e.logo, e.website, e.rebill_date, e.date_added member_date, hits, DATEDIFF('2026-09-27',ej.date_added) duration_days, DATEDIFF('2026-09-27',e.rebill_date) duration_rebill, ej.*, e.deactivate FROM employers e, employer_jobs ej WHERE e.employer_id = ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id = '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-09-27',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != 1 AND ej.deleted = 0 AND job_id = '1737505' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1737505 
0.0007   UPDATE employer_jobs SET hit_counts = '***Sep-24-2026=1203***Sep-25-2026=483***Sep-26-2026=251***Sep-27-2026=2' WHERE job_id= '1737505'  
0.0006   UPDATE employer_jobs SET monthly_hits = '***Sep-2026=1939' WHERE job_id= '1737505'  
0.0003   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id = '' AND job_id = '1737505' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1737505 
0.0038   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '884408'
AND `date_added` >= '2022-06-08' 
0.0004   select * from teasers 
0.0002   SELECT * FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)