Skip to content
Julien Bigot, home
Menu
All work

01/Shopify SaaS · Profit analytics

Nette Profit Analytics

A Shopify store’s real net profit, order by order.

Role
Product, full-stack development, infrastructure and publishing, solo
Period
Mar – Oct 2026
Status
Published on the Shopify App Store

Private code — demo on request. The repository is private. I am happy to demo the app on a call or in an interview.

Ask for a demo
A 71-second walkthrough, rendered from code with Remotion. No voice-over, music only. Demo store, fictitious data.
OAuth / API connectors
12
lines of TypeScript
~45 k
test files
41
App Store launch
Oct 12, 2026

Context

On Shopify, revenue is shown everywhere and margin almost nowhere. A store pays for products, shipping, payment fees, campaigns across several ad platforms and fixed costs, and no single view brings it all together.

The problem

Bring scattered data (Shopify orders, spend from 8 ad platforms, costs from 4 carriers) into one reliable cost model, recompute it continuously and make it readable inside the Shopify admin, without ever exposing a merchant’s data.

What I did

  • Product design, cost model and onboarding flow.
  • The whole application: Polaris front end, server rendering, API, jobs, database.
  • Production infrastructure, CI and backups.
  • Submission and publication on the Shopify App Store.
  • FR/EN promo videos rendered from code (Remotion).

Architecture & technical choices

  1. 01

    React Router 7 SSR inside the Shopify admin

    Embedded through App Bridge and Polaris, server-rendered, wired to the Admin GraphQL API. A first Express + Vite version (March 2026) served as a prototype; v2 was rewritten in end-to-end TypeScript.

  2. 02

    12 connectors behind one interface

    8 ad platforms (Meta, Google, TikTok, Bing, Pinterest, Snapchat, Reddit, X) and 4 carriers (ShipStation, Shippo, Sendcloud, EasyPost) over OAuth or API. Syncs run through a pg-boss job queue backed by PostgreSQL.

  3. 03

    AI with guardrails

    The assistant uses Claude with Zod-typed tools. Each question has a cost and call budget, and the model only sees aggregated metrics, never raw customer data.

  4. 04

    Hand-built, hardened infrastructure

    A VPS running Docker Compose: PostgreSQL on an encrypted volume (LUKS), Caddy with HTTPS/HSTS, pg_dump backups encrypted with age, a /healthz endpoint. GitHub Actions CI on Node 22 and PostgreSQL 17.

Highlights

  • Profit computed per order, cost by cost.
  • Monthly P&L, profit-based LTV cohorts and a what-if simulator.
  • Bilingual FR/EN interface and emails.

Stack

  • TypeScript
  • React 18
  • React Router 7 (SSR)
  • Shopify App Bridge
  • Polaris
  • Admin GraphQL
  • Prisma
  • PostgreSQL 17
  • pg-boss
  • Zod
  • Recharts
  • Anthropic SDK
  • Vitest
  • Docker Compose
  • Caddy
  • GitHub Actions
  • Remotion

Screenshots taken from demo stores, with fictitious data. Select an image to enlarge it.

  • 01The dashboard embedded in the Shopify admin (Polaris). Every cost is deducted: products, shipping, payment fees, ads, fixed costs.
  • 02A monthly P&L computed from orders, ad spend and fixed costs.
  • 03Profit after ads, channel by channel: spend comes from the 8 ad-platform connectors (OAuth).
  • 04The simulator recomputes projected profit live as the levers move.
  • 05LTV cohorts measured in profit rather than revenue.
  • 06The profit of every order, cost by cost.
  • 07The weekly summary email (fictitious store "Atelier Lumen").Screenshot in French
  • 08The public site usenette.com, bilingual FR/EN.

Watch on YouTube(opens in a new tab)