Case study · CRM & messaging automation
Building a calendar-driven CRM and messaging automation platform
TickMessage turns calendar activity into personal WhatsApp and email follow-up, while keeping messages connected to the user’s real accounts and contacts.
- Engagement
- Pacifica product / Principal engineering
- Category
- CRM & messaging automation
- Channels
- WhatsApp and email
- Live product
- tickmessage.com
The problem
Relationship-driven professionals often know exactly when they should follow up, but the follow-up still depends on memory and manual effort. The product needed to make routine communication happen automatically without making the interaction feel like a bulk campaign or moving the user into an unfamiliar messaging identity.
What was built
Pacifica designed a workflow-driven CRM and messaging platform that links calendar events, contacts, reusable message templates and delivery rules. Messages can be triggered around events and sent through the user’s own communications channels, allowing replies to return to the existing relationship rather than a separate marketing inbox.
How it fits together
Personal at the edge, automated underneath.
- Calendar eventGoogle Calendar activity is the business signal.
- Rules & templatesOffsets, filters and merge-tag templates decide what to send and when.
- Rails applicationContact resolution, scheduling and delivery state in PostgreSQL.
- Queued deliveryBackground jobs and Redis streams keep sending predictable.
- Your own channelsWhatsApp and Gmail or Outlook, so replies come back to you.
Technical decisions
- Ruby on Rails and PostgreSQL core application, with trigram, full-text and vector search for finding the right contact quickly.
- Google Calendar, Gmail and Contacts integrated through OAuth2, so the product acts as the user rather than as a third party.
- A separate Go-based WhatsApp service integrated with the Rails application, isolating the messaging connection from the web app.
- Redis streams with consumer groups and priority queues (normal and bulk) for asynchronous messaging and predictable throughput.
- Sidekiq and cron scheduling with a recurrence engine, and multi-channel routing across WhatsApp, Gmail and SMS.
- A secure media pipeline using temporary presigned URLs for attachments held in S3.
- Health monitoring, recovery and back-off behaviour, with production logging and alerting.
- Automated testing across unit, system and browser levels.
Outcome
The result is a production-ready foundation for event-driven relationship communication across multiple channels, designed to remain personal at the edge while using automation underneath.
What this demonstrates
The same engineering applies to other products and integrations.
Have an important software problem?
Tell us what you are trying to build, improve or untangle. You will speak directly with a senior engineer — no sales handoff.