M
← All work
03
AI Product Engineer
2026 · 03 / 06

EWYN

AI email platform — create branded emails in minutes, not days. I built the brand-kit agent that crawls any website and extracts logo, palette, typography and voice, and the generation agent that turns a plain-language prompt into on-brand email templates.

ewyn.ai
EWYN — screenshot
AT A GLANCE
Role
Built end to end, solo, with early input from one collaborator
Timeline
From first commit to a public site in about ten weeks
Live
ewyn.ai · @ewyn/client SDK on npm
AI from day one
Generation was the first line of the spec; the sending layer is deliberately thin
THE PROBLEM

Teams that ship product email spend days copying HTML from the last campaign and still end up off-brand. The design lives in one person's head, the templates in another's inbox, and every new email starts from a stale copy.

WHAT I BUILT
  • Brand-kit extraction. Give it a website URL: a scraper renders the site and an AI model extracts colors, fonts, logo, tone and assets into a workspace brand kit that every template inherits.
  • Template generation. Describe the goal and tone and a full branded HTML email streams live into the editor, with placeholders like the recipient's name filled in per person. The brand styling is frozen into the template when a draft is saved, so what was sent can never change afterwards.
  • Conversational editing. Ask for a change in plain language and the AI edits just that part of the template in place — replace, insert, remove, ask the user, finalize — instead of rewriting the whole email.
  • Sending through the provider a team already uses: a public API and a TypeScript SDK on npm, a queue worker that respects each provider's rate limits, and delivery tracking.
  • Automated quality scoring: a separate model call grades every generated template against the brand kit, with every AI call logged and traceable.
OUTCOME

Designed and built as one codebase with six parts — the web app people use, an admin tool, a worker that sends the mail, a scraper that reads websites, an SDK for developers, and the engine that renders the final email — and taken from first commit to a public site in about ten weeks. AI was never bolted on: the generation step is the product, and everything else exists to get its output into an inbox.

STACK
AI AgentsNextJSSaaS
  • Next.js 16 App Router, React 19, TypeScript, Tailwind 4, shadcn/ui
  • tRPC 11 with SSE streaming · Hono 4 public REST API · Prisma 7 on Supabase Postgres
  • Vercel AI SDK with Claude and OpenAI models, tool calling, Langfuse
  • BullMQ + Redis mail worker · Playwright scraper service · React Email + custom renderer
  • pnpm + Turborepo · Vercel + Railway
NEXT STEP

Want something like this? See AI Agents & Automation.

BOOK AN INTRO CALL →← All work
Mikk Õun — Freelance Product Engineer
info@mikkoun.comPortfolio →