Claude Code
Good at email parsing edge cases, MIME handling and writing tests with real sample emails.
Support · updated 2026-11-03
Hard: Only a slice A ticket list is easy; reliable inbound email, threading, attachments and spam handling are what make a help desk hard.
At its core a help desk is a shared inbox: emails come in, become tickets, agents reply, replies go out from your support address. Receiving and parsing email correctly is the hard part: threading replies, quoted text, attachments, auto-replies, bounces and spam. For a solo founder a shared inbox in your email client or a small indie help desk is usually the better choice, but building one is a great lesson in email.
Zendesk is help desk software that turns customer emails, chats and calls into tickets for a support team. This page is about building your own version for personal or internal use, or to learn how this kind of product works, not about copying Zendesk to compete with it. How we grade.
Difficulty is for a solo builder using an AI coding tool. Skip means not worth building yourself.
| Feature | Difficulty | Why |
|---|---|---|
| Tickets with status, priority and assignee | Easy | Standard CRUD with filters and views. |
| Inbound email to ticket | Hard | Use a provider's inbound webhook (Postmark, Mailgun, Cloudflare Email Routing to a Worker) and parse carefully. |
| Reply threading | Medium | Use Message-ID, In-Reply-To and a ticket token in the reply-to address. |
| Outbound replies from your domain | Medium | Email API with SPF, DKIM and DMARC set up correctly. |
| Internal notes and canned replies | Easy | Notes must never be sent to the customer by mistake; separate tables help. |
| Attachments | Medium | Store in private object storage, serve with signed URLs, limit types and size. |
| Auto-reply loop protection | Medium | Detect Auto-Submitted headers and rate limit replies per address. |
| SLA rules and business hours | Medium | Timers that pause outside business hours are fiddly; skip for a solo inbox. |
| Phone and social channels | Skip | Out of scope for a self-built help desk. |
Your own version vs Zendesk, at personal or small-team scale.
Support Team: $19/mo/seat billed annually
Support Team is $19 per agent per month billed yearly or $25 monthly; Suite Team is $55 billed yearly.
Source: zendesk.com/pricing. Prices change; check before deciding.
| Running cost | Per month | Notes |
|---|---|---|
| Hosting and database | $0–$25 | Supabase free or Pro. |
| Inbound and outbound email | $0–$15 | Cloudflare Email Routing to a Worker is free for inbound; email API free tiers cover small outbound volume. |
| Attachment storage | $0–$2 | Object storage such as Cloudflare R2 at cents per GB. |
| Total | $0–$42/mo | Saves up to $228 a year vs Zendesk Support Team per seat; at the top of the range it costs $276 a year more. |
Good at email parsing edge cases, MIME handling and writing tests with real sample emails.
Quick to produce the ticket views and agent UI on Supabase.
Useful for iterating on the parser and threading logic with fixtures.
Paste it into your tool, then ask for a plan before any code. Edit the specifics to match what you need.
Build a small help desk for my own business (1 to 3 agents), replacing a shared support@ inbox. Internal use only. Stack: Next.js, Supabase (Postgres, auth, storage), an email API for sending, and inbound email via a provider webhook (Postmark inbound or Cloudflare Email Routing to a Worker). Data model: contacts (id, email, name), tickets (id, contact_id, subject, status: new | open | pending | solved, priority, assignee_id, created_at, updated_at), messages (id, ticket_id, direction: inbound | outbound | note, from_email, body_text, body_html_sanitized, message_id, in_reply_to, created_at), attachments (message_id, storage_path, filename, mime, size). Requirements: - Inbound email creates a ticket or threads into an existing one using In-Reply-To, References and a ticket token in the reply-to address. - Strip quoted replies for display but keep the original. - Agent views: queue, my tickets, search; reply, internal note, canned responses. - Detect auto-replies and bounces and never auto-respond to them. Security: - Verify the inbound webhook signature or secret. - Sanitise inbound HTML with a strict allowlist before display, and show external images only on click. - Store attachments privately and serve via short-lived signed URLs. - Row Level Security limited to agents.
AI tools often get these wrong by default. Check each one before anyone else uses the app.
They went far past the prototype: support, payments, reliability and years of iteration. Their profiles show what that took.
Ian Landsman built HelpSpot
Long-running help desk sold as SaaS or self-hosted.
Alex Turnbull built Groove
Help desk for small businesses, $5M ARR.
Freek Van der Herten built There There
AI-assisted, human-led help desk.
Shahjahan Jewel built Fluent Support
Help desk and ticketing plugin for WordPress.
Antoine Minoux built Fernand
Support platform for SaaS teams.
If you need Zendesk's job done rather than a project, these are built and supported by independent makers.
helpspot.com
Help desk and customer service software available as SaaS or self-hosted.
aidbase.ai
AI customer support with chatbot, knowledge base, AI-assisted ticketing and email support.
ferndesk.com
AI-native help center that reads your codebase, tickets and changelogs to keep support docs up to date automatically.
askbase.com
AI-powered knowledge base software.
Help desk software for small businesses; its domain now points to Helply.
there-there.app
AI-assisted, human-led help desk for support teams.
You learn how email really works: MIME, threading headers, deliverability records and safe HTML rendering.
Hard. A ticket list is easy; reliable inbound email, threading, attachments and spam handling are what make a help desk hard.
A working personal or internal MVP takes about 10 h–3 days with a tool like Claude Code. A polished version you would rely on every day takes about 10–25 days, mostly spent on inbound email parsing: threading, quoted replies, encodings and attachments.
Expect $0–$42/mo at personal or small-team scale (hosting and database, inbound and outbound email, attachment storage). Zendesk Support Team costs $19/mo/seat (checked 2026-11-03), so the most you would save is $228 a year, before counting your time.
You can build a working ticket system quickly, but turning inbound email into correctly threaded tickets with attachments takes careful work. Expect a weekend for a basic version and weeks for a reliable one.
Email. Parsing inbound messages, threading replies, stripping quotes, avoiding auto-reply loops and getting your replies delivered are where most of the effort goes.
Yes, several indie-made help desks such as HelpSpot, Groove and Fluent Support target small teams, and some offer self-hosted or one-time pricing.
Building your own tool that solves the same problem is common and generally fine. Copying Zendesk's code, design assets, brand name or content is not. Use your own name and design, respect their terms of service, and get proper advice if you plan to sell it. This page is not legal advice.