Tessel — Next.js SaaS Website with an Interactive Product Demo by Akram AdjabTessel — Next.js SaaS Website with an Interactive Product Demo by Akram Adjab
Tessel — Next.js SaaS Website with an Interactive Product Demo
Concept project. Tessel is a fictional AI agent for finance teams. It reconciles bank and card lines against the ledger, flags what doesn't add up, and prepares the month-end close for a controller to approve. I designed the brand and every page in Figma, then built it with the Next.js App Router, MDX and Motion.
The brief was a SaaS site that wins over sceptical controllers with evidence, not adjectives: a real, interactive product demo instead of screenshots, and no fake logos or metrics.
The idea: the ledger sheet
The site is drawn from an accountant's ledger: ruled lines, column letters, ticks, and a highlighter for matched lines.
Drag to reconcile: the hero ledger is the pitch. Drag across rows and the difference runs down to 0.00
Scroll-morph: the close workspace shrinks from full screen into a card
The loop: a pinned Observe, Match, Flag, Close story over a Canvas 2D grid
Built for the marketing team
Content lives in the repo as typed files, so the team edits copy without touching components.
MDX: changelog entries, blog posts and open roles, with frontmatter checked by zod
Typed data: plans, the comparison table, use cases and the demo ledger in TypeScript
Generated: an OG image for every route and post, a sitemap and an RSS feed
Demo form: a server action with shared zod validation and real error, pending and success states
Features at a glance
Interactive hero: drag, use the keyboard or press Run Tessel. It plays by itself on touch, and the table is server-rendered
Pricing: a monthly/annual toggle with rolling figures, a 20-row comparison, and an FAQ with FAQPage JSON-LD
Use cases: four pages generated from one template
Changelog and blog: area filters kept in the URL, a table of contents and RSS
Accessibility: WCAG 2.2 AA, visible focus, live regions and reduced-motion end states
Concept project: a Next.js marketing site for a finance AI SaaS. Brand, UX/UI and a build with a drag-to-reconcile demo, MDX and Motion. Lighthouse 100.