Home/work
§ Work · Index

All work

The full set of public projects. The five on the home page are the curated grid; everything else lives here. Private and gated work is not listed.

01Live demos
  • AI onboarding assistant

    Conversational AI that collects structured project briefs from a client. Five steps, one downloadable brief.

    Claude APINext.jsVercel
  • Hero section critic

    Paste a URL — Playwright captures the hero, Claude vision picks DOM elements, browser provides exact bboxes.

    Claude HaikuPlaywrightNext.js
02Production & client work
  • Tasks — self-hosted task app

    Drag-and-drop, recurrence, BlockNote pages, projects, push notifications. Used daily; sandboxed live demo with per-session data.

    Next.jsPrismaMantineBlockNoteWeb Push
  • Aibolit Community — AI brand assistant

    Telegram mini-app with an AI assistant for a pet-care community. Free and paid tiers, partner analytics, white-labelable.

    ReactViteTelegramAI
  • BestDinner × Aibolit — partnership campaign

    Co-marketing campaign between a pet-food retailer and a pet-care community. Pitch deck as a static site, co-branded Telegram mini-app.

    Next.jsStatic exportCo-branded UX
  • Vet practice — SEO scale with templated landings

    Moscow veterinary clinic. Replaced a static site with templated Next.js + Sanity generating 32 symptom-specific landings from one content schema.

    Next.jsSanityVercel
03Side tools
  • md2pdf — Markdown → PDF converter

    A small web utility that turns a Markdown file into a clean, paginated PDF. Built for my own docs flow; left online for anyone who needs it.

    Next.jsPuppeteer
  • Lineabook — line-a-day journal

    One line per day, plain text in, plain text out. Shipped as a public utility; a place to remember what a day was like without writing a paragraph.

    Next.js
04Personal infra

And a handful of self-hosted internal tools — n8n workflows, a news aggregator, custom scrapers, deployment scripts. Not publicly linked; happy to walk through any of them on a call if the shape is relevant.