How It Works

Technical architecture and workflow of Pulse's self-evolving content system.

From page view to content improvement.


The Pulse Cycle

1. Collect

A visitor loads your page. A lightweight JavaScript tracker sends an anonymous event to your /e endpoint. The bot detector scores the request. Human traffic is stored; bots are filtered.

Visitor → Page Load → Event Sent → Bot Check → Store

What's captured:

  • Page path and referrer
  • Scroll depth (25%, 50%, 75%, 100%)
  • Time on page
  • Click interactions
  • Hashed session identifier

What's NOT captured:

  • Personal information
  • Cookies (unless you add them)
  • Third-party tracking pixels

2. Analyze

A daily job aggregates raw events into metrics. Bounce rates, average time on page, scroll completion. Data you can actually query.

Raw Events → Daily Rollup → Metrics Table

Aggregated metrics:

  • Total page views (filtered for bots)
  • Unique visitors
  • Bounce rate
  • Average session duration
  • Scroll depth distribution

3. Evolve

A weekly job (configurable) sends your content and engagement data to Claude. The AI proposes specific changes—not vague suggestions, but actual diffs.

Content + Metrics → Claude API → Proposal with Diffs

What Claude sees:

  • Current page content (markdown)
  • Engagement metrics for that page
  • Site-wide context for comparison

What Claude returns:

  • Summary of proposed changes
  • Rationale for each change
  • Unified diff format

4. Approve

You review the proposal in the admin interface. Side-by-side diff view shows exactly what will change. One click to approve, one click to reject.

Proposal → Admin Review → Approve/Reject

Before approving:

  • Review the full diff
  • Understand the rationale
  • Consider brand voice and accuracy

After approving:

  • Changes applied to markdown files
  • Git commit created automatically
  • Content synced to database

5. Repeat

The updated content is served to visitors. New engagement data flows in. The cycle continues. Your site improves over time.

New Content → New Data → New Proposals → Better Site

Architecture

┌─────────────────────────────────────────────────────────┐
│                      Your Server                        │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────────┐  │
│  │   Content   │  │  Analytics  │  │    Evolution    │  │
│  │   Engine    │  │   Engine    │  │     Engine      │  │
│  │             │  │             │  │                 │  │
│  │  Markdown   │  │  Collector  │  │    Analyzer     │  │
│  │  Files      │  │  Sessions   │  │    Proposer     │  │
│  │  Renderer   │  │  Rollups    │  │    Applier      │  │
│  └─────────────┘  └─────────────┘  └─────────────────┘  │
│         │                │                  │           │
│         └────────────────┼──────────────────┘           │
│                          │                              │
│                   ┌──────┴──────┐                       │
│                   │  PostgreSQL │                       │
│                   │  or SQLite  │                       │
│                   └─────────────┘                       │
└─────────────────────────────────────────────────────────┘
                           │
                           │ Claude API
                           ▼
                  ┌─────────────────┐
                  │    Anthropic    │
                  └─────────────────┘

Key Design Decisions

Why File-Based Content?

Git history for everything. Every change is a commit. Roll back with git revert. Collaborate with pull requests. Your content has a complete audit trail.

No database lock-in. Content lives in markdown files you can read, edit, and move. If you leave Pulse, you take your content with you.

AI can edit directly. The evolution engine writes diffs to files, not database records. Simple and reliable.

Why First-Party Analytics?

GA4 is opaque. You can't query your own data. You can't export it easily. You're dependent on Google's interface and their interpretation of your traffic.

Privacy regulations are tightening. GDPR, CCPA, and more. First-party data you collect yourself has clearer legal standing than data flowing through third parties.

You don't need that much. Most marketing sites need page views, bounce rates, and traffic sources. Pulse gives you that without the complexity.

Why Human Approval?

AI makes mistakes. Claude is good, but it's not perfect. It might misunderstand your brand voice, make factual errors, or suggest changes that hurt conversions.

Trust is earned. Start with full review of every proposal. As you build confidence, you might approve faster. But you're always in control.

Accountability matters. When something goes wrong, you need to know what changed and why. Human approval creates clear responsibility.


Ready to Get Started?

Join the early access list and be the first to know when Pulse is available.

Get Early Access | View Features