Staff Fullstack Software Engineer
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 (Lead Engineer, your direct Manager), 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
- 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.
- 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.
- 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.
- 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.
- 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're 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 — front‑end & back‑end.
- Team interviews — PM, Designer, Cloud Engineer.
- Final interview with CTO.