Staff Fullstack Software Engineer - Safety
🎯 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
Video call with Talent Acquisition
Hiring Manager interview + culture fit with Jeremy (Hiring Manager) — 45 min
Technical case study — frontend & backend
Team interviews — PM, Designer, Cloud Engineer
Final interview with CTO