Senior Full-Stack Engineer

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

TYPE OF WORK

Part Time

SALARY

Please let us know your desired salary

HOURS PER WEEK

20

DATE UPDATED

Mar 27, 2026

JOB OVERVIEW

- About BaseOne
BaseOne is a data and AI-driven solutions company based in London, United Kingdom. We build design-led, data-driven products — from enterprise analytics platforms and AI automation tools to consumer-facing health and fitness apps.

Our product portfolio includes:
AI-powered consumer platforms — subscription apps combining personalised AI experiences with commerce

B2B SaaS products — coaching and client management tools for professionals

Enterprise data & analytics — dashboards, data integration, and predictive analytics for large organisations

AI & automation — conversational AI, agentic workflows, and intelligent process automation

Primer Accelerator — our pre-built data platform for PMO and project controls

We're a small, high-output team that blends strategy, design, and engineering in-house. We ship real products, not decks.

- The Role
We're looking for a senior full-stack engineer to work across multiple products and codebases. You'll ship features end-to-end — web, mobile, API, database, AI integrations — and move between projects as priorities shift.

You'll work directly with our founder, own meaningful chunks of each product, and have real influence over technical decisions.

AI-assisted development (Claude Code, agentic workflows) is a core part of how we build.

This is a hands-on, high-autonomy role. You'll need to context-switch, pick things up fast, and deliver without hand-holding.

- What You'll Work On
Consumer app features — AI-powered personalisation, content generation, tracking, social/gamification

SaaS platform — dashboards, client management, plan assignment, messaging, check-ins

AI integrations — LLM-powered features, prompt engineering, streaming, function calling (OpenAI + Anthropic)

Commerce & affiliate systems — product catalogues, recommendations, click tracking

Data & analytics products — dashboards, data visualisation, real-time reporting

Mobile apps — React Native / Expo with web feature parity

Platform quality — accessibility, security, compliance, performance

The mix will shift depending on what's shipping. Flexibility matters more than specialism.

- Tech Stack
Frontend: Next.js, React, React Native (Expo), TailwindCSS

Backend: Node.js, PostgreSQL, Supabase, REST APIs

AI: OpenAI + Anthropic (Claude)

Payments: Stripe, RevenueCat

Infrastructure: Turborepo monorepos, Railway, EAS Build

Language: TypeScript throughout

Testing: Vitest, Playwright

Analytics: PostHog, custom dashboards

- What We're Looking For
Must Have;
5+ years building production web apps with React and TypeScript

Strong Next.js experience (App Router, API routes, SSR)

Comfortable with PostgreSQL — migrations, schema design, query optimisation

Experience integrating AI/LLM APIs (OpenAI, Anthropic, or similar)

Solid API design skills — auth, validation, error handling, rate limiting

Testing discipline — unit, integration, E2E

Comfortable context-switching across multiple products

Can work autonomously with clear scope and minimal oversight

- Nice to Have
React Native / Expo experience

Supabase or similar BaaS

AI-assisted development workflows (Claude Code, Cursor, Copilot)

Data visualisation / dashboard experience (D3, Recharts, Power BI embeds)

SaaS subscription patterns (tiering, feature gating, billing)

Wearable / IoT integrations

WCAG 2.1 AA accessibility

UK GDPR / data compliance awareness

- How We Work
Small team, high trust, fast shipping

AI-augmented development — agentic tooling built into the workflow

Architecture-first — we agree on contracts before coding

Monorepo patterns with shared types and design tokens

Quality gates on every piece of work — build, lint, type-check, tests

Phase-based delivery with clear scope docs

- What You'll Get
Direct collaboration with the founder — short feedback loops, real influence

Variety — multiple products, not the same CRUD app forever

AI tooling that genuinely accelerates your output

Well-documented, well-architected codebases

Ownership of meaningful features across the portfolio

- Working Arrangement
Fully remote

Part-time to start

Opportunity to move to full-time

- To Apply
Send us:
Your CV or portfolio

A brief note on why this interests you

Links to relevant shipped products

Your availability and rate/salary expectations

Contact: ----------

We look forward to hearing from you

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0020
Controller Execution Time ( Jobseekers / Job )  0.0198
Total Execution Time  0.0227
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,511,304 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Senior-Full-Stack-Engineer-1611777
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0105 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1611777
 LIMIT 1 
0.0009   SELECT *
FROM `employers`
WHERE `employer_id` = 878286
 LIMIT 1 
0.0020   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1611777
AND `misc`.`idIS NULL 
0.0006   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-04-18',ej.date_added) duration_daysDATEDIFF('2026-04-18',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-18',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1611777' 
0.0005   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1611777 
0.0008   UPDATE employer_jobs SET hit_counts '***Mar-27-2026=169***Mar-28-2026=57***Mar-29-2026=32***Mar-30-2026=41***Mar-31-2026=93***Apr-01-2026=56***Apr-02-2026=5***Apr-03-2026=5***Apr-04-2026=6***Apr-05-2026=8***Apr-06-2026=6***Apr-07-2026=6***Apr-08-2026=2***Apr-09-2026=4***Apr-10-2026=2***Apr-11-2026=1***Apr-18-2026=2' WHERE job_id'1611777'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Mar-2026=392***Apr-2026=103' WHERE job_id'1611777'  
0.0010   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1611777' AND status LIKE 'sent%' ORDER BY id DESC  
0.0024   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1611777 
0.0004   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '878286'
AND `date_added` >= '2022-06-08' 
0.0004   select from teasers 
0.0003   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)