Tenon
Tenon finds the roles that fit you, then helps you earn them with the right moves and materials.
I am building it for my own job search. I use it for every role I pursue.
Tenon is in active development, I have no plans to commercialise it. The interface is work in progress.
Problem
AI made it easy to apply to everything, so people did. 67% of HR leaders say AI-generated applications have slowed the hiring process (Robert Half, 2026). Whilst 70% of hiring managers trust AI to make faster and better hiring decisions, only 8% of job seekers call AI hiring fair (Greenhouse, 2025).
I was looking for work myself. I wanted an agent driven app that started with positioning, judged fit honestly, and showed its reasoning.
Product
The agent ingests context and builds your profile: role level, location, sectors, work history. Tenon surfaces roles that match. Select one and it composes an approach: why your background fits, what angle to take, what the market says about compensation. Real agent calls, a purpose-built design system, structured outputs.
Design system
The design system has a fixed set of building blocks: value displays, timelines, input controls. The agent picks which blocks to use and what content goes in them, but it can't change how they look or invent new ones. Each block validates its content before it renders.
The reasoning: if the agent controls appearance, every prompt change risks breaking the product's identity. If the component enforces its own appearance, the agent composes freely without introducing UI inconsistency. Appearance decisions are made once, in the component, and enforced.
This pattern shipped as open infrastructure through 2025-26. Google's A2UI and Vercel's json-render landed on the same architecture: the agent fills pre-built components from a fixed set, and anything not in the set doesn't render. Tenon arrived there independently, with a smaller, more opinionated vocabulary.
Trust
Tenon shows the reasoning behind every recommendation, not a confidence score. LLM confidence is systematically miscalibrated (Xiong et al., 2025), and in controlled tests, showing confidence percentages was the least effective of three interventions for helping users calibrate their trust in an agent (CHI 2025). Instead, each recommendation surfaces what it's based on: which parts of your profile matched, which role signals informed the read, and where the evidence is thin.
The more a decision matters, the more Tenon checks with you. New content populates without disrupting what was already there. Content you've already seen or taken action on shows old next to new so you can compare. Actions that change a job role's state (dismissing a role, submitting materials) get a clear notice. This avoids two failure modes: asking permission for everything, and asking permission for nothing.
Generation
Each role gets a composed approach: why it fits, what angle to take. Tenon then generates the materials to back it up. Blocks appear as they're generated, with disclosure placeholders where the agent is still working.
The underlying pattern: layout, structure, and vocabulary are fixed. The content is composed per role, tailored to your positioning and the specific opportunity. The UX is consistent. The content is agent driven.
Scope
Research, a detailed product specification, the design system, tech stack and agent integration, all created in Claude Cowork and Code. No Figma, everything in open formats. Consistency, trust, and composition quality in agent-driven interfaces are design problems. I built a product to solve them.