π― MISSION
Today, one engineer owns the entire Safety and VMS stack. The roadmap is loaded: a UK videoverbalization MVP due in June 2026, a France rollout in Q4, a live videoverbalization feature in Q1 2027 β all running in parallel, all critical. That's not a backlog problem. It's a capacity problem.
Vizzia has grown from β¬4M to β¬9M ARR and is on its way to β¬30M, now serving 200+ local authorities across France and the UK. Our Safety platform is at the core of that growth β and the frontend needs to be built from scratch, on a solid architectural foundation, before the next wave of clients lands.
You'll join a small, focused team: Jeremy (Staff Engineer, your direct lead), Jean-Baptiste (Cloud Engineer), Hadrien (PM), and Walid (Designer). The team is intentionally lean β and will stay that way. Your mission: become Jeremy's technical partner, architect the Safety code base from the ground up, and make sure the roadmap ships on time.
π οΈ WHAT YOU'LL DO
1. Build the Frontend from Scratch
The mockups are in progress. The stack is defined. What's missing is the person who will turn this into a scalable, maintainable product.
- Architect and build the Safety SaaS frontend using React 19, Vite, TypeScript, Tailwind CSS v4
- Co-design and maintain the design system with Walid β tokens from Figma, components in shadcn/ui, documented in Storybook
- Implement state management (Zustand), server state (TanStack Query), forms (React Hook Form), and i18n (i18next) in a coherent, well-structured way
- Build a custom video player (MediaBunny/MOQs/WebRTC) and handle video streaming requirements
2. Deliver a Critical Roadmap
- Ship the UK videoverbalization MVP in production by end of June 2026
- Contribute directly to the France rollout (Q4 2026) and live videoverbalization (Q1 2027)
- Size tasks reliably and flag blockers early β no surprises at sprint review
3. Own Code Quality
- Maintain unit test coverage above 85% on all code you touch
- Set up and maintain end-to-end tests with Vitest & playwright across the full application
- Write PRs that are readable without a deep dive β clear scope, clean diffs, useful context
4. Co-architect with Jeremy
- Make joint decisions on architecture, patterns, and technical direction β not just execute
- Challenge Jeremy's choices constructively, and expect the same in return
- Take ownership of technical decisions and stand behind them, with arguments
5. Set the Foundation for the Team
- Document conventions, contribution rules, and architectural decisions from day one
- Intervene on the backend (Node.js, Hono, Drizzle ORM) and infra (Docker, K8s, Helm, CI/CD) when needed β at least enough to never be blocked
- Onboard the 1β2 engineers joining in 2027 and become the natural technical reference
-
β
WHO YOU ARE
- You have 5+ years of experience, including meaningful time in a fast-paced SaaS or scale-up environment β and you've built (or significantly structured) a product from scratch
- You are an expert in modern React and its ecosystem: Zustand, TanStack Query, React Hook Form, advanced hooks, performance patterns β your state management choices are justified, not defaulted to
- You've shipped a scalable frontend architecture before: design system, component library, reusability patterns β and it was still being used 18 months later
- You have solid Node.js / TypeScript fundamentals β enough to own the full stack when needed, not just the client side
- You actively use AI coding tools (Cursor, Claude Code, Copilot) to move faster without compromising quality
- You don't wait for perfect specs. You challenge the PM and designer when something doesn't make sense β with arguments, not ego. You're the kind of engineer who makes the team around them better, not just the codebase.
An engineering degree is required for this job
BENEFITS
π‘ Hybrid work
π Contrat cadre and RTT (between 8 and 12 days per year depending on public holidays)
π» A Mac or PC depending on your preferences
πΈ BSPCE
π 60% coverage of meal vouchers worth β¬9 per worked day
π/π² Sustainable mobility allowance
π₯ Mutuelle (Alan)
πΌ Offices located in central Paris (9th arrondissement)
βοΈ Annual offsite with the whole team and plenty of company events
RECRUITMENT PROCESS
1. Video call with Talent Acquisition
2. Hiring Manager interview + culture fit with Jeremy (Hiring Manager) β 45 min
3. Technical case study β frontend & backend
4. Team interviews β PM, Designer, Cloud Engineer
5. Final interview with CTO