Back to All Jobs
Hairball.IO

Senior Full-Stack Engineer

Hairball.IO
Full-Stack-Engineer
Salary not listed. Check market rate
Posted Today
Remote Anywhere

Job Description

About Hairball

Hairball.io is an Inc. 5000 e-commerce integration consultancy with 550+ client relationships in

the Shopify, NetSuite, and Celigo ecosystem. We are building a new AI-powered SaaS product

for our market. Details about the product will be shared during the interview process.

The Role

We need a senior full-stack engineer to build the multi-tenant platform foundation for a new

SaaS product over a 6-month contract engagement. You will be the primary architect and

builder of the core infrastructure. A junior JavaScript developer on the team will work alongside

you, learning the stack and eventually owning day-to-day development after your engagement

ends.

This is a founding-level role. You are not joining a team — you are building the platform that a

team will grow around. The architecture decisions you make in the first 8 weeks will shape this

product for years.

What You Will Build

Months 1-2: Platform Spine

• Multi-tenant database schema with PostgreSQL Row-Level Security (RLS) enforcement

on every tenant-scoped table

• Authentication integration with Clerk, including multi-organization switching (one user,

many tenants)

• Role-based access control for six user roles with JSONB-based extensible permissions

and ABAC extensions

• API call logging pipeline with full attribution chain (tenant → service → execution →

result)

• Super Admin and Tenant Admin interfaces

Months 3-4: Billing & Integrations

• Stripe Billing integration: subscriptions, metered usage-based pricing, Customer Portal

• External API integration pipeline with encrypted credential storage per tenant

• Connection management UI for tenant-managed third-party credentials

• Configuration inheritance system: platform defaults → tenant overrides → user

preferences

• Feature flag and module entitlement system for gating product capabilities per plan

Months 5-6: Hardening & Handoff

• Security hardening: immutable audit trails, environment separation (sandbox +

production per tenant)

• Performance optimization and production readiness review

• Architecture Decision Records (ADRs) and documentation for the team inheriting the

codebase

• Code review and mentoring of the junior developer to ensure smooth transition

Technology Stack

Layer

Technology

Notes

Framework

Next.js 14 App Router + TypeScript

Hosted on Vercel

Database

PostgreSQL 16+ (Neon)

Drizzle ORM. RLS is non-negotiable.

Cache / Queue

Upstash Redis

Job queuing, rate limiting

Auth

Clerk

Multi-organization support required

AI

Anthropic Claude (primary)

Multi-LLM gateway planned

Billing

Stripe Billing

Subscriptions + usage-based

metering

CI/CD:

GitHub + Vercel

Branch-based deploys, PR workflow

Required Experience

These are non-negotiable. If you have not done these things in production, this is not the right

role.

• Multi-tenant SaaS architecture: You have personally built (not just contributed to) a

multi-tenant application with tenant data isolation. You understand the difference

between application-level tenant filtering and database-level enforcement.

PostgreSQL Row-Level Security: You have implemented RLS policies in production.

You know how to set tenant context per transaction and test for cross-tenant data

leakage.

Next.js 14+ App Router: You are current with App Router (not Pages Router). You

understand server components, server actions, route handlers, and middleware.

TypeScript: You write TypeScript fluently, not JavaScript with type annotations bolted

on.

Stripe Billing integration: You have wired up subscriptions, handled webhooks with

signature verification, and implemented metered/usage-based billing.

Multi-org authentication: You have implemented multi-organization auth (Clerk, Auth0,

or similar) in a SaaS product. You understand session scoping per organization.

Strongly Preferred

Experience with Drizzle ORM (or Prisma with willingness to learn Drizzle)

AI/LLM application development — calling LLM APIs, streaming responses, token

tracking

Vercel deployment and optimization

Experience mentoring junior developers

Prior work in e-commerce, fintech, or financial data platforms

What We Provide

Complete architecture spec: A detailed specification covering every subsystem you

will build. You are implementing a well-defined plan, not designing from scratch.

Deep domain expertise: The product owner has deep expertise in the target market.

You will never be guessing about business requirements.

Working prototype: The backend pipeline and database schema already exist. You are

building on a foundation, not from zero.

AI development tooling: Claude Code is available as a pair programmer. The spec

documents are structured for AI-assisted implementation.

Autonomy: You make the technical decisions within architectural boundaries. No

micromanagement. Weekly video check-in, daily async on Slack.

How We Evaluate

Step 1 — Portfolio review (async). Send links to multi-tenant SaaS products you have built.

We want to see architecture decisions, not algorithm skills.

Step 2 — Architecture conversation (60 min). We share the product spec and ask you to

walk through how you would implement the multi-tenant isolation layer. We are looking for

awareness of edge cases and honest assessment of complexity.

Step 3 — Paid trial task (8-10 hours). Implement a specific piece of the platform against the

actual codebase. Compensated at your hourly rate.

Logistics

Schedule: 30-35 hours/week, flexible. Overlap with US Eastern for 3-4 hours daily.

Communication: Slack (daily async), weekly 30-minute video check-in, GitHub PRs for

all code.

Documentation: Every architectural decision gets a brief ADR in the repo.

Payment: Biweekly invoicing, Net-15. Rate negotiable based on experience

Originally posted on Himalayas

More Remote Jobs