Blog
Notes from building Pimi: support email and ticketing, APIs and webhooks, and running your own servers.
How much RAM does a WordPress server need?
A small WordPress site runs on 1 GB with a page cache. A shop or several sites need 2 GB or more. How to work out the number for your own server.
Why MySQL keeps getting killed on your VPS
When a VPS runs out of memory, Linux stops the biggest program, which is usually MySQL. How to confirm it, what grew, and how to stop it happening again.
Shared inbox or ticketing system: which does your support need?
A shared inbox suits mail that is a conversation. A ticketing system suits requests that must be tracked to done. How to tell which your support mail is.
When to upgrade your VPS, and when not to
Upgrade your VPS when memory, disk or processor is short on most days, not after one slow day. How to check each, and what to try before paying more.
Running Pimi on Pimi: our products on our own tools
Pimi's own products run on Pimi's tools: PimiDeploy set up and deploys two production servers, PimiPulse watches them, PimiDesk answers the mail.
Helpdesk Webhooks: Get Ticket Events Into Your Own System
Polling GET /tickets misses transitions and burns quota. The 17 events PimiDesk fires, the signature check done right, and why the delivery id is the wrong dedupe key.
Your Email Threading Anchor Is Forgeable. Sign It.
A sequential ticket id in the References header is guessable — and the payload is another customer's conversation. The exploit chain, and the HMAC anchor that closes it.
API-First Helpdesk Alternatives to Zendesk
When an API-first helpdesk beats Zendesk, what you lose by moving, and who should stay. With a sourced comparison table.
How to Import Tickets into Your Helpdesk via API
Bulk-import tickets over REST without losing history: contacts, message order, internal notes, idempotency, rate limits — with runnable code.
How to Receive Inbound Email With Amazon SES
SES has no inbound webhook. The receipt rule, S3 and SQS pipeline, MIME parsing, deduplication, spam verdicts — and the Message-ID rewrite that silently breaks reply threading.
Mailgun vs Amazon SES: Which Should You Build On?
Cost, inbound architecture, Message-ID handling, and operational burden. A practical comparison for anyone whose product runs on email.
Why API-First Helpdesk Over AI Chat
Structured ticket management beats chatbot complexity for most support workflows. Just an API key — no chatbot training, no AI hallucinations.
How to Automate Support Tickets with AI Agents
Connect Claude, ChatGPT, or any LLM to your helpdesk via API. Triage tickets, draft replies, tag conversations, and manage your support pipeline with AI agents.
How to Integrate a Helpdesk API Into Your Product
A practical guide to adding ticket management and customer support to your app using a helpdesk API. Code examples, architecture patterns, and common pitfalls.
How Email-to-Ticket Automation Works
Convert inbound emails into trackable support tickets automatically. No manual data entry. PimiDesk handles email threading, CC tracking, and attachments.
Why Your Team Needs a Unified Inbox for Support
A unified inbox puts all your customer conversations in one place. Shared visibility, clear ownership, and no more digging through personal email accounts.
Support Ticket Management: What It Is and Why It Matters
Support ticket management turns messy customer emails into organized, trackable requests. Here's how it works and what to look for in a system.