Mid Full Stack Developer — AI-Powered WHS SaaS Platform (Node.js / React 19)
Бюджет: $15.0 - $20.0
HOURLY / FULL_TIME
⭐ 0.00 (0)
node.js, react-js
Read all the way through including how to apply. If the instructions are not followed, your application will not be considered.
About Us
We're a fast-growing workplace health & safety (WHS) software startup helping construction, mining and mining services companies across Australia work safer and smarter. Our platform (V2.0, production-ready across its full feature set) pairs a Node.js/Express/Prisma backend with a React 19 frontend, and we build daily alongside AI coding tools.
We're a small, high-collaboration team — you'll work alongside our founder and a senior developer, pairing daily with Claude Code/Codex as a coding partner rather than working solo.
The opportunity
Contract or full-time, remote (Australia-based preferred)
Hands-on across the full stack: our Node.js/Express API and Prisma/PostgreSQL backend through to the React 19 frontend
A genuine step up for a developer with 2–4 years' experience who wants more ownership over time, with senior support on architecture
What you'll own
Backend API endpoints for multi-tenant WHS and ISO compliance workflows
Prisma schema work and safe, well-tested migrations (under senior review)
Integrating and extending AI-driven analysis pipelines (Anthropic Claude, OpenAI, and more)
Document processing and file handling (S3 uploads, ClamAV scans, presigned URLs)
Background jobs with BullMQ and Redis
Scoped pieces of third-party integrations: Stripe, SendGrid, AWS Lambda, ABR web services
React components, pages, and workflows for WHS/ISO features, built responsively and accessibly with Tailwind CSS v4 and Vite
Daily pairing with Claude Code on implementation, testing, and debugging
Bug triage, tests, and keeping the codebase clean and consistent
Who you are
Proactive. You bring your own recommendations and don't wait to be told.
Comfortable with ambiguity. We're small and fast-moving — you fill gaps and ask smart questions.
Solid across the stack — 2–4 years' professional full stack experience (or equivalent demonstrable skill).
Comfortable in an AI-augmented workflow — you pair with Claude Code daily, not occasionally.
Must-have experience (please show us in your application video)
Node.js/Express + PostgreSQL/Prisma — comfortable with queries, joins, indexing basics, and writing schema migrations. → walk us through a piece of backend or schema work you're proud of.
React 19 (or v18+) — hooks, component composition, state management, built with Vite and Tailwind CSS. → walk us through a frontend feature you built end-to-end.
AI-assisted development — genuine, regular use of Claude Code or a comparable tool in your workflow, not a one-off trial. → show us what that pairing actually looks like for you.
Highly regarded
Multi-tenant SaaS or RBAC patterns
BullMQ, Redis, or similar job queues
File upload pipelines, virus scanning, or document processing
Stripe (checkout, webhooks, GST handling)
Pino, Sentry, or similar logging/observability tooling
Docker, or deployment on Render, Fly.io, or Railway
Exposure to Australian WHS, ISO compliance, or regulatory SaaS domains
Tools we use
Tell us whether you're advanced, intermediate, or beginner at each. Be honest — beginner is fine on some of these, we'll train you.
Node.js / Express 5
PostgreSQL (Prisma 6 ORM)
BullMQ + Redis
Claude Code (heavily used across the business — daily pairing is core to this role)
AWS S3 (presigned uploads, virus scanning via ClamAV Lambda)
Stripe (AUD + GST, webhooks)
React 19 + Vite + Tailwind 4
Render (Docker containers)
On AI
Using AI is not optional here — Claude Code pairing is core to how we build. But everything must be reviewed carefully, tested properly, and held to the same bar as hand-written code. We're looking for people who are genuinely comfortable in this workflow, not just tolerant of it.
Availability
Can start immediately
Daily availability for meetings and quick task turnaround; outside of meetings, hours are flexible
Some overlap with Australia/Philippines timezones expected
How to apply (read carefully)
Apply only through Upwork. If you contact us directly outside of Upwork, you will be immediately disqualified.
In your application, briefly answer: What does a typical AI-augmented coding session look like for you — which tool, and how do you review/verify its output before it ships?
Include a 1–2 minute video screen-sharing and talking through a piece of backend or frontend work you're proud of, and your answer to the question above. Applications without this video will not be considered.
Next steps:
We will review only applications that have provided the video requested above and have NOT contacted us outside of Upwork.
We will select the top candidates for a short 15-minute interview in the next few days.
The chosen candidate will be offered the role to start immediately.
MUST BE FLUENT IN ENGLISH
Отвори в Upwork