artlu.ai
100 days. 100 features.
Just AI and an internet connection.
day 64/100 · 82 shipped · 18 to go
← all projects
day 48 · may 4, 2026 · launched

Meta Ads dashboard — AdsMetri

Meta Ads intelligence dashboard for e-commerce — campaign metrics, budget queue, scheduled execution.

ecom · ai · dashboard

What is AdsMetri?
A Meta Ads intelligence dashboard for e-commerce teams. Visual campaign metrics, budget management, and scheduled execution — all in one place. Live at adsmetri.com.

What it does
Dashboard with campaign metrics: spend, ROAS, CPA, conversions, CTR, CPC. Color-coded performance indicators show at a glance which campaigns are trending up or down vs. a configurable comparison period (3d / 7d).

Budget management flow: select a campaign, enter a new budget as a dollar amount or percentage change, and queue it for execution at 11pm local time in the ad account's timezone. The pending changes queue shows scheduled updates with a live countdown timer. "Apply immediately" hits the Meta API inline.

Expandable campaign rows reveal ad sets and individual ads with their own metrics. Stacked-bar spend distribution chart shows budget allocation across campaigns. Settings shows connected ad accounts (name, ID, currency, timezone) and lets you tune comparison period and color thresholds.

Demo mode: try the full dashboard without signing in — seeds five realistic campaigns into the app's own database under a temporary demo user.

How it works
Full-stack tRPC monorepo. Express server handles the API and serves the Vite-built React frontend. Drizzle ORM over MySQL/TiDB. Auth via Manus OAuth (Google, GitHub, etc.); Meta accounts connect through a dedicated OAuth callback that stores per-account access tokens, currency, and timezone.

How execution works
A Manus cron job hits a SCHEDULER_SECRET-protected endpoint hourly. The scheduler checks each connected ad account's stored timezone and executes any pending budget changes at 11pm local time for that account. Each attempt writes an immutable row to the execution log.

Built with
React 19, TypeScript, tRPC 11, Express 4, Drizzle ORM, MySQL/TiDB, node-cron, Manus cron, Tailwind CSS 4, shadcn/ui, Manus hosting + auth.

stack

ReactTypeScriptTailwind CSSshadcn/uiExpresstRPCcronOAuthMySQLDrizzleManus

screenshots

loading repository tree...
← select a file to view