Product timeline
PulseAd’s product has had two generations:
- PulseAd Portal — the original dashboard product (Tableau analytics for Amazon advertisers). The old product.
- 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.
Timeline
Section titled “Timeline”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 2024 — First 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 2025 — Two things start at once.
portalis born (Auth0 SPA → Tableau dashboards on S3/CloudFront).ai-api, the future Pulson brain, also begins (2025-02-21). - Mar 2025 —
portal-apibegins (FastAPI on App Runner): Tableau-token API, Amazon Sponsored-Ads connection.ai-apiships 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-apiadds 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 2025 — PSM 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 2025 — The 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 2025 —
portal-frontendis frozen (last commit 2025-11-21); Portal admin endpoints renamed/pulsy → /portalas “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-bunchimage generation (2026-01-27). The app adds a dashboard, weekly reports, and AI report templates. - Feb 2026 — Rebrand: Pulsy → Pulson (frontend, 2026-02-03). The old
portalrepo goes silent (last commit 2026-02-05). AMC groundwork inai-api. - Mar 2026 —
pulsead-agentsbegins (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-variationcreative 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 oldportal-apisees 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-hermesmatures fastest of all (versioned releases, decoupled from upstream Hermes, DSP/RTB/AMC operator tools); media moves tocdn.pulson.ai. Current as of 2026-06-15.
What this means now
Section titled “What this means now”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.
Reconciling with the investor timeline
Section titled “Reconciling with the investor timeline”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
| Event | Notion (official timeline) | This page (commit dates) | Likely reason |
|---|---|---|---|
| Pulsy → Pulson rebrand | Dec 2025 | Feb 2026 (frontend 2026-02-03), codified through 2026-05-05 | Notion dates the product/QA milestone; code dates the rebrand commit. |
| Customer Portal launch | SaaS MVP Dec 2024 (12/31), service.pulsead.io Jan 2025 | portal repo born Feb 2025 | The Dec-2024 MVP predates the rebuilt git repo. |
| Pulsy customer MVP | Sep 2025 (9/16–17) | standalone app begins Jul 2025; no “MVP” milestone | Notion dates the customer launch; code dates the repo start. |
| AOP | Feb–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 hostname | service.pulsead.io | portal.pulsead.io | Unconfirmed — 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.