← all work

Potential

I'm one half of a two-person company. The other half is increasingly made of agents I've built.

role
Co-founder
when
Mar 2026 – present
stack
Claude, Leonardo, Higgsfield, Shopify, Python
status
Ongoing
Potential — hand holding an iced latte in a branded cup, product box in frame

The setup

Potential is India's first protein + L-theanine functional coffee. The brand launched in January 2026; since March it's been my full surface — brand, website, ads, content, ops, the daily numbers. Two people, no team, no agency.

If you run a D2C brand, you know the list of things you pay other people for: a creative agency for the ads, a content retainer for SEO, a developer for the store, an ops hire for the daily numbers, a growth consultant for the funnel. This page is that list — what each line item normally costs a brand in agencies and hires, what I built instead, and the real artifacts it produced.

That only works because of how the company is structured. A brand-intake document defines positioning, ICP, voice, and visual direction once. Eight agents read from it and produce against it — data agents that pull the numbers nightly, execution agents that ship creative and store changes. One report rolls it all up and tells me what matters tomorrow. All of it surfaces in Brand OS, the internal operating app I built for the company: the agents file their work as tasks, queue anything irreversible as an approval, and write to a shared pulse dashboard and content calendar. The intake doc is the spine. The agents are the limbs. Brand OS is the desk where I make the calls on what ships.

The operating model — brand-intake doc as the system of record, five data agents pulling nightly, the founder-report-agent as conductor, and five execution surfaces: storefront, ad creative, content, ops, research

This case study is about that operating model first; the vitals are at the bottom. Everything that would normally be a hire or a contractor is a workflow, and the sections below walk through each one with the real artifacts.

What I run

Six functions, each mapped to what a brand normally buys:

  • ad creative — the creative-agency retainer and the photo shoot
  • content, SEO & AEO — the content agency
  • website — the Shopify developer on call
  • daily numbers & shipping ops — the ops hire
  • CRO audits — the growth consultant
  • research — the market reading nobody has time for

Each section below stands alone: what brands normally pay for, what I built instead, what it produced.

Ad creative

normally — a creative agency, a photographer, a studio day

All of the creative is AI-made: Claude for the concepts and copy, Leonardo and Gemini for the product and lifestyle imagery, Higgsfield for motion, then the typographic layer goes on in HTML/CSS. The pipeline is the dual-reference flow I've written about publicly: a low-weight style reference plus a high-weight product reference, generate, then lay out the copy and export. No shoots, no studio, no stock.

Static ad — 'Iced coffee with benefits' with frother, boxes, and pour shot on orangeStatic ad — 'Turn on your Potential' toggle checklist beside the Mocha boxStatic ad — 'Old me / New me' split-frame comparison
Static ad — 'Coffee, upgraded.' black box editorial on creamStatic ad — 'The perfect pre-workout ritual' with the frother in actionStatic ad — clean studio hero, both flavours, 'India's first functional protein coffee'

The scripts are AI-written too — Claude drafts the scripts for the founder-led performance ads I shoot, and the long-form for SEO. The face on camera is real; everything around it is generated or written by the system.

The same pipeline feeds the marketplace surfaces: product renders become Amazon listing images, and the A+ modules (comparison tables, USP grids, how-to triptychs) are laid out in HTML and exported.

Studio hero — iced glasses and boxes on stone pedestals with ingredient calloutsAmazon A+ comparison table — Potential vs energy drinks vs café latte

Content, SEO & AEO

normally — a content agency on retainer

The content loop: the seo-geo agent drafts briefs from the intake doc, a writer drafts long-form, an audit pass checks each piece for Google signals and for AEO (clear claims, structured facts, citation-friendly phrasing for ChatGPT and Perplexity), and then it publishes to the blog. The proof is in what happened next. The domain had zero search history in March. Fourteen weeks later: 7,155 impressions, 786 clicks, brand queries holding positions 1–2 — and the agent-drafted jitters post now earns more impressions than the homepage.

The AEO side is already converting, not just ranking: we've had orders come in from people who found Potential because ChatGPT recommended it when they asked about protein coffee. Getting cited by the answer engines was the bet behind structuring the content this way, and it's paying out earlier than I expected.

Search growth — weekly impressions and clicks from zero domain history to 1,180 impressions a week in 14 weeks, with the agent-published posts ranked by impressions

Website

normally — a Shopify developer on call

The store is potentialfuel.com, on Shopify. I own the theme, the landing pages, and the A/B tests — and most edits ship through the website-editor agent, which is the only agent with write access to the live store.

Live-store changes run with PR-grade discipline even though one agent does them: every theme edit is backed up first (60+ timestamped backups, never deleted) and logged with intent, target, backup path, and measured result. Anything with real-money consequences — pausing an adset, reallocating budget, a price change — never ships on its own: it lands in Brand OS's approvals queue and waits for my call.

Storefront change management — timestamped theme backups and a structured edit log with intent and measured result

Daily numbers & shipping ops

normally — an ops hire and a weekly MIS ritual

Every number a founder checks obsessively, orders, CAC, ad spend, shipping status, arrives without anyone pulling it. Three Python scripts form the data spine (cac_pull.py, meta_spend_pull.py, daily_breakdown.py): one pulls Shopify orders over 30 and 90 day windows and structures them for CAC overlay, one pulls Meta Marketing API insights (daily spend, campaign-level summaries), and one computes yesterday / 7d / 30d order breakdowns and tracks the most recent 30 AWBs via Rapidshyp for shipping status. The dashboard reads these outputs and surfaces them. MIS spreadsheets sit alongside as the human-readable ledger. On top of the numbers, an agent handles order-update comms and customer questions over WhatsApp, which would otherwise be the highest-volume operational tax for a two-person company.

The practical effect: fulfilment is reduced to printing labels. Orders flow in, the pipeline books the shipment and preps the label, the chase list flags anything stuck — the only physical act left is print, stick, hand over the box.

The company runs on a schedule. Four jobs fire without me: the nightly founder report (launchd, 10 PM IST, with a cloud-redundant copy on GitHub Actions), a Reddit market-intel brief three times a week, and the always-on dashboard service. Every run writes a dated snapshot, 200+ timestamped artifacts and counting, which is what makes the "vs 7-day / vs 30-day" trends real instead of vibes.

The four scheduled jobs that run Potential — nightly founder report, cloud-redundant copy, Reddit market-intel brief, and the dashboard serviceThe ops dashboard — KPI cards, a 'do today' action list, today's snapshot, and the revenue trend

The end-of-day report is the heartbeat: sales vs trailing 7/30 days, Meta ads, the content pipeline, the fulfilment queue with an undelivered-orders chase list, products sold, weekly trend, top states, and tomorrow's checklist. It grades itself against a KPI scorecard with red/amber/green targets.

The full nightly founder report — pulse cards, sales, Meta ads, content pipeline, fulfilment pipeline, chase list, weekly trend, and tomorrow's checklist (figures masked)
The operating scorecard the report grades against — revenue, acquisition, delivery, SEO, email, and Meta ads metrics with red/amber/green targetsThe investor MIS — headline KPI cards and the monthly P&L tracker structure, January through May (figures masked)

CRO audits

normally — a growth consultant's quarterly audit

A funnel audit usually arrives once a quarter as a deck with ten recommendations. The CRO audit agent here runs on a cadence, watches for drops in funnel performance (ad → click → product page → checkout), and suggests one experiment per drop instead of a wishlist of ten. The constraint is the point: one experiment, scoped to the drop, runnable in a week.

It grew out of fb_ads_analysis/, a Python pipeline I built that pulls Potential's Meta ad data (campaigns, adsets, ads, demographic + placement + daily insights) and outputs two PDFs: a creative-performance report and a persona report. That one-shot pipeline generalised into the agent that now runs on its own.

First page of the customer persona report generated by the fb_ads_analysis pipeline

The audits turned into changes that moved numbers: successive creative rounds driven by the performance reports lifted ad CTR, and the funnel work surfaced where COD orders were leaking — which is what led to the WhatsApp automation for order confirmation and updates. Less drop-off after the click, fewer orders dying between checkout and doorstep.

Research

normally — the market reading nobody has time for

Three mornings a week, a Reddit market-intel brief lands before I'm at my desk: what the category's customers are complaining about, which competitors are getting talked about, what language real people use for the problem we solve. Alongside it, deeper research agents run competitor scans, category reads, and ingredient or claim research. Everything files back into the brand-intake system as structured briefs, so the next round of creative or content has a fresher read of the market without me doing the reading. The point isn't volume of research; it's that it lands in the same place every other agent reads from.

The nightly data trail — every agent writes dated JSON snapshots; 200+ timestamped artifacts power the trailing-window trends

The night the report didn't send

On 8 June 2026, the nightly report never arrived. Investigating the next day, I found the launchd job had fired eleven minutes late because my Mac had woken from sleep behind schedule, and at that exact moment had no working network or DNS. Every downstream call failed identically: Failed to resolve 'potentialcoffee.myshopify.com' for Shopify, the same for Rapidshyp and Meta, and critically, the email send itself failed too. There was no retry logic and no failure alert, so the miss was completely silent — nothing flagged that the 10 PM report hadn't gone out.

I diagnosed it as a transient connectivity issue, not a code bug (DNS resolved fine by morning), then hit a second wall: the send script had no historical-date mode, so the exact 10-PM-on-June-8 snapshot couldn't be reconstructed, because Rapidshyp and Meta are live-state pulls, not append-only logs. The practical fix was a fresh mid-day report sent immediately, explicitly caveated as a partial-day snapshot, not the missed one: POTENTIAL EOD | 09 Jun 2026 | ▮ orders today, ₹▮,▮▮▮, ads 1.35x ROAS, 5 COD to approve, 6 to ship, 2 stuck, 5 drafts unpublished.

The real fix was structural, not a patch: a single laptop-dependent cron can silently fail whenever the machine sleeps through its wake window, so the same report script now also runs as a GitHub Actions workflow on ubuntu-latest, with its own copies of every secret. Two independent schedulers running the identical job means one sleeping laptop no longer takes the whole report down.

A smaller incident from the same project: the sticky add-to-cart bar showed ₹699 (the raw Shopify variant price) while checkout actually charged ₹999 (the active 2-pack bundle price), a trust-killer, since the number a customer saw and the number they paid diverged. Root cause: the theme's price element mirrored the raw variant price and reset on every flavor change, while a separate bundle widget layered a discounted total on top: the sticky bar had been mirroring the wrong element. The fix made both the main price and the sticky bar follow the active bundle card's price and re-sync on every flavor/pack change, verified against an unpublished theme clone before it went near the live site.

What the numbers say

The operating model is the case study; these are the vitals.

  • Month-over-month order growth, Feb → Mar 2026: 8x (a separate read of the same window shows higher; I'm using the conservative number)
  • Repeat purchase rate: 7.1% → 17.6%, March to June
  • AOV up ~34%, March to May
  • COD share cut from 48.5% → 29.2%
  • 88% of orders dispatched within 48h
  • 206 dated data artifacts written by nightly agents
  • 60+ timestamped theme backups, zero deletions

What's working

The honest headline: we eliminated the agencies. Marketing agency, creative agency, growth agency — every dependency a small consumer brand normally signs up for, we replaced with the agent system. The day-to-day digital operations of the company run through it.

The less obvious win is depth. The nightly reports, the persona analysis, the Reddit briefs, the funnel audits — that's a level of insight into our own business that we would never have gotten from an agency retainer. An agency sends a monthly deck. The system tells me every night what changed, why it matters, and what to do tomorrow.

What I'd hire someone for

Video and authentic content creation — the human-on-camera, on-location work that synthetic pipelines genuinely can't replace. And the physically operational things: on-ground retail, sampling, events, the parts of a consumer brand that happen away from a screen.

Everything else, AI partners with me on. That's not a cost decision anymore; it's how I build this company.

If you run a brand

None of this is specific to coffee, the intake doc changes, the system doesn't, so if you want to see how it would map to your brand, write to me: deepika.rao229@gmail.com.