Remote

Full-Stack Engineer (Mid–Senior, TypeScript)

Remote · Full-time

HotFull-timeIn the next week
Remote
Full-time
$4k – $5k
Hiring: In the next week

About the role

We're building a multi-tenant, white-label telehealth platform — think "Shopify for telemedicine": clinics get branded storefronts, doctor and patient portals, e-prescribing, payments, and pharmacy

fulfillment, all switchable per tenant. The architecture (plugin-based modular monolith, tenant isolation, CI gates) is established; you'll build product features on top of it, end to end — schema

to API to UI — with clear specs and an experienced engineer to review your work.

Small team, high velocity, story-driven backlog. You'll ship to staging in your first week.

What you'll do

  • Build features across the stack: Prisma models → NestJS services/controllers → React portal pages
  • Implement stories from written acceptance criteria within our plugin architecture (catalog, ordering, messaging, patient/doctor portals, fulfillment)
  • Integrate third-party APIs following established patterns: webhooks, payment providers, shipping/tracking
  • Write background job handlers (BullMQ queues, retries, idempotency) for order and prescription flows
  • Follow — and learn to reason about — our safety invariants: tenant isolation via Postgres RLS, entitlement gating, audit logging
  • Write unit tests with every feature; keep CI green (typecheck, lint, tests are merge gates)
  • Participate in code review, both giving and receiving

Tech stack

  • Language: TypeScript everywhere, strict mode
  • Backend: Node.js, NestJS, Prisma ORM
  • Database: PostgreSQL 16 (multi-schema, row-level security), Redis + BullMQ
  • Frontend: React + Vite, TanStack Query + Router, Tailwind CSS, shadcn/ui, react-hook-form + zod
  • Monorepo: Nx + pnpm workspaces with enforced module boundaries
  • Testing: Vitest (unit), Playwright (e2e)
  • CI/CD: GitHub Actions, staging-first flow, health-gated deploys (no Docker/Kubernetes)

Nice to have (we'll teach you the rest)

  • Multi-tenant SaaS exposure: feature flags, per-tenant config, tenant data isolation
  • Row-level security, or any serious thinking about data isolation
  • Healthcare or another regulated domain (audit trails, PII/PHI handling)
  • E-commerce flows: carts, checkout, payments, fulfillment
  • Message queues / background jobs in production
  • AI-assisted development workflows (we lean into them heavily)

How we work

  • The task ID is the primary key: every branch, commit, and PR traces to a tracked work item
  • Quality gates on every merge: typecheck, lint, unit tests — non-negotiable
  • Safety rules are enforced in code, not convention: no prescription, no shipment; disabling a module never deletes data; no tenant context means zero rows
  • Daily written reports over meetings; Slack is an inbox, never the system of record

What you'll get

  • Real end-to-end ownership of features, not tickets in a silo
  • A codebase with working examples of every pattern you'll need — and review that explains the why, not just the what
  • Growth path toward senior: architecture involvement, integration design, and increasing autonomy as you demonstrate it

Requirements

  • 3–5 years building production web applications, with solid TypeScript on both backend and frontend
  • Hands-on experience with a typed backend framework (NestJS a plus — or Express/Fastify with discipline, or similar DI-based frameworks)
  • Comfortable with relational databases: schema design, migrations, writing and debugging real queries
  • Have consumed or built REST APIs with proper validation and error handling; understand webhooks and idempotency at least conceptually
  • Test-writing is part of your definition of done, not a chore
  • Can take a well-written story with acceptance criteria and deliver it with minimal hand-holding — and know when to ask instead of guessing
  • Clear written communication; comfortable in an async, documentation-first workflow

Apply for this role

All fields marked * are required