Skip to content

Product timeline

PulseAd’s product has had two generations:

  1. PulseAd Portal — the original dashboard product (Tableau analytics for Amazon advertisers). The old product.
  2. Pulson — the agentic analyst that replaced it. It launched as Pulsy and was rebranded to Pulson in 2026. The current product.

This page traces both, synthesized from the full commit history of the source repos. Everything from the Portal generation (and a few superseded surfaces inside the new product) is now deprecated — see What’s deprecated.

The old product — PulseAd Portal (the dashboard era)

Section titled “The old product — PulseAd Portal (the dashboard era)”

The Portal was a multi-channel advertising analytics dashboard for Amazon sellers, served at portal.pulsead.io. Advertisers signed in (Auth0), connected their ad accounts, and viewed embedded Tableau dashboards plus data exports — Sponsored Ads first, later Meta / Google / TikTok. It was a static SPA on S3/CloudFront (portal) backed by a FastAPI service on AWS App Runner (portal-api), later rewritten in Next.js (portal-frontend).

The crucial detail: the new product was born inside the old one. From mid-2025 the new Pulsy app was embedded as an <iframe> (“Pulsy AI”) in the Portal, passing the user’s auth token — a feature dropped into the dashboard before it became the standalone product. Once Pulsy stood on its own, the Portal was left behind.

The new product — Pulson (launched as Pulsy)

Section titled “The new product — Pulson (launched as Pulsy)”

Pulson is the agentic Amazon-advertising product: chat that reads freely and acts under human approval, on a multi-tenant data model. Its backend “brain” (ai-api) actually predates the standalone app — it started in Feb 2025, alongside the Portal — and the standalone web app (pulsy-frontend) began in Jul 2025. Over 2026 it grew from a chat product into a platform: an agent/ops layer (pulsead-agents), a data & semantic layer, a creative suite, and operator tooling (AOP). For what each part does today, see What PulseAd is.

Synthesized from full commit history. Dates are commit dates.

2024 — pre-git: internal RTB automation (not in this repo’s source history)

Section titled “2024 — pre-git: internal RTB automation (not in this repo’s source history)”

This is the G1 “Admin Platform” era — internal PSM tooling, built from Jul 2024 under Ted’s leadership. It is where the product’s automation actually began.

  • Jul 2024First RTB bidding, applied at Prime Day — replacing the manual 24-hour bid-monitoring spreadsheet. The Retool Admin Platform ships.
  • Aug 2024 — Auto target-registration + bid optimization; account / out-of-budget monitoring with Slack & SMS alerts.
  • Sep 2024 — RTB exception logic (negative keywords, auto-inactivation); a multi-client summary dashboard.
  • Oct 2024 — RTB proven at Prime Big Deal Days (vs non-RTB: ROAS +3.2%, Orders +141%) and rolled out to all campaigns (10/17).
  • Nov 2024 (BFCM)RTB adoption scales significantly; buy-box-issue crawling
    • ad-spend-waste alerts; keyword bulk-register.
  • Dec 2024 — Admin hub consolidation (admin/home); SB recommendation API. The customer Portal SaaS MVP opens (12/31) — the bridge into the git-tracked era below.

2025 — from dashboard to standalone chat

Section titled “2025 — from dashboard to standalone chat”
  • Feb 2025Two things start at once. portal is born (Auth0 SPA → Tableau dashboards on S3/CloudFront). ai-api, the future Pulson brain, also begins (2025-02-21).
  • Mar 2025portal-api begins (FastAPI on App Runner): Tableau-token API, Amazon Sponsored-Ads connection. ai-api ships its first chat agent — a Snowflake query analyst (2025-03-27) — plus the Snowflake connector.
  • Apr 2025 — Portal goes multi-channel (Meta, Google, TikTok). ai-api adds a supervisor pattern and early memory. The Next.js Portal rewrite (portal-frontend) starts (2025-04-24).
  • May 2025 — Portal feature pages ported to Next.js; the new Pulsy product first appears, embedded as a page (2025-05-26).
  • Jun 2025PSM chat is born in ai-api (psm_chatbot.py, 2025-06-27) — the first real chat surface. Pulsy is embedded in the Portal via iframe with the user’s access token.
  • Jul 2025The standalone app begins (pulsy-frontend, 2025-07-08): streaming chat, file upload, onboarding. The Portal cuts over to API v2 (2025-07-02); the original Portal SPA goes quiet (last feature 2025-07-09).
  • Aug 2025 — Reports land in ai-api (report tool/agent/templates) and in the app (account-connect, Amazon SA OAuth, report generation).
  • Sep 2025 — Campaign budget recommendations and account groups in ai-api; the Portal’s last major feature, Weekly Reports (2025-09-19).
  • Nov 2025portal-frontend is frozen (last commit 2025-11-21); Portal admin endpoints renamed /pulsy → /portal as “pulsy” becomes the new product’s namespace.

2026 — rebrand to Pulson, and chat becomes a platform

Section titled “2026 — rebrand to Pulson, and chat becomes a platform”
  • Jan 2026 — Creative begins early: banana-bunch image generation (2026-01-27). The app adds a dashboard, weekly reports, and AI report templates.
  • Feb 2026Rebrand: Pulsy → Pulson (frontend, 2026-02-03). The old portal repo goes silent (last commit 2026-02-05). AMC groundwork in ai-api.
  • Mar 2026pulsead-agents begins (2026-03-16) — an AWS Bedrock/AgentCore back-office automation layer (monitoring, diagnosis, execution, a report pipeline, an ops console). Off-Amazon ingestion ships (off-amazon-upload, 2026-03-20); ads-variation creative starts (2026-03-25); more connectors (ASC/AVC, Shopify).
  • Apr 2026 — The platform month. Data & semantic layer v1 (manual, data_semanticview, 2026-04-01); video generation (video-generator, 2026-04-03); semantic layer v2 (automated refresh, snowflake-semantic-agent, 2026-04-13); Memory Agent + the Pulson agent wrapper (2026-04-23); Action chat introduced (action_chatbot.py, /pulsy/action-chats, 2026-04-28). The old portal-api sees its last commit (2026-04-27).
  • May 2026 — Action chat absorbs everything: AMC in chat (05-07), the mutations + approval system (05-12), optimize-cycle, performance diagnosis, and PSM’s legacy tools migrated over (05-13). The “Pulson renewal” team+country migration runs platform-wide; aop-hermes (operator tooling) begins (2026-05-04). PSM chat is marked legacy/frozen (2026-05-26); the semantic agent merges its view-consolidation work the same day.
  • Jun 2026 — A Pulson-branded in-product support surface replaces Freshdesk (2026-06-13); aop-hermes matures fastest of all (versioned releases, decoupled from upstream Hermes, DSP/RTB/AMC operator tools); media moves to cdn.pulson.ai. Current as of 2026-06-15.

The current product is Pulson — the standalone app, the Action-chat engine, and the 2026 platform systems around it. The Portal generation is retired, and a few surfaces inside the new product have been superseded too. The complete, actionable list is on What’s deprecated.

PulseAd keeps a separate, investor-facing Product Development History — Official Timeline in Notion. It and this page describe the same history but diverge — because this page is synthesized from git commit history (it can only see what landed in a source repo), while the Notion timeline is sourced from monthly product reports, Slack, and the AOP docs (it captures pre-git and no-code work). Where the two disagree, treat the Notion dates as product/announcement milestones and the dates here as code-landing dates, and verify against system logs.

Structural differences

  • The 2024 era only exists in Notion. Notion’s Track A — Internal PSM Tools (Admin Platform) starts Jul 2024 (RTB bidding, monitoring, day-parting). None of it is in this repo’s history because it was built in Retool (no git). It is summarized in the 2024 — pre-git section above, flagged as not-from-code.
  • Generations: 2 vs 5. This page uses two generations (Portal → Pulson). Notion uses five: G1 Admin/Retool (Jul 2024), G2 Customer Portal (Dec 2024), G3 Pulsy (2025), G4 Pulson rebrand (Dec 2025), G5 AOP (Feb–Mar 2026). This page folds G1 (invisible to git) away and merges G3+G4.
  • Framing. Notion ties each milestone to “the human task it replaced” for a gross-margin / investor story, and credits leads (Ted for RTB, Edgar for AOP). This page is commit-derived and names no individuals.

Direct date conflicts

EventNotion (official timeline)This page (commit dates)Likely reason
Pulsy → Pulson rebrandDec 2025Feb 2026 (frontend 2026-02-03), codified through 2026-05-05Notion dates the product/QA milestone; code dates the rebrand commit.
Customer Portal launchSaaS MVP Dec 2024 (12/31), service.pulsead.io Jan 2025portal repo born Feb 2025The Dec-2024 MVP predates the rebuilt git repo.
Pulsy customer MVPSep 2025 (9/16–17)standalone app begins Jul 2025; no “MVP” milestoneNotion dates the customer launch; code dates the repo start.
AOPFeb–Mar 2026 (G5)pulsead-agents Mar 2026; aop-hermes CLI May 2026”AOP” is ambiguous — Notion = the agentic-agency pipeline (≈ pulsead-agents); these docs reserve AOP/aop-hermes for the operator CLI.
Portal hostnameservice.pulsead.ioportal.pulsead.ioUnconfirmed — verify which was canonical.

Where they agree: weekly-report auto-generation lands Aug 2025; the pulsead-agents pipeline lands ~Mar 2026; KISS is the live-automation pilot brand.