← Back to indie projects

Case study / Personal project / Email open tracking / Live

Likelyread

Likelyread is an open-source email open tracker for Gmail, built around one question most trackers answer badly: did this open really come from the recipient? The Chrome extension adds a tracking image when you press Send and registers the email with your server, and every image request then gets a verdict with its reason: an open, your own view of the email, or an Apple Mail Privacy Protection prefetch. A dashboard covers campaigns, open rates, time to first open and sender health, and AI agents use the same data through an MCP endpoint and a CLI. It runs as Likelyread Cloud with a Google sign-in and Free, Pro and Lifetime plans, or on your own server with one install command. The engineering combines a FastAPI and SQLite server behind Caddy, a TypeScript Manifest V3 extension, Stripe billing and an MCP server. Likelyread is released, with the extension public on the Chrome Web Store and the code on GitHub under the MIT license.

  • RoleProduct, Full-stack & Extension Engineering
  • Tools usedPython · FastAPI · SQLite · MCP · TypeScript

01 / Brief

Solution

Likelyread is an open-source email open tracker for Gmail, built around one question most trackers answer badly: did this open really come from the recipient? The Chrome extension adds a tracking image when you press Send and registers the email with your server, and every image request then gets a verdict with its reason: an open, your own view of the email, or an Apple Mail Privacy Protection prefetch. A dashboard covers campaigns, open rates, time to first open and sender health, and AI agents use the same data through an MCP endpoint and a CLI. It runs as Likelyread Cloud with a Google sign-in and Free, Pro and Lifetime plans, or on your own server with one install command. The engineering combines a FastAPI and SQLite server behind Caddy, a TypeScript Manifest V3 extension, Stripe billing and an MCP server. Likelyread is released, with the extension public on the Chrome Web Store and the code on GitHub under the MIT license.

02 / Constraints

Problem

  • Separating real opens from the sender's own views and Apple's automatic prefetches when every signal is the same image request
  • Reporting honestly what Gmail's image proxy hides, such as the recipient's location and repeat opens served from its cache
  • Adding tracking inside Gmail's compose window without ever blocking or delaying the send
  • Keeping hosted accounts, billing and the self-hosted installer on one server codebase

03 / System

Architecture / workflow

  • Every image request is classified as an open, a self view or an Apple prefetch, and the dashboard shows the reason for each verdict
  • Tracking never blocks or delays a send: if the extension or the server fails, the email goes out untracked and its registration retries for seven days
  • Sender health checks SPF, DKIM and DMARC, suggests a daily pace for new addresses and flags open-rate drops that can signal spam placement
  • AI agents track the emails they send through an MCP endpoint, a CLI and a portable agent skill
  • One codebase serves the hosted Cloud plans and a self-hosted server installed with one command