Full-Stack Developer (TypeScript / React / AWS) — Long-Term, Full-Time

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

TYPE OF WORK

Any

WAGE / SALARY

1200-2000 USD a month

HOURS PER WEEK

40

DATE UPDATED

Jun 16, 2026

JOB OVERVIEW

About the role

We're a UK-based ecommerce company building a SaaS web platform that helps online retailers understand and improve their business performance. The product is live and growing, and we're looking for one skilled developer to join us full-time and help take it forward — building new features, improving what's there, and keeping everything running smoothly.

This is a long-term position for someone who wants stability, ownership of their work, and the chance to grow with a product over years, not weeks. You'll work directly with the founder, so clear communication and the ability to work independently matter as much as your code.

What you'll be doing

- Building and maintaining features across the full stack (frontend and backend)
- Working with our API integrations to third-party services and pulling/processing data reliably
- Writing clean, tested, maintainable TypeScript
- Helping diagnose and fix bugs, and improving performance
- Collaborating on what to build next — your ideas are welcome

You must have solid experience with

- TypeScript & Node.js (this is non-negotiable — most of our code is TypeScript)
- React (modern hooks, component-driven UIs)
- AWS serverless — Lambda, API Gateway, and ideally infrastructure-as-code (CDK or CloudFormation)
- PostgreSQL / relational databases — schema design, writing efficient queries, migrations
- REST APIs — both consuming third-party APIs and building your own
- Git and a disciplined, test-as-you-go working style

Nice to have (not required)

- Experience integrating with large external APIs (marketplaces, payment providers, etc.)
- AWS Step Functions, EventBridge, or other event-driven patterns
- Stripe integration
- An eye for clean, usable UI

What we offer

- Full-time, long-term, stable role (40 hrs/week)
- Competitive monthly salary based on your experience
- Real ownership — you'll see your work used by real customers

Working hours: Mostly flexible, but you'll need 2–3 hours of overlap with UK business hours (GMT/BST) for calls and collaboration.

---
HOW TO APPLY — please read carefully

I get a lot of applications, so I screen hard. To show me you actually read this:

1. Start your message with the word EVERGREEN (applications without this are deleted unread).
2. Briefly tell me about one project where you used TypeScript on AWS — what it did and what your specific role was.
3. Answer this: "You need to fetch data from a third-party API that's slow and sometimes rate-limits you. How would you make that reliable?" (2–3 sentences is fine.)
4. Send a link to your GitHub, portfolio, or any code sample you're proud of.

I'll reply within a few days to anyone who follows all four steps. Looking forward to meeting you.

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.0555
Total Execution Time  0.0569
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,524,696 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Full-Stack-Developer-TypeScript-React-AWS-Long-Term-Full-Time-1669568
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0498 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1669568
 LIMIT 1 
0.0010   SELECT *
FROM `employers`
WHERE `employer_id` = 780702
 LIMIT 1 
0.0400   SELECT COUNT(DISTINCT t.id) as cnt
FROM 
`t_thread` `t`
INNER JOIN `t_message` `mON `t`.`id` = `m`.`thread_id`
INNER JOIN `t_message_employer` `eON `m`.`id` = `e`.`message_id`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1669568
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-06-21',ej.date_added) duration_daysDATEDIFF('2026-06-21',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-06-21',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1669568' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1669568 
0.0007   UPDATE employer_jobs SET hit_counts '***Jun-16-2026=665***Jun-17-2026=180***Jun-18-2026=91***Jun-19-2026=35***Jun-20-2026=18***Jun-21-2026=1' WHERE job_id'1669568'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Jun-2026=989' WHERE job_id'1669568'  
0.0008   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1669568' 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` = 1669568 
0.0046   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '780702'
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)