Software Engineer

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

TYPE OF WORK

Full Time

SALARY

2500

HOURS PER WEEK

40

DATE UPDATED

Jun 13, 2026

JOB OVERVIEW

About the role

We're an AI-native B2B revenue platform. The product is built and growing — a client dashboard, payment and onboarding pipelines, partner portals, and the automation layer underneath. The architecture and product direction are owned. What we need is someone who takes architectural decisions and follows through on them across the full stack — frontend and backend — shipping clean, fast, and without hand-holding.

You won't be setting the overall product direction, but you will be trusted to execute architectural decisions that touch both the frontend and backend of the product, and to carry them through end to end. If you're great at turning a clear direction into shipped, working software across the whole stack, read on.

What you'll do

Execute architectural decisions across frontend and backend, owning the implementation from spec to shipped
Build features against a defined architecture: dashboard UI, internal tools, API endpoints, data syncs
Write and wire backend logic — webhooks, scheduled jobs, third-party API integrations
Work directly against Supabase (Postgres/PostgREST), keep the schema and constraints clean
Build and maintain n8n workflows connecting payment, CRM, and outreach systems
Ship, test, and flag issues before they hit production
Keep ticket status updated in real time — status is the source of truth, not what's in your head
Stack you'll work in

Supabase (Postgres, PostgREST, RLS), n8n, Make, React, Node, Render, Stripe, Clay, Smartlead, Airtable, Apollo, and REST APIs across HeyReach/Wise and similar. You don't need every one, but you need to pick up an unfamiliar API from docs fast and without supervision.

You're a fit if you

Can follow through on architectural decisions that affect both the frontend and backend of a product
Are fluent with AI-assisted development — Claude Code, Codex, Cursor, or similar agentic IDEs are part of how you ship
Ship working code from a written spec without needing it re-explained
Are comfortable in Postgres: schema design to a brief, constraints, joins, upserts/on-conflict
Have built real integrations against third-party APIs (webhooks, auth, idempotency, retries)
Read docs and figure things out rather than waiting to be told
Batch your questions, flag blockers early, and keep status current
Have reasonable overlap with UK hours for a daily sync
Preferred experience

Background in the lead gen / GTM / outbound space (Clay, n8n automations, Smartlead, Make, cold email/LinkedIn infrastructure)
Built automation systems or campaign tooling at an agency or GTM startup
Stripe (Checkout, webhooks, Payment Links)
Worked somewhere you owned delivery, not just tickets
How you'll be evaluated

The interview is a paid test task: one real ticket from our backlog, tightly scoped. We're looking at whether you ship it clean, whether you caught the edge cases, whether you kept us updated, and whether you needed babysitting. That's the whole signal.

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.0168
Total Execution Time  0.0181
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,503,480 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Software-Engineer-1668088
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0110 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0010   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1668088
 LIMIT 1 
0.0003   SELECT *
FROM `employers`
WHERE `employer_id` = 904823
 LIMIT 1 
0.0025   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1668088
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-08-08',ej.date_added) duration_daysDATEDIFF('2026-08-08',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-08-08',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1668088' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1668088 
0.0007   UPDATE employer_jobs SET hit_counts '***Jun-13-2026=337***Jun-14-2026=315***Jun-15-2026=189***Jun-16-2026=123***Jun-17-2026=60***Jun-18-2026=29***Jun-19-2026=34***Jun-20-2026=8***Jun-21-2026=13***Jun-22-2026=21***Jun-23-2026=16***Jun-24-2026=28***Jun-25-2026=14***Jun-26-2026=16***Jun-27-2026=19***Jun-28-2026=6***Jun-29-2026=21***Jun-30-2026=6***Jul-01-2026=7***Jul-02-2026=4***Jul-03-2026=9***Jul-04-2026=9***Jul-05-2026=3***Jul-06-2026=5***Jul-07-2026=6***Jul-08-2026=5***Jul-09-2026=4***Jul-10-2026=3***Jul-11-2026=2***Jul-12-2026=1***Jul-13-2026=13***Jul-14-2026=1***Jul-15-2026=8***Jul-16-2026=6***Jul-17-2026=8***Jul-18-2026=5***Jul-19-2026=5***Jul-20-2026=6***Jul-21-2026=4***Jul-22-2026=5***Jul-23-2026=6***Jul-24-2026=2***Jul-25-2026=18***Jul-26-2026=18***Jul-27-2026=11***Jul-28-2026=24***Jul-29-2026=14***Jul-30-2026=16***Jul-31-2026=12***Aug-01-2026=21***Aug-02-2026=17***Aug-03-2026=11***Aug-04-2026=4***Aug-08-2026=1' WHERE job_id'1668088'  
0.0008   UPDATE employer_jobs SET monthly_hits '***Jun-2026=1255***Jul-2026=240***Aug-2026=54' WHERE job_id'1668088'  
0.0012   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1668088' 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` = 1668088 
0.0024   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '904823'
AND `date_added` >= '2022-06-08' 
0.0003   select from teasers 
0.0004   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)