Exported PNGs, the flat deliverables

These are the production exports of the figures below. Click any one to open it full size.

BirdsEye ROI, Infographic Specifications

Eight production-ready infographics for the marketing kit. Every figure is sourced from FACTS.md. Every color, type step, spacing value, and radius below is pulled from visual-system.md, tokens are inlined as raw hex because SVG delivered standalone cannot reliably resolve external CSS custom properties, each hex is commented with its token name so it stays traceable.

All eight are built as self-contained viewBox="0 0 1200 675" SVG (or SVG plus a thin CSS wrapper where noted). Because they are vector and scaled with width: 100%; height: auto;, they degrade cleanly from 1200px down to 380px: strokes, radii, and type all scale together. Where a graphic is dense enough that 380px would crush the smallest caption, that graphic also ships a data-compact variant note telling the builder which text to drop first.

No stock photography. No flat color-slab hero backgrounds. No dark scrims. No sparklines anywhere. Every mark carries a printed numeral.


1. The Spam Split

Title: "Nearly half the log is noise"

Exact data rendered: 103,000+ total calls logged. 43,700 calls flagged as spam by the platform (42.3% of the log). Remaining 57.7% is clean, addressable call volume (100% - 42.3%, arithmetic on the two stated facts, not a new figure).

Form: Full-size labeled donut, not a sparkline, not a pie without labels. Two segments only: spam (--noise-red) and clean (--brand-sky). Center of the donut carries the single hero figure. Each segment has its own printed percentage and count directly on the ring, plus a two-item legend below with the same numbers restated in Plex Mono.

Layout: 1200x675 canvas, dark surface (--surface-0). Title top-left at H1. Donut centered-right at roughly 60% width, 380px diameter. Left column carries the two legend rows stacked, each row is a color chip, a label in Plex Sans Caption, and a value in Plex Mono Data L. Footer strip across the bottom carries the source line in Caption/--ink-tertiary.

The spam split, 43,700 of 103,000+ logged calls flagged as spam Donut chart showing 42.3% of the call log is spam and 57.7% is clean call volume The spam split Every call in the log, sorted signal from noise 103,000+ TOTAL CALLS LOGGED 42.3% 57.7% SPAM, FLAGGED BY THE PLATFORM 43,700 42.3% of the log CLEAN, ADDRESSABLE CALL VOLUME 57.7% of the log, the calls worth reading Source: BirdsEye ROI call_log, is_spam flag. https://birdseyeroi.com
Live asset, rendered from source

2. The Four-Provider Unification Diagram

Title: "Four providers, one log"

Exact data rendered: Twilio, SignalWire, CallFire, CallRail (4 call tracking providers unified), converging into one unified call log of 103,000+ calls governed by 200+ forwarding rules.

Form: Convergence diagram, not a chart. Four source nodes at left, connector lines bending into a single destination node at right.

Layout: 1200x675. Four provider node cards stacked vertically on the left third, each --radius-md, --surface-1 fill, --surface-border stroke. Each connector is a 1.5px path in --brand-sky-dim curving to a single right-hand node. Destination node is the largest element on the canvas, elevation-2, holds the two hero figures.

Four call tracking providers unified into one log Twilio, SignalWire, CallFire, and CallRail converge into a single unified call log of 103,000+ calls under 200+ forwarding rules Four providers, one log Every tracking number, no matter the carrier, lands in the same place Twilio Call tracking provider SignalWire Call tracking provider CallFire Call tracking provider CallRail Call tracking provider UNIFIED CALL LOG 103,000+ calls in one place 200+ forwarding rules under management Source: BirdsEye ROI provider_credentials, forwarding_rules. https://birdseyeroi.com
Live asset, rendered from source

3. The Call-to-Revenue Attribution Pipeline

Title: "From ring to dollar"

Exact data rendered: the mechanism, stated in the capability list: unify, transcribe (AssemblyAI Universal-2), score (Claude Opus 4.6), filter spam (43,700 flagged), apply revenue rules, attribute revenue ($46,000+ tracked).

Form: Horizontal flow diagram, five stages, left to right, each stage a node with an icon-mark and a one-line label. A single connective line runs the full width beneath the nodes, the spam-filter stage is the only stage drawn in --noise-red to show where noise exits the pipeline. The revenue stage is the only stage drawn in --signal-amber to show where the dollar figure lands.

Layout: 1200x675, five equal-width columns starting at x=64, each 214px wide with 30px gutters.

The call to revenue attribution pipeline Five stage flow: call comes in, gets transcribed, gets AI scored, spam is filtered out, revenue rules attribute a dollar figure From ring to dollar What happens to a call between the phone ringing and the dashboard 1 Call comes in Logged from any of 4 providers 2 Transcribed AssemblyAI Universal-2 3 AI scored 13 caller-intelligence fields extracted 4 Spam filtered 43,700 calls removed from the math 5 Revenue attributed $46,000+ tied to real calls TRACKED REVENUE, ATTRIBUTED $46,000+ Source: BirdsEye ROI leadPipeline, callerIntelService, revenueRuleService. https://birdseyeroi.com
Live asset, rendered from source

4. The 13 Call Flow Types

Title: "Every way a call can be routed, built and wired"

Exact data rendered: 13 call flow types built and wired, named exactly: Simple Forward, IVR Menu, Ring All, Hunt Group, Time-Based, Overflow, Round Robin, Voicemail, Whisper, Recording, Call Queue, API Bidding, AI Receptionist.

Form: Organized grid, not a list. 5 columns x 3 rows, 13 filled cells, 2 empty cells at the end left visibly empty (not stretched) to keep the grid honest about the count.

Layout: 1200x675, grid starts y=140, each cell 214px wide x 130px tall, 30px gutter.

The 13 call flow types built and wired Grid of all 13 call routing flow types available on the platform 13 call flow types Built, wired, and ready to route a live number 01 Simple Forward 02 IVR Menu 03 Ring All 04 Hunt Group 05 Time-Based 06 Overflow 07 Round Robin 08 Voicemail 09 Whisper 10 Recording 11 Call Queue 12 API Bidding 13 AI Receptionist SignalWire native, SWML Source: BirdsEye ROI callFlows/registry.ts, twiml-handler edge function. https://birdseyeroi.com
Live asset, rendered from source

5. The 13 AI Caller-Intelligence Fields

Title: "What the AI pulls out of every call"

Exact data rendered: the 13 dedicated AI caller-intelligence fields extracted per call, named exactly per the product's own call_log schema: caller_name, caller_email, caller_address, service_needed, reason_for_call, urgency_level, customer_type, key_points, next_steps, call_outcome, follow_up_required, conversion_probability, service_complexity.

Form: Organized grid identical structure to spec 4, so the two "13" graphics read as a matched pair in the kit. 5 columns x 3 rows, 13 filled, 2 empty.

Layout: same grid geometry as spec 4.

The 13 AI caller intelligence fields extracted per call Grid of all 13 structured fields the platform extracts from every call 13 fields, every call Structured caller intelligence, not just a transcript 01 Caller name 02 Caller email 03 Caller address 04 Service needed 05 Reason for call 06 Urgency level 07 Customer type 08 Key points 09 Next steps 10 Call outcome 11 Follow-up required 12 Conversion probability 13 Service complexity Claude Opus 4.6 Source: BirdsEye ROI call_log schema, callerIntelService.ts. https://birdseyeroi.com
Live asset, rendered from source

6. Before / After: What the Operator Sees

Title: "Same calls, two views"

Exact data rendered: without attribution, the operator has 103,000+ raw calls with no revenue tie and 42.3% of it is spam noise. With attribution, the operator sees $46,000+ tracked revenue, spam already filtered, and 13 fields of structured intelligence per call.

Form: Side-by-side split panel comparison, left labeled "Without BirdsyE" in muted tone, right labeled "With BirdsEye" in full-color tone. Not a screenshot mockup, a labeled contrast diagram, so it stays inside the no-stock-photo, hand-authored-markup constraint.

Layout: 1200x675, vertical divider at x=600, left half desaturated (--ink-tertiary heavy), right half full palette.

Before and after attribution, what the operator sees Left panel shows the operator view without revenue attribution, right panel shows the same data with BirdsEye attribution applied Without attribution RAW CALL LOG 103,000+ calls, unsorted Which channel paid for the call unknown Spam mixed into the count 42.3% Revenue tied to a call $0 Structured caller detail none With BirdsEye REVENUE-ATTRIBUTED LOG $46,000+ tracked revenue, attributed to real calls Which channel paid for the call attributed Spam mixed into the count filtered out Revenue tied to a call $46,000+ Structured caller detail 13 fields Source: BirdsEye ROI call_log, revenueRuleService, callerIntelService. https://birdseyeroi.com
Live asset, rendered from source

7. The Unification Funnel

Title: "From four raw feeds to one clean service catalog"

Exact data rendered: 4 providers unified, 200+ forwarding rules, 150+ regex rules mapping raw AI text to canonical service names, 18 canonical service categories normalized, 79 service monetization records.

Form: Vertical funnel, each stage narrower than the last, five bands stacked top to bottom, each carrying its own number.

Layout: 1200x675, funnel bands centered horizontally, widths taper from 900px to 340px across five bands.

The unification funnel from raw providers to a clean service catalog Five stage funnel: 4 providers, 200+ forwarding rules, 150+ service name regex rules, 18 canonical service categories, 79 service monetization records From raw feeds to a clean catalog Every layer that turns noisy provider data into usable revenue math Call tracking providers unified 4 Forwarding rules under management 200+ Regex rules mapping raw text to service names 150+ Canonical service categories normalized 18 Service monetization records 79 Source: BirdsEye ROI serviceNormalizer.ts, service_monetization table. https://birdseyeroi.com
Live asset, rendered from source

8. The Platform Scoreboard

Title: "BirdsEye ROI, by the numbers"

Exact data rendered: every verified platform number in the fact sheet: 103,000+ calls, $46,000+ revenue, 43,700 spam flagged, 4 providers unified, 200+ forwarding rules, 7,495 SMS conversations, 6,002 leads with full AI analysis, 13 call flow types, 13 caller-intelligence fields, 79 service monetization records, 18 canonical categories, 150+ regex rules.

Form: Dense KPI grid, financial-terminal style, 4 columns x 3 rows, 12 cells, each a self-contained stat tile per the "how a data figure is displayed" rule (value, unit label, nothing else).

Layout: 1200x675, grid starts y=130, each cell 274px wide x 150px tall, 20px gutter.

BirdsEye ROI platform scoreboard Twelve tile grid of every verified platform number: calls, revenue, spam, providers, rules, SMS, leads, flows, fields, records, categories By the numbers The full platform, verified and inspectable 103,000+ CALLS IN THE LOG $46,000+ TRACKED REVENUE 43,700 CALLS FLAGGED SPAM 4 PROVIDERS UNIFIED 200+ FORWARDING RULES 7,495 SMS CONVERSATIONS ANALYZED 6,002 LEADS WITH FULL AI ANALYSIS 13 CALL FLOW TYPES 13 AI CALLER-INTEL FIELDS 79 SERVICE MONETIZATION RECORDS 18 CANONICAL SERVICE CATEGORIES 150+ SERVICE-NAME REGEX RULES Source: BirdsEye ROI production database, https://birdseyeroi.com. All figures verified and inspectable.
Live asset, rendered from source

Build notes for whoever implements these

  • Paste each <svg>...</svg> block directly into the marketing HTML. No build step, no chart library import, no external font loading beyond linking IBM Plex Sans and IBM Plex Mono from Google Fonts (or self-hosting them) per visual-system.md section 2.
  • At 380px, the grid-based graphics (4, 5, 8) keep their column count, since the SVG scales as one vector unit, text does not reflow. If a specific placement needs literal DOM reflow at small viewports instead of vector scaling, wrap the grid cells in a responsive HTML/CSS grid using the same token values instead of raw SVG, and rebuild cell content as absolutely positioned divs, the numbers and colors above still apply unchanged. Compact-variant guidance if this route is taken: drop item captions ("SignalWire native, SWML" on flow-type 13, "Claude Opus 4.6" on field 13) first, they are the lowest-priority text on the canvas.
  • Every <title> and <desc> pair is already written into each SVG for screen-reader accessibility, do not strip them.
  • Color usage audit before shipping: amber only touches revenue/conversion figures, red only touches the spam figure, blue is everything structural. If a future edit adds a number, follow that same rule before picking its color.