Career story

Turning Klaviyo data into SaaS

How a two-month zero-to-one SaaS build turned Klaviyo API constraints, structured data syncing, Appwrite functions, and AI-assisted analysis into a practical tool for email marketing agencies.

ElixirReactKlaviyoAppwriteData SyncAnsibleSaaSAI Analysis

Highlights

  • Helped a friend bring Leakio from zero to one as a SaaS tool for email marketing agencies using Klaviyo.
  • Built the sync layer that pulled Klaviyo data under tough API limits and shaped it into a useful database.
  • Connected earlier Elixir and DevOps experience to a focused stack with React, Appwrite, Docker, GitHub Actions, and Ansible.
  • Supported AI-assisted numbers analysis so agencies could move from raw metrics to clearer client conversations.

Related links

A friend, a deadline, and a messy data problem

Leakio started as a very practical build with a good friend: email marketing agencies using Klaviyo had plenty of data, but turning that data into clear client-facing answers was still too manual. The idea was not to make another giant dashboard. It was to make the important numbers easier to collect, inspect, and explain.

By then, the blockchain explorer had given me stronger backend, frontend, and DevOps instincts. Leakio used those same muscles in a more focused SaaS setting, where the quality of the sync mattered because bad or stale numbers would immediately break trust.

Klaviyo was the center of gravity

Klaviyo is powerful because it sits close to customer data, events, flows, campaigns, segments, and revenue attribution. That also makes it a demanding integration target. The useful product was not possible until we could sync the right data reliably and shape it into a database that made sense for analysis.

That became one of the biggest engineering challenges: pagination, rate limits, retries, incremental updates, awkward edges in API responses, and mapping external marketing data into our own clean domain model. It was less glamorous than UI work, but it was the foundation everything else needed.

A stack that stayed out of the way

The backend was Elixir, which fit the sync-heavy shape of the product well: long-running work, integrations, data normalization, and server-side logic that should never live in the browser. React handled the frontend, where the goal was clear operational UI rather than visual fireworks.

We also used Appwrite for hosting and serverless functions, with Docker and GitHub Actions keeping the delivery path repeatable. Ansible was the quiet upgrade I was happiest about: new VPS setup went from a hand-rolled chore to a playbook-driven process that could take minutes instead of hours.

AI only worked because the data worked

Leakio could also use AI assistants for numbers analysis, but the interesting part was not "AI" by itself. The assistant could only be useful if the underlying Klaviyo data had already been synced, normalized, and made trustworthy.

That made the product feel connected end to end: pull the data, structure it, expose the right views, then use AI to help summarize, compare, flag, and explain. The human still made the call, but the boring analytical setup work got lighter.

What shipped in two months

We brought Leakio from zero to one in about two months. That timeline forced focus: sync the data, make the database useful, build the core agency-facing experience, keep deployment boring, and avoid turning the first version into a wishlist.

It was satisfying because it pulled earlier chapters together. Games taught me tooling, AR taught me real-world reliability, the explorer taught me Elixir and DevOps, and Leakio turned those lessons into a SaaS product that solved a concrete business workflow.

Back to blog