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.