Software Engineer
About Nooks
Imagine the future of work:
- You can work from anywhere in the world, but still work with your team like you’re sitting side-by-side. A virtual office 💻
- Your office is smart. It learns how your team works, identifies “winning” behaviors, then replicates them across the team. An AI co-pilot 🤖
Recent advances in large language models and the pandemic-induced shift to remote/distributed work suggest this future is not-so-distant. With all your work happening online instead of in-person, it’s now possible to systematically turn this vast quantity of unstructured data into actionable strategies and feedback loops. We’re making this a reality, starting with sales teams.
Nooks is a smart virtual salesfloor that multiplies reps productivity by bringing realtime collaboration and AI tooling to the team’s sales calls.
The problem
A sales team with a dozen reps does hundreds of customer-facing calls every day. They’re all selling the same product, with the same pitch, to the same personas, answering the same questions - and they learn something new from each conversation. If this information stays siloed, reps will improve slowly. But if learnings are shared across the team, improvements compound. The best reps actually have 3x higher conversion rates on sales conversations compared to their teammates! So tight feedback loops can make a sales team significantly more effective. But today, most sales reps are siloed working at home and the main opportunities they have for feedback are weekly 1:1’s and team training sessions. These methods are old-school, infrequent, and ineffective - feedback loops are effectively nonexistent today.
Our solution
Teams use Nooks to work together throughout the day - our smart dialer automates the manual process of calling and our salesfloor facilitates realtime collaboration on calls. Nooks analyzes the team’s conversations to understand the winning playbooks, then helps replicate these across the team.
- Reps 3x their sales conversations using the Nooks dialer. It uses AI to accelerate the manual process of calling. Nooks automatically detects answering machines, leaves voicemails, and filters out bad numbers to save reps hours of repetitive tasks
- Reps work together in Nooks throughout the day (avg ~3hrs/day)! They can listen to each others’ calls, give live advice, and strategize after calls. This dramatically reduces ramp times and improves feedback loops
- Nooks operationalizes and standardizes winning playbooks across the team. AI insights help managers identify strategies to improve their playbooks. Going forward, Nooks automatically tracks how well the team is following these strategies
Teams that use Nooks often see a 2-3x increase in reps’ productivity within weeks! 📈
Check out an interactive demo of our product here
The role
We have an ambitious product vision in a nascent area - AI-powered realtime collaboration - so there are a ton of interesting technical challenges on our roadmap. We’re hiring talented full-stack/backend/ML engineers who are product-minded and excited to delight our customers. We expect every software engineer on our team to be able to work within a complex code-base, own entire product areas, and build new features end-to-end.
Examples of engineering problems we’re working on
These are just examples, this list is non-exhaustive, and you definitely don’t need experience in all of these areas. But hopefully you find some of them exciting!
- Concurrency & distributed systems
- Our smart dialer places calls in parallel and runs a realtime AI model on each call. There are some interesting concurrency problems syncing state between Twilio, our backend, and the frontend, and knowing which calls to connect, which to continue in the background, and when to start the next call.
- Realtime audio AI & precision/recall/latency tradeoffs (algorithms & models)
- We use audio data, transcription, silence detection, and several other signals to detect whether a live phone call is a voicemail, a human, or a dial tree. Here, latency is a third factor added to the standard precision/recall tradeoff because it’s important we can detect humans quickly. Our approach involves LLM embeddings, few-shot learning, data labeling, and continuous monitoring of model performance in prod.
- Latency (infrastructure)
- If our model took 5 seconds to detect a human on a phone call, the human would hang up. It’s imperative we can detect quickly and that our users can execute calls quickly. There’s latency across the detection pipeline including transcription models, audio models, websockets, Twilio API, database transactions, etc.
- Smart call funnels & playbooks (data wrangling, backend eng, GPT-3, UX)
- At what point in the conversation do my reps get stuck? What are the toughest questions that we need to address? Can I “program” a playbook so that Nooks will help my team standardize toward best-practices? We’re using GPT-3 and other LLM’s to turn companies’ mostly unstructured call data into actionable strategies & feedback loops.
- Conversation embeddings & markov models (ML modeling)
- What does the anatomy of a call look like? If I say XYZ, what are the different ways the prospect might answer and the probabilities of each? Conditioned on the first half of the call, what do I say next to maximize the likelihood that I book a demo at the end of the call? Can we use LLM’s to generate embeddings of conversations that we can use to cluster similar conversation patterns and predict where the conversation is headed?
- Integrations
- Our dialer integrates with customers’ sales engagement platforms. Every new platform we integrate with, that opens up a larger market for our product. When building integrations, we need to make sure they’re robust, reliable, and well-abstracted.
- Frontend performance
- There’s a lot going on in the frontend - WebRTC, Twilio, React rendering, websockets, etc. And people use Nooks throughout the workday, so we need to make sure our app is performant across a wide range of devices
Requirements
- Familiarity with our stack:
- Backend and Node.js experience is a hard requirement. Frontend experience is great, but not a hard requirement.
- Frontend: React, Typescript, MobX
- Backend: Node.js, Express, Typescript
- Technologies: Firebase, Firestore, Websockets, Twilio, WebRTC, Postgres, Redis
- ML: GPT-3, Sentence Transformers, vector database, PyTorch, Pyro, Scale AI data labeling
- 2+ years experience building complex systems (ideally somewhat related to ours)
- You’re a confident, independent, and experienced engineer who is used to extreme ownership and solving hard problems
The company
We’re growing super quickly (doubling revenue every quarter, currently ~$1MM ARR) and we have 50-100 customers who rely on Nooks for their daily workflow/collaboration. We can attribute a lot of this success to the fact that our product can demonstrate a TON of value within a short amount of time. Within a 2-week trial period, we often 2-3x reps’ productivity (measured by the amount of new sales pipeline reps can generate). This led to a 50% trial conversion rate to paid customers last quarter!
We’re a lean team ~12 people with most in the San Francisco Bay Area, but the rest spread across the world in places like New York, Seattle, Spain, Estonia, Costa Rica. We’ve raised $5M from top-tier angel investors and VC’s, and who’ve built/invested in world-class companies like Twitch, Twitter, Lyft, Scale AI, and Outreach. We’re all super passionate about building the future of work, and we’d love for you to join our journey 🚀