Vibecode Metorik

track this build4 phases, 12 steps, beginner friendly
KINDA · weekend project
price $25/moyou'd save $300/yrbuild time a weekendcategory 📊 analyticsreplaced by 0 people

The good news: every number Metorik shows you is already sitting in your own WooCommerce database, so nobody is gatekeeping your data. An agent can pull orders, customers and products through the Woo REST API into a local store and give you revenue charts, cohort and repeat-purchase views, product breakdowns and CSV exports in a weekend. The gap is everything that is not a chart: abandoned cart tracking needs a script on your storefront plus a capture endpoint, email automations need a sending domain and deliverability you do not have, and segment-driven campaigns need a rules engine that is a project of its own. Large stores also punish naive syncs, Metorik has spent years making that part boring. Build the dashboard, keep paying for the email side if that is why you signed up.

the project pack5 files · written for this build, step by step
README.md
# Metorik · indie build

A self-hosted WooCommerce reporting stack whose hard problems are a sync that can be interrupted without losing orders, revenue figures that survive refunds and cancelled orders, and a customer identity that exists for people who never made an account.

Estimated effort: **weekend**. Work `BUILD_PLAN.md` top to bottom · every phase ends in a check that has to pass before the next one starts.

## Stack

| Part | Choice | Why |
| --- | --- | --- |
| Runtime | TypeScript on Node 22, Fastify bound to the loopback address, a small React dashboard | the store data is the whole point and none of it should leave the machine |
| Warehouse | SQLite through better-sqlite3, with the raw API payload kept beside the normalised rows | when a figure looks wrong you need the original response, not your interpretation of it |
| Sync | An incremental worker with a watermark, an overlap window and upserts by id | stores keep changing rows while you page through them |
| Money | Integers in the currency's minor unit, with the currency stored per order | a report built on floating point sums is a report that disagrees with the shop |
| Definitions | Every figure on screen carries the rule that produced it | the argument about revenue is always about which orders counted |

## Before you start

Have every one of these ready. The plan assumes them from step one.

- [ ] **Node.js 22 or newer** · free
  - Why: Runs the sync worker and serves the dashboard.
  - Get it: nodejs.org, or your version manager.
  - Verify: node --version prints v22 or higher
- [ ] **A read-only REST API key pair for the store** · free
  - Why: This tool reads and reports; a key that can write orders is a risk with no upside here.
  - Get it: Create a key in the store's advanced settings with read permission only, over HTTPS.
  - Verify: A read request succeeds and a write request is refused
- [ ] **Which order statuses count as revenue, written down before you build a chart** · free
  - Why: The API returns everything by default and every figure in this build depends on where you draw that line.
  - Get it: List your store's statuses and mark each as revenue, not revenue, or excluded entirely.
  - Verify: The list is in the definitions table and appears under every figure
- [ ] **The timezone that defines a day in your reports** · free
  - Why: Daily figures move when this changes and everyone assumes the answer is obvious until two people compare screens.
  - Get it: Pick the store's zone or yours, write it down, and print it beside every date range.
  - Verify: The zone appears in the definitions table and in the interface
- [ ] **An anonymised order fixture including a refund, a guest order and a cancelled order** · free
  - Why: Those three rows are where every reporting bug in this category lives, and you need them in the test suite rather than in production.
  - Get it: Export a handful of real orders, strip the personal fields, commit them as fixtures.
  - Verify: The suite fails if refund netting, guest identity or status filtering regresses

## Quick start

Follow Phase 1 in `BUILD_PLAN.md`; it creates the project.

Then copy `.env.example` to `.env` and fill in the values it documents.

## Honest limits

This build deliberately does not replace:

- Abandoned cart tracking.
- Any email sending at all.
- Segment-driven automations.
- Multi-store aggregation.
- Abandoned cart tracking and cart recovery emails, which need storefront instrumentation plus real email sending
- Automated email flows tied to customer segments, with templates, throttling and unsubscribe handling
- Battle-tested incremental sync for stores with hundreds of thousands of orders
- Subscriptions, refunds and tax edge case handling that Metorik has already hit and fixed
- Mobile-friendly polish, live order feed and the everything-in-one-place feel

If one of those is essential to you, that is the reason to keep paying for Metorik, and the README should say so rather than pretend.

$ choose a build depth, inspect the files, then open the complete pack in your agent

why people still pay

Because a store owner wants the abandoned cart email that actually sends, not a chart they built themselves. Reports are the easy half and they are the half you can replicate; the automation half means a warmed sending domain, unsubscribe compliance, segment rules and someone to blame when the flow misfires during a sale. Metorik also absorbs the pain of WooCommerce version drift, plugin conflicts and gigantic order tables, which is unglamorous work that quietly eats your weekends if you own it.

what you lose

xAbandoned cart tracking and cart recovery emails, which need storefront instrumentation plus real email sending

xAutomated email flows tied to customer segments, with templates, throttling and unsubscribe handling

xBattle-tested incremental sync for stores with hundreds of thousands of orders

xSubscriptions, refunds and tax edge case handling that Metorik has already hit and fixed

xMobile-friendly polish, live order feed and the everything-in-one-place feel

prior art · use these instead of building, if you'd rather

Nothing worth pointing at. That's why the prompt exists.

share on X ↗"I just replaced Metorik ($25/mo) with one prompt"
questions
Vibecode Metorik

Kinda. The core of Metorik is buildable in a weekend with the prompt on this page, but there are real gaps: Abandoned cart tracking and cart recovery emails, which need storefront instrumentation plus real email sending, Automated email flows tied to customer segments, with templates, throttling and unsubscribe handling. Read the honest list above before committing.

How much does Metorik cost?

Metorik costs about $25/month (Starter Plan, checked 2026-08-18), which is $300 per year.

What do I lose by replacing Metorik?

Honestly: Abandoned cart tracking and cart recovery emails, which need storefront instrumentation plus real email sending; Automated email flows tied to customer segments, with templates, throttling and unsubscribe handling; Battle-tested incremental sync for stores with hundreds of thousands of orders; Subscriptions, refunds and tax edge case handling that Metorik has already hit and fixed; Mobile-friendly polish, live order feed and the everything-in-one-place feel. If any of those are load-bearing for you, keep paying.

Is there an open-source alternative to Metorik?

No mature open-source alternative worth pointing at, which is exactly why the one-shot prompt on this page exists.