About the role
Own the two surfaces our customers live in: a real-time coaching extension that renders inside live sales calls, and the manager dashboard where revenue leaders judge their teams — and us. You'll be the front-end owner on a seven-person engineering team, reporting to the engineering lead, at a company one month into go-to-market with live pilots and paying clients.
The bar is the one you know from the best Israeli B2B products: an interface a paying customer trusts on first contact.
A word of honesty
Our front-end is the product's moment of truth, and right now it doesn't always meet our bar. We know this precisely, because we track it: coaching cards that appear a beat too late or vanish before the rep can read them, dashboard numbers that don't reconcile across views, filters that look applied but aren't, state that resets on refresh. In a B2B product sold to revenue leaders, every one of those is a critical bug — a manager who catches one wrong number stops trusting all of them. We're not hiring someone to add features on top of this. We're hiring the person who makes "the UI is simply correct" a property of the system.
There's also a hard environment problem most front-end roles never face: our main interface renders inside other people's products. The extension lives in Google Meet and Zoom — pages we don't control, that change without notice, under Manifest V3 constraints, with versions in the field we can't force-update. Shipping reliable UI there is real engineering, not pixel-pushing.
You'll work in an engineering team of seven. Priorities shift when a pilot lands. You'll watch recordings of customers using your UI and feel the misses personally. If you need a design system handed down and a QA department behind you, this is the wrong role. If your instinct on seeing a flickering card is to fix the state model, not the CSS — read on.
What you'll own
- The live coaching surface. The extension UI injected into Meet and Zoom: signal cards, captions, the sidebar. Timing is the product here — a card must appear at the right moment, stay readable exactly long enough, and never stack seven deep. You'll own the rendering pipeline from WebSocket message to pixel, including reconnection states and what the rep sees when things degrade.
- The manager dashboard. Where sales leaders see team skill gaps, call scores, and roleplay progress — and where they decide whether to renew. Your standard: every number matches every other number, every filter does what it claims, every state survives a refresh. Analytics UI that managers trust enough to bring to their own leadership.
- The real-time data layer. WebSocket-driven UI state, optimistic updates that reconcile correctly, pagination and caching that don't lie. The client side of a system where data is always in flight.
- Async job UX. Call analysis and roleplay generation run as long jobs. Today users can't always see status, can't cancel, and aren't told about failures. You'll design and build the missing layer: progress, failure surfacing, recovery — so the product never leaves a customer staring at a spinner.
- Full-stack when it's faster. The backend is Python/FastAPI. When a feature needs an endpoint shaped differently, you change the endpoint — you don't file a ticket and wait.
- The quality bar. Component conventions, visual consistency, regression coverage for the flows customers hit daily. You'll work directly with design and push back when a mock doesn't survive contact with real data.
Technical challenges you'll solve
- Rendering a stable, low-latency UI inside host pages (Meet, Zoom) that change under you, within Chrome MV3 constraints.
- UI state machines for real-time streams: out-of-order events, reconnections, and partial data that must never show a wrong number.
- Making dashboard analytics provably consistent — one source of truth for every count, shared across views.
- Extension release management: staged rollouts, backward compatibility with clients in the wild, Chrome Web Store review cycles.
- Surfacing long-running AI job state honestly — progress, failure, retry — across extension and dashboard.
Tech stack
- Front-end: TypeScript, React, Chrome Extension (Manifest V3), WebSockets, real-time UI state management.
- Backend you'll touch: Python 3.12+, FastAPI, PostgreSQL, RabbitMQ.
- Platform: AWS, Sentry, Grafana, the Zoom App and Chrome Web Store ecosystems.
What success looks like — first weeks
- Ship to production on real customer calls; know the full path from WebSocket message to rendered card.
- Kill a visible class of paper cuts — the resets, the mismatched counts, the filters that don't filter.
What success looks like — first 90 days
- The dashboard's numbers reconcile everywhere, and a regression suite keeps it that way.
- Signal-card timing and density reflect what reps actually report in pilots — measured, not guessed.
- Async jobs show status and failures honestly across the product.
What success looks like — first 6–12 months
- The extension UI survives Meet and Zoom updates without emergency releases.
- A component foundation and conventions that let the team ship fast without quality drift.
- New customers describe the product as "polished" unprompted — in a market where most AI tools feel like demos.
Who you are
- 5+ years building web products, deep in TypeScript and React, with production systems that prove it.
- You've shipped B2B software that paying customers used daily — and you've felt the difference between "works in the demo" and "works at the customer's desk on their data." Companies like Wix and Monday built their names on that difference; that's the school we're hiring from.
- Detail-obsessed in the way that matters: you notice the off-by-one in pagination, the count that doesn't match, the card that flashes — and you can't leave them alone.
- You understand state. Real-time UIs, race conditions, optimistic updates, cache invalidation — you reason about what the user sees as a function of events over time, not snapshots.
- Product awareness: you ask why a feature exists, push back on specs that won't survive real data, and watch users instead of assuming.
- Comfortable across the stack — you can read a FastAPI endpoint, change it, and write the query behind it when that's the fastest path to shipping.
- You're hungry. You ship without being pushed, you treat a customer-facing bug as yours regardless of whose commit caused it, and you'd rather own two surfaces end-to-end than a component in someone else's system.
Nice to have
- Chrome extension development (content scripts, MV3, store review).
- Experience injecting UI into third-party pages.
- Data-viz or analytics-heavy dashboards.
- WebRTC or live media UI.
- Design-system experience.
- Early-stage startup experience.
Why this role matters
Customers never see the backend. They judge Yolk — and decide whether AI coaching is real or hype — by the card that appears mid-call and the dashboard their VP opens on Monday. In a seven-person team, front-end quality isn't a department; it's one person's standard applied everywhere. This role decides whether the product feels inevitable or ignorable.
What we offer
A founding-team seat reporting to the engineering lead — an experienced engineer, not a layer of management — with the CEO a desk away. Competitive salary plus meaningful equity. Performance-based comp and fast advancement. Bi-annual team retreats abroad. Customers who are live and vocal — so your work shows up in revenue, not just in sprint reviews.
Who this role isn't for
- Engineers who treat front-end as the layer before the "real" work.
- Anyone comfortable shipping UI that's "good enough for now" — our customers are sales leaders; they notice everything.
- Those who need big-company order and stability — priorities here shift fast, on purpose.
About Yolk
Yolk.coach is an AI sales coaching platform that gives sales teams real-time coaching. The platform is built and largely working, with a capable team and senior engineering leadership setting the bar. We handle sensitive sales conversation data and surface guidance in real time, so reliability and precision are the trust the entire category depends on.
