About Bash AI
Bash AI is building hiring intelligence: a platform that runs the hiring process from the first application to the final offer. Given a role and a resume, it does the work a strong recruiting team would do with unlimited time: screening applicants against the role, candidate and employer research, skill mapping, and structured question planning.
During interviews, Bash AI supports interviewers in real time with targeted questions, guidance on strong and weak answers, and focused nudges. After each conversation, it analyzes the transcript, validates claimed skills, and produces recommendations with evidence. Across rounds, it carries forward what it has learned, avoids repeat questions, and ranks finalists side by side.
We're headquartered in the Bay Area, with our founder based there. The product is live with customers.
Our founding team has run hiring at scale. One founder built and exited an HR tech platform. Behind us sits a bench of advisors: serial founders and industry leaders who have built and sold companies in this market.
This isn't a first attempt at a market we read about in a report.
The role
We're ten people. Eight of them build the product. You'd be one of them, and you'd own the systems everything else runs on.
Our AI is only as good as the backend underneath it. An interviewer nudge is useless if it arrives after the candidate has finished answering. A recommendation means nothing if the transcript behind it was lost. A hiring manager won't trust us with candidate data if the wrong person can see it.
You'll build the services that make all of this work: fast, reliable, and secure. You'll spend most of your time in TypeScript on Node.js and MongoDB, and enough time in Next.js to take a feature from database to screen on your own.
Most full stack roles are frontend roles with an API on the side. This one is the other way around.
What you'll actually do
- Build the core backend. Design and ship TypeScript services and APIs on Node.js that power the product, and model the data that connects them.
- Make it real-time. Build the systems that push live updates to users the moment something happens, where a delay of a few seconds is the difference between useful and ignored.
- Handle the heavy lifting in the background. Document processing, research and AI analysis take time. You'll build the workers, job queues and retries that run this work reliably without slowing the product down.
- Connect Bash to the tools customers already use. Build integrations with third-party platforms that are dependable even when the other side isn't: webhooks, OAuth, token refresh, rate limits and retries.
- Design the data. Model MongoDB collections that stay fast as customers grow, keep every customer's data separate, and make context easy to carry across the product.
- Keep sensitive data safe. Authentication, role-based access, tenant isolation and secure file handling. Security is part of the job, not a review at the end.
- Bring the AI to the user. Work with our GenAI engineer to feed our AI services the right data, and deliver their output into the product cleanly.
- Ship features end to end. Take a feature from data model to API to UI. Build the frontend pieces when needed, and work with our frontend engineers on the rest.
- Own what you ship. Write tests for your code, keep the API contract accurate, deploy it, monitor it in production, and fix it when it breaks.
What you'll work with
- Backend: TypeScript, Node.js (Hono), MongoDB with Mongoose, Zod, OpenAPI, Vitest
- Frontend: Next.js (App Router) and React, TypeScript, Tailwind CSS, shadcn/ui and our own design system, TanStack Query, Playwright
- Real-time: server-sent events, WebSockets, Redis streams
- Background work: Redis-backed queues (BullMQ, Celery) and MongoDB-leased workers
- AI and ML services: Python (FastAPI); Claude, OpenAI and Gemini models; Qdrant for vector search; Langfuse for LLM tracing
- Infrastructure: Azure (cloud and Blob Storage), Docker, Redis, Postgres in a few services
What we're looking for
We're an evidence company, so we care about what you've built more than where you've worked.
- 1-3 years of professional experience, mostly on the backend.
- Strong TypeScript and Node.js. You've built and run production APIs. Hono, Express, Fastify or NestJS all count; fundamentals matter more than the framework.
- MongoDB experience. You can design a data model, write efficient queries and aggregations, and know when an index is missing.
- System thinking. You understand queues, background jobs, retries, idempotency, caching, and how to keep a service reliable under load. Redis experience helps.
- Real-time experience. You've worked with WebSockets, server-sent events, or Redis pub/sub and streams, and you know what happens when a connection drops.
- Integrations. You've connected to third-party APIs, handled OAuth and webhooks, and dealt with rate limits and failures.
- Security basics. Authentication, authorization, multi-tenant data isolation, and careful handling of personal data.
- Enough frontend to be dangerous. You can build and change features in React and Next.js without needing someone to hold your hand.
- Comfortable in Python. Our ML, live co-pilot and agent services run on FastAPI. You don't need to be an expert, but you should be able to read them and make a change.
- Nice to have: working with LLM APIs (Claude, OpenAI, Gemini), Docker or Azure, meeting bots or live transcription, calendar or ATS integrations, or building for HR tech or B2B SaaS.
If your experience is shorter but your shipped work says otherwise, apply anyway.
You should probably not apply if
- You're mainly a frontend engineer looking to learn backend.
- You want a fully specified ticket and a senior engineer reviewing every design decision.
- You'd rather hand over your code than own it in production.
- You're uncomfortable being measured. We'll look at what we ship together every week.
What you get
- Ownership of the foundation. The backend is what everything else runs on, and you'll own a big part of it.
- Hard, real problems. Real-time systems, AI pipelines, integrations, and sensitive data, all in one product.
- Direct founding team access. No layers. If you think the architecture should change, you'll be talking to the people who can say yes.
- Early, not too early. The product is live and customers are using it. The architecture is still being shaped, and you'll help shape it.
- Equity in the company.
How we hire
We build interview intelligence. It would be strange to run a bad hiring process.
So: three conversations, all with people who make the decision. You'll know where you stand after each one. We'll tell you what we're still unsure about instead of quietly disqualifying you for it. Nobody gets ghosted, including candidates we say no to.
- Intro call (15 min). Your background, our story, and a look at the product.
- Technical interview (1 hour). One round in two halves:
- Something you built (30 min). Walk us through a backend system you designed or owned. What it did, how it was built, and what broke in production.
- Live design session (30 min). We give you a real problem from our product, such as delivering live nudges to an interviewer. You design the backend with us. It's not a memory test. We want to see how you think when the requirements change halfway through.
- Final conversation (30 min). Ambition, expectations, comp, and everything you want to ask us.
Bash AI is an equal opportunity employer. We welcome candidates from all backgrounds.