Knotch is redefining the future of websites in the age of AI.
The way people discover, engage with, and consume content is fundamentally changing. Customers now find information and make decisions through AI, increasingly with an agent acting on their behalf. Most brand digital presences were never built for this journey. Knotch is the AI-native infrastructure that closes that gap, giving brands the ability to meet every customer, and every agent, with the right experience at the right moment, and to adapt as fast as AI and consumer behavior keep changing.
Our platform combines content intelligence, measurement, and agentic AI to show enterprises what content works, continuously optimize their sites, and deliver measurable business outcomes. At the center is ACE (Agentic Content Engine), which moves brands beyond static websites toward intelligent, adaptive ones that keep improving.
We move quickly, test ideas, and evolve with our customers. We’re looking for exceptional people who want to help shape how leading brands show up in an AI world.
You’ll split your time between two front ends at very different stages.
Knotch ACE, generates web experiences from AI in real time. Rather than serving fixed pages, our backend streams typed component descriptions and the front end assembles them into a React tree as they arrive. js App Router and TypeScript in a monorepo, live for several enterprise brands, each with its own theming and deployment.
Knotch One is a mature React application that customers use daily, built on Redux, GraphQL and styled-components, with data visualization at its core.
Develop the component system that renders streamed, AI-generated layouts — schemas, renderers, and the contracts between them
Work on multi-tenant theming: design tokens, per-brand configuration, client-specific variants
Build and maintain embeds that run our product inside customer websites
Set standards for testing, accessibility, and performance
Work with backend engineers on API and streaming contracts,
including where the line between front end and backend actually sits
Write the approach down before you build it, and raise blockers, risks and disagreements early rather than after they've cost time
6+ years building React applications in production
TypeScript day to day, including typing data that arrives at runtime
js App Router, or another framework with a server/client rendering split — Remix, Nuxt, SvelteKit
CSS at scale — utility-first (Tailwind) or CSS-in-JS (styled-components, Emotion), and styling systems built on tokens or theme objects.
Accessible UI work — keyboard navigation, ARIA, and testing against WCAG
Data visualization — ECharts, D3, Recharts or similar
Writing tests alongside features — Vitest, Jest, Testing Library or similar
Clear written communication, and a track record of working without close supervision: scoping your own work, unblocking yourself, and telling people what you need
Using AI-assisted tooling to move faster, and a view on where it helps and where it doesn't
you raise risks, blockers and delays before anyone asks, so updates come from you rather than from stand-up questions. When something you shipped turns out wrong, you say so early and own the fix
AI-native building:
you use tools like Claude Code or Cursor every day to move faster, you know where they help and where they fall short, and you can explain every line of what you ship
Built to live on other people’s sites:
you know how to ship UI that embeds safely into customer websites without breaking the host page, or being broken by it
Data-heavy UI across two products:
you turn complex analytics data into fast, clear,
accessible dashboards in React, and you enjoy splitting your time between a mature product (Knotch One) and a newer AI product (ACE)
you know the difference between server data and UI state, and you handle caching, pagination, loading, error and empty states with accessibility built in from the start
you make sound technical calls without prompting, write down your reasoning, and can talk openly about a decision that turned out wrong and what you learned from it
Explicit communication in a remote team:
you work well with product, design, backend and offshore teammates across time zones, and you can explain trade-offs to non-technical stakeholders
Knotch moves quickly and the team is small, so you'll wear a few hats — you'll own features end to end, work directly with backend, data and product, and see what you build in front of enterprise clients in weeks rather than quarters.
That pace runs on writing. Design and decisions happen in docs and threads here: you'll write the approach before you build it, keep people posted on where things stand, flag risks as soon as you see them, and say what you think when you disagree — including with us. 135,000 - $175,000 CAD
Knotch is a fully remote company. 10+ company-paid holidays
Wellness and work-from-home perks
We commit to daily work towards leading with empathy, reducing bias through periodic training, and engaging with and uplifting communities of marginalized groups. We condemn all forms of racism and discrimination on the basis of race, religion, ethnicity, nationality, gender identity, sexual orientation, age, marital status, pregnancy or parenthood status, veteran status, disability status, or any other identifier. We encourage all employees, clients, investors, candidates, vendors, and friends of Knotch to deliver honest feedback directly or anonymously so that we may always seek to improve as an organization dedicated to diversity, equity, inclusion, and belonging.
#
📌 Senior Front-end engineer (remote) (Canada)
🏢 Knotch
📍 Canada