Skip to content
Aboy Systems
All work
Client-grade build roadmapE-commerce analytics

ShopPulse Analytics OS

An e-commerce operations dashboard that turns raw store data into daily decisions — orders, revenue, stock, and channel performance in one live view.

Live demo · coming soon

ShopPulse Analytics OS is a client-grade build roadmap — a fully scoped system I'm building as a portfolio product. This page is the build spec, labeled as such. It is not a delivered client project.

Overview

ShopPulse is a client-grade product I'm building in the open as part of my portfolio: an analytics OS for small e-commerce teams who currently run their business out of storefront admin screens and spreadsheet exports. This page documents the full build specification — the problem it targets, the system design, and the v1 scope — and will grow into a complete case study as the build ships.

The problem

Small store owners rarely lack data — it's just scattered. Orders live in the storefront admin, payouts in the payment dashboard, ad numbers in another tab, and stock counts in a spreadsheet that gets updated when someone remembers. Mornings start with an export-and-paste ritual, stockouts get noticed after the sale is already lost, and nobody can answer 'how did last week actually go?' without an hour of assembly.

The solution

One dashboard over a clean data model: orders, products, and channels imported into PostgreSQL, with KPIs computed server-side and presented in views a non-analyst can read in thirty seconds. Per-product thresholds drive low-stock alerts instead of manual checks, date-range comparisons replace ad-hoc spreadsheet math, and every table exports back to CSV so accountants and agencies keep their existing workflow.

Key features

Daily KPI overview

Revenue, orders, average order value, and refunds with date-range compare — designed for a 30-second morning read.

Low-stock alerts

Per-product thresholds feeding a restock queue, surfaced in the dashboard instead of buried in email.

Channel performance

Sales split by channel and campaign source, so ad-spend decisions stop being guesses.

Order drill-down

From any chart to the underlying orders in one click — no black-box numbers.

CSV in both directions

Import legacy sheets to seed the system; export any view for accounting or agencies.

Roles & access

Owner, manager, and read-only accountant roles with appropriately scoped views.

Business value

  • Mornings start with numbers, not exports — the daily status ritual drops from an hour to a glance.
  • Stockouts become an alert you act on, not a surprise you apologize for.
  • One shared source of truth ends the 'which spreadsheet is current?' problem.
  • Clean CSV exports keep accountants and agencies happy without handing out store-admin access.

What I've built so far

  • A complete v1 specification: 14 screens, the PostgreSQL data model, and the alert-rules design.
  • KPI definitions written down precisely — what counts as revenue, when an order counts, how refunds land.
  • An import mapping designed for messy real-world CSVs: inconsistent SKUs, currencies, and date formats.
  • UI direction consistent with my FieldOps build: dense tables, calm charts, no dashboard theater.

Lessons learned

  • Alert design is a product problem, not a query — naive thresholds train people to ignore alerts.
  • Every store defines 'revenue' slightly differently; pinning metric definitions before building charts prevents expensive rework.
  • CSV import is the real onboarding feature — if seeding data is painful, the dashboard never gets adopted.

The build roadmap

  • v1 — core dashboard: KPI overview, orders, products, CSV import/export.
  • v1.1 — low-stock alerts with per-product thresholds and a restock queue.
  • v2 — channel and campaign attribution, plus multi-store support.
  • Later — scheduled email digests and a Shopify importer.

Want a system like this behind your business?

Describe how the work happens today — spreadsheet, inbox, whiteboard — in a message on the platform where you found this portfolio, and I’ll come back with an honest scope: what to build first, and what it takes.