Full-Stack Developer for WMS SaaS (Next.js + TypeScript + AI Tools)

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

TYPE OF WORK

Full Time

SALARY

$400 - $1200 Per Month

HOURS PER WEEK

40

DATE UPDATED

Nov 27, 2025

JOB OVERVIEW

About the Project
WMSPro - A modern, multi-tenant warehouse management system handling inventory, order fulfillment, pick/pack/ship workflows, pricing, and shipping integrations. Production SaaS with active customers.
Tech Stack
Frontend: Next.js 16 (App Router), React 19, TypeScript, Tailwind CSS v4
Backend: Supabase (Auth, Storage, Edge Functions), Neon Postgres
Tools: pnpm workspaces, Turborepo, Vercel, Git
What You'll Do
Build warehouse operation UIs (receiving, picking, packing, shipping)
Write PostgreSQL functions, triggers, and complex queries
Create server actions and API routes
Develop reports and analytics dashboards
Integrate third-party APIs (shipping carriers, accounting, e-commerce)
Debug and optimize performance
Required Skills ?? Don't Apply Without These
? 2+ years professional experience with:
Next.js App Router (not Pages Router)
TypeScript (strong typing, interfaces)
React (hooks, forms, state management)
Tailwind CSS
PostgreSQL (SQL queries, functions, triggers)
? AI-Assisted Development:
Experience using Cursor AI or Claude for coding
Comfortable working with AI pair programming tools
Can debug and refine AI-generated code
? Communication:
Strong written English
Can explain technical decisions clearly
Comfortable with async chat collaboration
Preferred (Nice to Have)
Supabase or similar BaaS platforms
Monorepo experience (Turborepo, pnpm)
WMS/ERP/supply chain software background
Shipping API integrations (FedEx, UPS, USPS)
PDF generation ----------
Work Details
Type: Long-term contractor ? potential full-time
Hours: 20-40 hrs/week (must overlap 2-3 hours with US business hours)
Rate: Competitive based on experience
Start: Immediately
Location: Remote (Philippines)
How to Apply
Include in your application:
Expected rate (hourly or monthly)
GitHub profile link (required)
Portfolio of Next.js + TypeScript projects
Answer these:
Years of experience with Next.js App Router?
Experience with PostgreSQL (functions, triggers)?
Have you used Cursor AI or Claude for development?
Availability (hours/week)?
Can you start immediately?
?? No GitHub link = Auto-reject
Why Join?
? Real production SaaS with paying customers
? Modern stack - latest Next.js, React, TypeScript
? Complex, interesting problems (not basic CRUD)
? Long-term opportunity with growth potential
? Flexible hours, direct communication with owner
? Work with cutting-edge AI development tools
Looking for someone who:
Writes clean, maintainable code
Works independently with minimal supervision
Leverages AI tools effectively
Wants a long-term partnership
Apply now! ????

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0010
Controller Execution Time ( Jobseekers / Job )  0.0142
Total Execution Time  0.0171
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,503,744 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Full-Stack-Developer-for-WMS-SaaS-Nextjs-TypeScript-AI-Tools-1522630
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0077 seconds)  (Hide)
0.0016   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1522630
 LIMIT 1 
0.0004   SELECT *
FROM `employers`
WHERE `employer_id` = 812988
 LIMIT 1 
0.0010   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1522630
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-04-17',ej.date_added) duration_daysDATEDIFF('2026-04-17',e.rebill_date) duration_rebillej.*, e.deactivate FROM employers eemployer_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-04-17',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1522630' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1522630 
0.0008   UPDATE employer_jobs SET hit_counts '***Nov-27-2025=164***Nov-28-2025=42***Nov-29-2025=18***Nov-30-2025=11***Dec-01-2025=17***Dec-02-2025=6***Dec-03-2025=4***Dec-04-2025=5***Dec-05-2025=2***Dec-06-2025=2***Dec-07-2025=1***Dec-08-2025=4***Dec-09-2025=1***Dec-10-2025=1***Dec-11-2025=4***Dec-13-2025=1***Dec-14-2025=3***Dec-15-2025=2***Dec-16-2025=1***Dec-17-2025=2***Dec-20-2025=6***Dec-23-2025=1***Dec-24-2025=1***Dec-26-2025=1***Dec-27-2025=4***Dec-30-2025=2***Jan-01-2026=1***Jan-02-2026=1***Jan-03-2026=1***Jan-05-2026=1***Jan-06-2026=4***Jan-08-2026=3***Jan-09-2026=1***Jan-12-2026=1***Jan-14-2026=1***Jan-15-2026=1***Jan-16-2026=2***Jan-17-2026=1***Jan-18-2026=1***Jan-19-2026=1***Jan-20-2026=1***Jan-21-2026=2***Jan-22-2026=1***Jan-24-2026=2***Jan-25-2026=1***Jan-27-2026=2***Jan-28-2026=1***Jan-30-2026=1***Feb-02-2026=5***Feb-14-2026=1***Feb-15-2026=1***Feb-16-2026=2***Feb-17-2026=1***Feb-18-2026=1***Feb-22-2026=1***Feb-27-2026=1***Feb-28-2026=1***Mar-08-2026=1***Mar-09-2026=1***Mar-10-2026=1***Mar-22-2026=1***Mar-26-2026=1***Mar-29-2026=1***Mar-31-2026=82***Apr-01-2026=47***Apr-17-2026=1' WHERE job_id'1522630'  
0.0007   UPDATE employer_jobs SET monthly_hits '***Nov-2025=235***Dec-2025=71***Jan-2026=31***Feb-2026=14***Mar-2026=88***Apr-2026=48' WHERE job_id'1522630'  
0.0009   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1522630' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1522630 
0.0004   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '812988'
AND `date_added` >= '2022-06-08' 
0.0003   select from teasers 
0.0002   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)