Open role

Software Engineer

Engineering

Full-time

Remote-friendly, with time together in person

Our product is the data. Build everything behind it.

About the role

Behind the Kai app sit three NestJS services, a background worker pool, a Postgres database and a growing data lake. You'll be a generalist engineer who helps us move faster across all of it. Most of your time is on the backend, but there's no narrow lane. You'll touch every service, design and deploy full features end to end, and step into frontend work when the team needs it. We especially value a strong data-analysis background. Our product is the data, so understanding its quality, its shape and how it delivers value to clients is core to the job.

What you'll do

APIs

  • Extend the mobile API: quests and task responses, gamification, referrals, rewards orders, auth and anti-abuse

  • Extend the management API: project authoring, audience segments and geospatial targeting, review queues, company workspaces and client data exports

  • Keep contracts between services, the app and the dashboard consistent through our shared TypeScript package

Workers and pipelines

  • Build and run BullMQ jobs in our worker pool: distributing quests, reward fulfillment, push notifications, media processing, scheduled cron jobs and bulk signal ingestion

  • Media pipelines with S3, image moderation and audio transcription

Database

  • Design schemas and write migrations for Aurora PostgreSQL with TypeORM, including heavy use of JSONB

  • Find and fix slow queries. Own indexing and data-integrity checks

Data and analysis

  • Grow our data lake: Parquet exports to S3, catalogued in Glue and queried with Athena

  • Analyze response quality, fraud and abuse patterns, user retention and quest economics (XP, coins, payout caps)

  • Turn analysis into product: dashboards and metrics for clients, and signals that make quests better targeted

What we're looking for

  • 5+ years of backend engineering in TypeScript or Node.js, ideally with NestJS or a similar structured framework

  • Build with a security-first mindset

  • Strong SQL and PostgreSQL: schema design, migrations, query plans and indexing

  • A real data-analysis background: you can take a vague question, query the data, check it is clean, and come back with a clear answer and a chart

  • Experience with queues and background jobs (BullMQ, SQS, Sidekiq or similar), plus retries and idempotency

  • Hands-on AWS experience and comfort shipping to production

Nice to have

  • Data lake tooling: Parquet, Glue, Athena, dbt or similar

  • Python or a notebook workflow for exploratory analysis and statistics

  • Fraud, abuse or data-quality detection in a marketplace or rewards product

  • Terraform and infrastructure-as-code

  • Privacy and compliance work (GDPR, SOC 2)

Tooling: GitLab (CI/CD), Linear, Docker and Podman. We use AI coding assistants (Claude Code) daily and expect you to be comfortable reviewing and steering AI-written code.

How we work

  • We write simply. We're remote-friendly, and concise writing is how we think clearly

Probably not for you if

You want a narrow lane and a ticket queue. Or you think data analysis is someone else's job. Here, the data is the product.

Why now

Hard, valuable, fun. Every quest a Player finishes becomes data an AI team is waiting on, and the backend is where it turns into something clients pay for.

How we hire

No AI screens, coding challenges, etc. A couple of hours building with us instead.

How to apply

No forms. Just reach out

Reach out directly and tell us why you’d be a great fit.