Full Stack Developer (Next.js + Python) - Long Term

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

TYPE OF WORK

Full Time

SALARY

$1,200 - $1,500/month

HOURS PER WEEK

40

DATE UPDATED

Sep 1, 2026

JOB OVERVIEW

Full-Stack Developer (Next.js + Python) — Long-Term Role

We're a US insurance company with a live web platform, and our development backlog is growing faster than we can clear it. We're looking for a strong full-stack developer to join long-term and help us ship — both frontend and backend.

You'll work across our whole stack: Next.js / React / TypeScript on the frontend, and Python (FastAPI) on the backend. Day to day, you'll be fixing bugs, building features, and closing out real work that matters to the business.

This is a long-term role for someone reliable who takes ownership and ships good work consistently — not a short project.

What you'll do

Build and fix features on the frontend using Next.js, React, and TypeScript
Build and maintain backend APIs in Python (FastAPI)
Work through our backlog: bugs, improvements, and new features
Work with our database (PostgreSQL) and REST APIs
Communicate clearly about what you're working on and what's blocking you

What we're looking for

At least 4 years of real full-stack web development experience
Strong with Next.js, React, and TypeScript (please only apply if you use these hands-on)
Strong with Python backend development (FastAPI, Django, or Flask)
Able to work independently and take ownership of your work
You can make decisions on your own — when there's more than one way to build something, you can weigh the options, choose, and explain your reasoning
You write clean, readable code that others can review and maintain
Reliable, communicative, and comfortable in a long-term remote role
Good written English

Nice to have

Cloud experience (Google Cloud, AWS)
Experience working with a live product that has real users
Insurance or fintech experience

The bar we hire against

We use AI coding tools a lot, and they handle plenty of routine work. So the people we hire need to bring more than that: real depth in something, or enough ownership and judgment that we can hand you a whole area and trust it's done well without being managed step by step.

Working hours

9:00 AM EST start for the first 90 days while we get you situated. After that, there may be room to revisit the schedule.

Our hiring process

A technical interview with our team
A mock trial run — we give you a real problem from our platform and you work through it, so we can both see if it's a good fit

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0012
Controller Execution Time ( Jobseekers / Job )  0.0147
Total Execution Time  0.0168
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,499,416 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Full-Stack-Developer-Nextjs-Python-Long-Term-1721445
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0054 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
= 'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1721445
 LIMIT 1 
0.0004   SELECT *
FROM `employers`
WHERE `employer_id` = 948045
 LIMIT 1 
0.0004   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `misc` ON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1721445
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-25',ej.date_added) duration_days, DATEDIFF('2026-09-25',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-25',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != 1 AND ej.deleted = 0 AND job_id = '1721445' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1721445 
0.0007   UPDATE employer_jobs SET hit_counts = '***Sep-01-2026=490***Sep-02-2026=231***Sep-03-2026=84***Sep-04-2026=78***Sep-05-2026=30***Sep-06-2026=45***Sep-07-2026=56***Sep-08-2026=56***Sep-09-2026=52***Sep-10-2026=46***Sep-11-2026=34***Sep-12-2026=17***Sep-13-2026=18***Sep-14-2026=25***Sep-15-2026=35***Sep-16-2026=35***Sep-17-2026=35***Sep-18-2026=24***Sep-19-2026=11***Sep-24-2026=1***Sep-25-2026=1' WHERE job_id= '1721445'  
0.0006   UPDATE employer_jobs SET monthly_hits = '***Sep-2026=1404' WHERE job_id= '1721445'  
0.0003   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id = '' AND job_id = '1721445' 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` = 1721445 
0.0004   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '948045'
AND `date_added` >= '2022-06-08' 
0.0003   select * from teasers 
0.0006   SELECT * FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)