Senior Full-Stack Engineer (React / TypeScript/ Cloudflare) — Product UI & Design Systems

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

TYPE OF WORK

Full Time

SALARY

$1,100 – $2,000 USD / month, full-time.

HOURS PER WEEK

40

DATE UPDATED

Aug 19, 2026

JOB OVERVIEW

I'm Jameson, founder of Sentus AI, Inc., a proptech corporation. Before software, I spent 20 years as a landlord, property manager, maintenance tech, contractor, and licensed agent in California, which is one of the hardest places in the country to do any of them. I've spent the last year building the product I wished existed.

You'd contract directly with the company and be paid via WISE. No agency, no BPO floor, no middleman.

What's actually true about the product: it's substantially built an AI voice agent, work orders, six role-based portals, and a marketing site. What it doesn't have is a second engineer who notices when the spacing is wrong, when a page is a wall of text, or when a flow technically works but feels broken. That's the job.

What you'd own in the first 60 days
One buyer-facing surface takes a pricing or product page from "functional" to "convincing." Real screenshots, real hierarchy, real proof.
One in-product journey owner, resident, or maintenance. Make first-value fast and obvious.
The shared component layer we have a design system and a token set. Most pages don't use them. Wiring the existing primitives in, and building the two or three that are genuinely missing, stops the same defect recurring on every future page.

The stack
React · TypeScript · Astro · Tailwind · shadcn/Radix primitives · Storybook · Figma (tokens, auto-layout) · Cloudflare Pages, Workers, D1

CI/CD is GitHub Actions with a merge queue and visual-regression gates. You'll work inside it and improve it. You won't own it on day one; it has years of accumulated context, and help me clean up our workflow and automation.

What I'm looking for
Senior production experience in React and TypeScript real applications, not tutorials
Genuine visual judgment. This is the differentiator. Plenty of engineers can close a ticket. I need someone who looks at a page and knows why it feels cheap.
Comfort translating Figma into production code, including the micro-interactions
Accessibility and responsive quality are treated as part of the work, not a cleanup pass.
Ability to work from a written scope with a small daily overlap
On AI tools: I use them every day, and I expect you will too. But I'll ask you to open your own code on a screen share and explain why you chose one approach over another. If AI wrote it and you can't defend the tradeoff, that surfaces in about four minutes.

How this works
You apply with the evidence below.
A 45-minute conversation; part of it is you sharing your screen and walking me through your own repository
Paid work sample: 30 hours, paid whether or not we continue. Synthetic repo, fake data. Per OnlineJobs.ph policy and my own, all trial work is compensated.
A 2–3 week paid milestone on real scoped work
Ongoing, if it's working for both of us
Hours: Philippine daytime. I'm in California. We'll set one small fixed overlap window.

Where this goes: once we're in the market and past five people, I intend to spend a few months in the Philippines working alongside the team. I have family in Vigan and Manila. I'm hiring the people I expect to still be working with in three years, and I'd rather grow a technical lead from inside than import one later. I'm not promising a title. I'm telling you what I'm looking for.

To apply
Begin your message with this exact line: Sentus Engineer

Then include:

Two live products you personally built, with 2–3 sentences on exactly what was yours
GitHub or portfolio link
Expected monthly rate and earliest start date
One UI or architecture decision you'd still defend, and why

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.0152
Total Execution Time  0.0166
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,504,056 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Senior-Full-Stack-Engineer-React-TypeScript-Cloudflare-Product-UI-Design-Systems-1712638
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0077 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0006   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1712638
 LIMIT 1 
0.0006   SELECT *
FROM `employers`
WHERE `employer_id` = 959753
 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` = 1712638
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-09-21',ej.date_added) duration_daysDATEDIFF('2026-09-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-09-21',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1712638' 
0.0004   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1712638 
0.0008   UPDATE employer_jobs SET hit_counts '***Aug-19-2026=229***Aug-20-2026=157***Aug-21-2026=55***Aug-22-2026=41***Aug-23-2026=18***Aug-24-2026=30***Aug-25-2026=12***Aug-26-2026=18***Aug-27-2026=9***Aug-28-2026=6***Aug-29-2026=24***Aug-30-2026=27***Aug-31-2026=9***Sep-01-2026=20***Sep-02-2026=13***Sep-03-2026=9***Sep-04-2026=1***Sep-05-2026=94***Sep-06-2026=148***Sep-07-2026=152***Sep-08-2026=146***Sep-09-2026=149***Sep-10-2026=155***Sep-11-2026=150***Sep-12-2026=148***Sep-13-2026=149***Sep-14-2026=154***Sep-15-2026=149***Sep-16-2026=151***Sep-17-2026=157***Sep-18-2026=136***Sep-19-2026=117***Sep-21-2026=2' WHERE job_id'1712638'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Aug-2026=634***Sep-2026=2200' WHERE job_id'1712638'  
0.0008   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1712638' AND status LIKE 'sent%' ORDER BY id DESC  
0.0004   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1712638 
0.0008   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '959753'
AND `date_added` >= '2022-06-08' 
0.0005   select from teasers 
0.0004   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)