feat: Update local agent documentation to reflect changes in user_id and session_id handling; add marketing strategy document; update skills-lock.json with new Remotion best practices; update website subproject commit.
This commit is contained in:
191
docs/agent-runner-sequence.html
Normal file
191
docs/agent-runner-sequence.html
Normal file
@@ -0,0 +1,191 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Agent Runner — UML Sequence Diagram</title>
|
||||
<script src="https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.min.js"></script>
|
||||
<style>
|
||||
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&family=DM+Sans:wght@400;500;700&display=swap');
|
||||
|
||||
* { margin: 0; padding: 0; box-sizing: border-box; }
|
||||
|
||||
body {
|
||||
background: #0f1117;
|
||||
color: #c9cdd8;
|
||||
font-family: 'DM Sans', sans-serif;
|
||||
min-height: 100vh;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
padding: 40px 24px;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-family: 'JetBrains Mono', monospace;
|
||||
font-size: 1.5rem;
|
||||
font-weight: 600;
|
||||
letter-spacing: -0.02em;
|
||||
color: #e4e7ef;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
font-family: 'JetBrains Mono', monospace;
|
||||
font-size: 0.78rem;
|
||||
color: #5b6078;
|
||||
margin-bottom: 32px;
|
||||
}
|
||||
|
||||
.mermaid {
|
||||
width: 100%;
|
||||
max-width: 1200px;
|
||||
}
|
||||
|
||||
.mermaid svg {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
footer {
|
||||
margin-top: 40px;
|
||||
font-family: 'JetBrains Mono', monospace;
|
||||
font-size: 0.65rem;
|
||||
color: #3d4156;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<h1>Agent Runner — Batch File Processing</h1>
|
||||
<p class="subtitle">UML Sequence · Electron FE ↔ FastAPI BE ↔ LLM</p>
|
||||
|
||||
<pre class="mermaid">
|
||||
sequenceDiagram
|
||||
autonumber
|
||||
|
||||
participant FE as Electron FE<br/>(AgentScheduler · DrizzleExecutor)
|
||||
participant BE as FastAPI BE<br/>(AgentRunner · routes/agents)
|
||||
participant LLM as LLM<br/>(gpt-4.1 via LiteLLM)
|
||||
|
||||
note over FE: AgentScheduler cron tick<br/>or manual "Run Now"
|
||||
|
||||
rect rgb(30, 33, 48)
|
||||
note right of FE: PHASE 1 — TRIGGER
|
||||
FE->>+BE: POST /agents/trigger<br/>(agent config, directories, schedule)
|
||||
BE->>BE: billing check · concurrency guard<br/>create AgentRunLog (status=running)
|
||||
BE-->>-FE: 202 Accepted { run_id }
|
||||
note over FE: store runId in local agentRuns
|
||||
note over BE: asyncio.create_task(run_local_agent)<br/>fire-and-forget background task
|
||||
end
|
||||
|
||||
rect rgb(25, 37, 35)
|
||||
note right of FE: PHASE 2 — DIRECTORY SCAN (via WS → FE filesystem)
|
||||
loop For each directory in agent config (max depth=5)
|
||||
BE->>FE: WS tool_call: list_directory { path }
|
||||
FE->>FE: fs.readdir(path)
|
||||
FE-->>BE: WS tool_result: { entries[] }
|
||||
BE->>FE: WS tool_call: get_file_metadata { path }
|
||||
FE->>FE: fs.stat(file)
|
||||
FE-->>BE: WS tool_result: { modifiedAt, size }
|
||||
note over BE: Skip if modifiedAt ≤ last_run_at<br/>(first run: last_run_at=null → all pass)
|
||||
end
|
||||
note over BE: Result: file_list[] — paths passing<br/>extension + date filters (e.g., 22 files)
|
||||
end
|
||||
|
||||
BE->>FE: WS tool_call: select { table: "projects" }
|
||||
FE-->>BE: WS tool_result: { rows[] }
|
||||
note over BE: Cache project list for prompt context
|
||||
|
||||
rect rgb(35, 30, 22)
|
||||
note right of FE: PHASE 3+4 — FOR EACH FILE: READ → PREPROCESS → LLM
|
||||
loop For each file in file_list (sequential)
|
||||
|
||||
rect rgb(40, 35, 25)
|
||||
note over BE: Phase 3 — Read + Preprocess
|
||||
BE->>FE: WS tool_call: read_file_content { path }
|
||||
FE->>FE: fs.readFile(path)
|
||||
FE-->>BE: WS tool_result: { content }
|
||||
BE->>BE: detect_content_type(filename, content)<br/>preprocess() → clean text + metadata<br/>(Python only, zero LLM calls)
|
||||
end
|
||||
|
||||
rect rgb(30, 28, 42)
|
||||
note over BE: Phase 4 — LLM Agent Tool Loop
|
||||
BE->>+LLM: system prompt + clean text<br/>+ available tools + project list
|
||||
loop Max 12 tool-call iterations
|
||||
LLM-->>BE: tool_call (e.g., list_tasks, create_note)
|
||||
BE->>FE: WS tool_call: select/insert/update<br/>{ table, data }
|
||||
FE->>FE: DrizzleExecutor<br/>local SQLite CRUD
|
||||
FE-->>BE: WS tool_result: { rows }
|
||||
BE->>LLM: tool_result → continue
|
||||
end
|
||||
LLM-->>-BE: final text response (no more tool_calls)
|
||||
end
|
||||
|
||||
note over BE: log: file processed, created=N entities
|
||||
opt If create_project was called
|
||||
BE->>FE: WS tool_call: select { table: "projects" }
|
||||
FE-->>BE: WS tool_result: { rows[] }
|
||||
note over BE: Refresh project list cache
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
rect rgb(22, 35, 32)
|
||||
note right of FE: PHASE 5 — COMPLETION
|
||||
BE->>BE: _finalize_run()<br/>update AgentRunLog in PostgreSQL<br/>status = success | partial | error
|
||||
BE->>FE: WS run_complete: { run_id, status }
|
||||
FE->>FE: update local agentRuns table<br/>{ status, completedAt }
|
||||
end
|
||||
|
||||
note over FE,LLM: ⚠ No file-path journal exists. On re-trigger,<br/>BE re-scans all files. Date filter (modifiedAt > last_run_at)<br/>skips unchanged files, but LLM dedup is the only guard<br/>if last_run_at is null or files are unmodified.
|
||||
</pre>
|
||||
|
||||
<footer>
|
||||
adiuvAI · Agent Runner Sequence · April 2026 ·
|
||||
FE = Electron (filesystem + SQLite owner) · BE = FastAPI (orchestrator) · LLM = gpt-4.1 via LiteLLM
|
||||
</footer>
|
||||
|
||||
<script>
|
||||
mermaid.initialize({
|
||||
startOnLoad: true,
|
||||
theme: 'dark',
|
||||
themeVariables: {
|
||||
actorBkg: '#1e2130',
|
||||
actorBorder: '#3b82f6',
|
||||
actorTextColor: '#e4e7ef',
|
||||
actorLineColor: '#3d4156',
|
||||
signalColor: '#c9cdd8',
|
||||
signalTextColor: '#c9cdd8',
|
||||
noteBkgColor: '#1c1f2e',
|
||||
noteTextColor: '#a0a6be',
|
||||
noteBorderColor: '#2e3248',
|
||||
activationBkgColor: '#252840',
|
||||
activationBorderColor: '#4f5580',
|
||||
sequenceNumberColor: '#0f1117',
|
||||
loopTextColor: '#8b8fc4',
|
||||
labelBoxBkgColor: '#1a1d2e',
|
||||
labelBoxBorderColor: '#2e3248',
|
||||
labelTextColor: '#a0a6be',
|
||||
},
|
||||
sequence: {
|
||||
diagramMarginX: 20,
|
||||
diagramMarginY: 20,
|
||||
actorMargin: 80,
|
||||
width: 220,
|
||||
height: 50,
|
||||
boxMargin: 6,
|
||||
boxTextMargin: 6,
|
||||
noteMargin: 12,
|
||||
messageMargin: 40,
|
||||
mirrorActors: true,
|
||||
useMaxWidth: true,
|
||||
wrap: true,
|
||||
},
|
||||
fontFamily: '"JetBrains Mono", monospace',
|
||||
fontSize: 13,
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
153
docs/creative-brief.md
Normal file
153
docs/creative-brief.md
Normal file
@@ -0,0 +1,153 @@
|
||||
# adiuvAI — Creative Brief: Waitlist Landing Page
|
||||
|
||||
> **Purpose:** Design direction for scrollytelling waitlist page
|
||||
> **Status:** Proposals for review — pick a direction before I build
|
||||
|
||||
---
|
||||
|
||||
## Brand Audit Summary
|
||||
|
||||
| Element | Value |
|
||||
|---------|-------|
|
||||
| **Logo Mark** | Compass needle — golden north (AI), dark south (human). Animates with gentle oscillation. |
|
||||
| **Primary Color** | `#fbc881` — Golden Yellow (the "AI" accent) |
|
||||
| **Dark Base** | `#0c0c0c` — Near-black |
|
||||
| **Light Base** | `#f4edf3` — Pinkish-white canvas |
|
||||
| **Secondary** | `#8a8ea9` — Slate blue-gray |
|
||||
| **Muted** | `#c8c3cd` — Light gray-purple |
|
||||
| **App Font** | Geist (400/600/700) |
|
||||
| **App Screenshot** | Daily brief view: "Good evening, Roberto" + greeting, chat, quick actions |
|
||||
|
||||
---
|
||||
|
||||
## Style Direction — Two Options
|
||||
|
||||
### Option A: "The Dark Executive" (Recommended)
|
||||
|
||||
> Think **Linear.app meets Stripe's documentation** — but warmer, more human, with the golden compass as a guiding light through darkness.
|
||||
|
||||
**Mood:** Premium, confident, dark. Like a private briefing room at midnight.
|
||||
**Background:** Near-black (`#0c0c0c`) with subtle radial gradients and noise texture.
|
||||
**Typography:** Geist for headings (tight letter-spacing, large scale). DM Sans or Satoshi for body.
|
||||
**Color play:** Gold (`#fbc881`) is the ONLY color accent — glowing, warm against the dark void. Everything else is white/gray hierarchy. The gold appears sparingly: on the compass, on CTAs, on scrollytelling highlights.
|
||||
**Scrollytelling philosophy:** Each scroll "chapter" reveals one concept — like pages of a briefing document. Text fades in from below, sections pin and transform, the compass needle rotates as you scroll deeper.
|
||||
**Animation:** Scroll-triggered reveals (GSAP ScrollTrigger), the compass needle slowly settling as you scroll, golden light trails connecting sections like a thread of attention.
|
||||
|
||||
**Why it works for adiuvAI:**
|
||||
- Dark mode signals "this is serious technology for professionals, not a toy"
|
||||
- Gold-on-dark is inherently premium — it says "personal secretary," not "productivity tool"
|
||||
- The restraint (one accent color) mirrors the USP: "complex AI, invisible to you"
|
||||
- The scrollytelling parallels the daily brief: information revealed progressively, just for you
|
||||
|
||||
---
|
||||
|
||||
### Option B: "The Warm Canvas"
|
||||
|
||||
> Think **Granola.ai meets Apple product pages** — light, airy, warm.
|
||||
|
||||
**Mood:** Clean, human, warm. Like a fresh notebook on a sunny desk.
|
||||
**Background:** Light canvas (`#f4edf3`) with soft shadows and paper-like texture.
|
||||
**Typography:** Geist for headings, system body. Generous whitespace.
|
||||
**Color play:** Gold accents on light backgrounds, dark cards for contrast sections.
|
||||
**Scrollytelling:** Smooth vertical reveals, product screenshot floats in center, feature cards slide in from sides.
|
||||
|
||||
**Why it could work:** Friendlier, less intimidating, closer to the app's light mode.
|
||||
**Why I don't recommend it:** Every AI productivity tool (Motion, Granola, Reclaim) uses light backgrounds. You'd blend in.
|
||||
|
||||
---
|
||||
|
||||
<!-- 💬 USER REVIEW: Pick Option A or Option B, or ask me to combine elements. -->
|
||||
|
||||
---
|
||||
|
||||
## Page Architecture (Scrollytelling Flow)
|
||||
|
||||
The page scrolls through **7 chapters**. Each pinned section transitions to the next with a scroll-driven animation.
|
||||
|
||||
```
|
||||
CHAPTER 1: THE HOOK
|
||||
├── Full-screen dark canvas
|
||||
├── Compass needle animates in (settles from rotation)
|
||||
├── Tagline types in: "Meet your new chief of staff."
|
||||
├── Headline fades up: "What if AI could be your secretary?"
|
||||
├── Subheadline fades up
|
||||
├── Email input + CTA
|
||||
└── Scroll indicator: subtle down-arrow pulse
|
||||
|
||||
CHAPTER 2: THE PROBLEM (scroll-triggered)
|
||||
├── Text fades in line by line as you scroll:
|
||||
│ "Your important emails hide between newsletters."
|
||||
│ "Your tasks live in three different apps."
|
||||
│ "Meeting notes sit in a doc you'll never open again."
|
||||
├── Each line appears with a slight delay, dimming the previous
|
||||
└── Final line glows gold: "You need a secretary, not another tool."
|
||||
|
||||
CHAPTER 3: THE REVEAL (pinned section, parallax)
|
||||
├── App screenshot rises from below (parallax entrance)
|
||||
├── Three pillars appear around the screenshot:
|
||||
│ 🧭 AI Secretary | 🔒 Private by Design | 🇪🇺 EU AI Act
|
||||
├── Each pillar highlights on scroll with gold underline
|
||||
└── Screenshot subtly shifts to show Daily Brief
|
||||
|
||||
CHAPTER 4: HOW IT WORKS (horizontal scroll-within-scroll)
|
||||
├── 3 steps slide horizontally as you scroll vertically:
|
||||
│ Step 1: Connect (Gmail/Outlook icons float in)
|
||||
│ Step 2: Extract (animated lines flow from email → task cards)
|
||||
│ Step 3: Brief (morning brief card materializes)
|
||||
└── Progress bar at bottom fills gold as you move through steps
|
||||
|
||||
CHAPTER 5: FEATURES (staggered grid reveal)
|
||||
├── Feature cards fade in one by one as you scroll
|
||||
├── Each card: icon + title + one-line description
|
||||
├── ✅ Beta features have a subtle green dot
|
||||
├── 🔜 Coming Soon features have a pulsing amber dot
|
||||
└── Hover/tap reveals expanded description
|
||||
|
||||
CHAPTER 6: THE FOUNDER (personal touch)
|
||||
├── Clean section, minimal
|
||||
├── Blockquote style with Roberto's note
|
||||
├── "Built by an AI Enterprise Solution Architect"
|
||||
└── Compass needle icon as pull-quote mark
|
||||
|
||||
CHAPTER 7: THE FINAL CTA (pinned, full-screen)
|
||||
├── Dark full-bleed section
|
||||
├── Large headline: "Be the first to meet your AI secretary."
|
||||
├── Email input with animated border (gold shimmer)
|
||||
├── "Beta launches June 2026"
|
||||
└── Footer fades in below
|
||||
```
|
||||
|
||||
<!-- 💬 USER REVIEW: Does this flow feel right? Any chapter you'd cut or add? -->
|
||||
|
||||
---
|
||||
|
||||
## Technical Approach
|
||||
|
||||
| Concern | Solution |
|
||||
|---------|----------|
|
||||
| **Scrollytelling engine** | GSAP 3 + ScrollTrigger (already used on current site, proven, lightweight) |
|
||||
| **Icons** | Lucide (already used on current site) |
|
||||
| **Font** | Geist via Google Fonts or CDN (not @fontsource since this is a static HTML page) |
|
||||
| **Email collection** | Simple `<form>` that POSTs to your API endpoint or a service like Buttondown/Mailchimp. I'll build the form shell — you wire it to your backend. |
|
||||
| **Image** | Embed the app screenshot (`home.png`) inline. SVG logos embedded directly. |
|
||||
| **Mobile** | Fully responsive. Scrollytelling degrades gracefully — pinned sections become normal scroll on mobile. |
|
||||
| **Performance** | Single HTML file, no build step. GSAP loaded from CDN. Total page weight < 200KB. |
|
||||
| **Accessibility** | `prefers-reduced-motion` disables scroll animations. Focus states on form. Contrast ratios verified. |
|
||||
|
||||
<!-- 💬 USER REVIEW: Any technical constraints I should know? Where should the waitlist emails go? -->
|
||||
|
||||
---
|
||||
|
||||
## Deliverable
|
||||
|
||||
Once you approve a direction, I'll build the complete `website/index.html` — a single self-contained HTML file with:
|
||||
- Embedded CSS (all custom properties from your app's palette)
|
||||
- Embedded SVG logos (compass mark + wordmark)
|
||||
- GSAP scrollytelling animations
|
||||
- Responsive layout
|
||||
- Working email form (shell)
|
||||
- The app screenshot as the centerpiece visual
|
||||
|
||||
---
|
||||
|
||||
*Review the options above and tell me your direction. I'll start building immediately.*
|
||||
@@ -623,7 +623,7 @@
|
||||
<div class="section-head reveal">
|
||||
<p class="label">Architettura</p>
|
||||
<h2>Funzionalità Agentiche</h2>
|
||||
<p class="subtitle">Cinque componenti AI distinti, ognuno con requisiti specifici di modello.</p>
|
||||
<p class="subtitle">Sei componenti AI distinti, ognuno con requisiti specifici di modello.</p>
|
||||
</div>
|
||||
<div class="features-grid">
|
||||
|
||||
@@ -662,12 +662,23 @@
|
||||
|
||||
<div class="feature-card reveal">
|
||||
<div class="feature-icon">⚙</div>
|
||||
<h3>Batch Agents</h3>
|
||||
<p>Agenti schedulati per raccolta dati da filesystem locale e cloud (Gmail, Teams, Outlook). Cron-based.</p>
|
||||
<h3>Background Agents</h3>
|
||||
<p>Agenti schedulati per raccolta dati da filesystem locale e cloud (Gmail, Teams, Outlook). Loop tool-calling multi-turno, API Standard.</p>
|
||||
<div class="feature-reqs">
|
||||
<span class="req-tag">Tool Calling Multi-Turno</span>
|
||||
<span class="req-tag">Output Strutturato</span>
|
||||
<span class="req-tag">Tool Calling Robusto</span>
|
||||
<span class="req-tag">Esecuzione Lunga</span>
|
||||
<span class="req-tag">API Standard</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="feature-card reveal">
|
||||
<div class="feature-icon">🛠</div>
|
||||
<h3>Setup Agent</h3>
|
||||
<p>Journey conversazionale interattiva per configurare un agente. L’utente risponde a domande guidate, il LLM esplora la directory e produce un <code>AgentConfig</code> JSON validato.</p>
|
||||
<div class="feature-reqs">
|
||||
<span class="req-tag">Conversazionale</span>
|
||||
<span class="req-tag">Qualità Linguistica</span>
|
||||
<span class="req-tag">Tool Calling + Reasoning</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -788,7 +799,8 @@
|
||||
<button class="tab-btn active" data-tab="home">Home Chat</button>
|
||||
<button class="tab-btn" data-tab="floating">Floating Chat</button>
|
||||
<button class="tab-btn" data-tab="brief">Daily Brief</button>
|
||||
<button class="tab-btn" data-tab="batch">Batch Agents</button>
|
||||
<button class="tab-btn" data-tab="batch">Background Agents</button>
|
||||
<button class="tab-btn" data-tab="setup">Setup Agent</button>
|
||||
<button class="tab-btn" data-tab="embed">Embeddings</button>
|
||||
</div>
|
||||
|
||||
@@ -986,10 +998,13 @@
|
||||
<div class="table-wrap reveal">
|
||||
<div class="table-header">
|
||||
<div>
|
||||
<h3>⚙ Batch Agents</h3>
|
||||
<span class="desc">Tool Calling Robusto + Output Strutturato</span>
|
||||
<h3>⚙ Background Agents</h3>
|
||||
<span class="desc">Tool Calling Multi-Turno — API Standard (non Batch)</span>
|
||||
</div>
|
||||
</div>
|
||||
<div style="margin: 0 0 16px; padding: 12px 18px; background: var(--warn-bg); border: 1px solid var(--warn-border); border-radius: var(--radius-sm); font-size: 0.85rem; color: var(--warn); line-height: 1.6;">
|
||||
<strong>⚠ Nota architetturale:</strong> Il Batch API dei provider LLM <em>non è compatibile</em> con gli agenti di processing (<code>unified-processor</code>, <code>cloud-processor</code>). Il loop di tool-calling (fino a 12 turni per file) richiede risultati sincroni dal client Electron via WebSocket — un round-trip interattivo che il Batch API asincrono non supporta. Usare esclusivamente <strong>API Standard</strong>, a prezzi di listino senza sconto batch.
|
||||
</div>
|
||||
<div class="table-scroll">
|
||||
<table>
|
||||
<thead>
|
||||
@@ -998,24 +1013,24 @@
|
||||
<tbody>
|
||||
<tr style="background: rgba(52,211,153,0.04);">
|
||||
<td><strong>OpenAI</strong></td>
|
||||
<td><span class="model-name">GPT-4.1 (Batch)</span></td>
|
||||
<td><span class="price" style="color:var(--green)">$1.00</span></td>
|
||||
<td><span class="price" style="color:var(--green)">$4.00</span></td>
|
||||
<td><strong>50% sconto batch</strong>, eccellente output strutturato</td>
|
||||
<td><span class="model-name">GPT-4.1 Mini</span></td>
|
||||
<td><span class="price" style="color:var(--green)">$0.40</span></td>
|
||||
<td><span class="price" style="color:var(--green)">$1.60</span></td>
|
||||
<td><strong>Ottimo rapporto qualità/costo</strong>, tool calling affidabile, API Standard</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Anthropic</td>
|
||||
<td><span class="model-name">Claude Sonnet 4.6 (Batch)</span></td>
|
||||
<td><span class="price">$1.50</span></td>
|
||||
<td><span class="price">$7.50</span></td>
|
||||
<td>50% batch, tool use superiore, 300K output</td>
|
||||
<td><span class="model-name">Claude Sonnet 4.6</span></td>
|
||||
<td><span class="price">$3.00</span></td>
|
||||
<td><span class="price">$15.00</span></td>
|
||||
<td>Miglior tool use del mercato, se qualità è priorità assoluta</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Google</td>
|
||||
<td><span class="model-name">Gemini 2.5 Pro (Batch)</span></td>
|
||||
<td><span class="price">$0.625</span></td>
|
||||
<td><span class="price">$5.00</span></td>
|
||||
<td>50% batch, alta qualità reasoning</td>
|
||||
<td><span class="model-name">Gemini 2.5 Flash</span></td>
|
||||
<td><span class="price">$0.30</span></td>
|
||||
<td><span class="price">$2.50</span></td>
|
||||
<td>Ottimo reasoning, tool calling affidabile, costo input molto basso</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Mistral</td>
|
||||
@@ -1026,10 +1041,10 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Groq</td>
|
||||
<td><span class="model-name">Qwen3 32B (Batch)</span></td>
|
||||
<td><span class="price">$0.145</span></td>
|
||||
<td><span class="price">$0.295</span></td>
|
||||
<td>50% batch, molto economico</td>
|
||||
<td><span class="model-name">Qwen3 32B</span></td>
|
||||
<td><span class="price">$0.29</span></td>
|
||||
<td><span class="price">$0.59</span></td>
|
||||
<td>Molto economico, velocità elevata; qualità tool calling inferiore ai proprietari</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Cerebras</td>
|
||||
@@ -1044,6 +1059,72 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- SETUP AGENT -->
|
||||
<div class="tab-panel" id="tab-setup">
|
||||
<div class="table-wrap reveal">
|
||||
<div class="table-header">
|
||||
<div>
|
||||
<h3>🛠 Setup Agent</h3>
|
||||
<span class="desc">Journey Conversazionale — Qualità Linguistica + Reasoning</span>
|
||||
</div>
|
||||
</div>
|
||||
<div style="margin: 0 0 16px; padding: 12px 18px; background: rgba(99,102,241,0.08); border: 1px solid rgba(99,102,241,0.25); border-radius: var(--radius-sm); font-size: 0.85rem; color: var(--accent-3); line-height: 1.6;">
|
||||
<strong>ℹ Profilo diverso dai Background Agents:</strong> Il setup è un’interazione <em>real-time con l’utente</em> (3–15 turni, <code>temperature=0.4</code>). Il volume è basso (poche sessioni per utente nel tempo), quindi il costo è trascurabile anche con modelli premium. Priorità: qualità della conversazione e accuratezza nel produrre l’<code>AgentConfig</code> JSON finale.
|
||||
</div>
|
||||
<div class="table-scroll">
|
||||
<table>
|
||||
<thead>
|
||||
<tr><th>Provider</th><th>Modello</th><th>Input $/MTok</th><th>Output $/MTok</th><th>Motivazione</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr style="background: rgba(52,211,153,0.04);">
|
||||
<td><strong>OpenAI</strong></td>
|
||||
<td><span class="model-name">GPT-4.1</span></td>
|
||||
<td><span class="price" style="color:var(--green)">$2.00</span></td>
|
||||
<td><span class="price" style="color:var(--green)">$8.00</span></td>
|
||||
<td><strong>Ottimo bilanciamento</strong> qualità/costo per conversazioni guidate, JSON output affidabile</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Anthropic</td>
|
||||
<td><span class="model-name">Claude Sonnet 4.6</span></td>
|
||||
<td><span class="price">$3.00</span></td>
|
||||
<td><span class="price">$15.00</span></td>
|
||||
<td>Massima qualità conversazionale e instruction-following; costo giustificato dalla rarità delle sessioni</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Google</td>
|
||||
<td><span class="model-name">Gemini 2.5 Flash</span></td>
|
||||
<td><span class="price">$0.30</span></td>
|
||||
<td><span class="price">$2.50</span></td>
|
||||
<td>Buona qualità conversazionale a costo molto basso; opzione se si vuole contenere ogni spesa</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>OpenAI</td>
|
||||
<td><span class="model-name">GPT-4.1 Mini</span></td>
|
||||
<td><span class="price">$0.40</span></td>
|
||||
<td><span class="price">$1.60</span></td>
|
||||
<td>Alternativa budget; qualità conversazionale sufficiente, JSON output meno affidabile</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Mistral</td>
|
||||
<td><span class="model-name">Mistral Large 3</span></td>
|
||||
<td><span class="price">$2.00</span></td>
|
||||
<td><span class="price">$6.00</span></td>
|
||||
<td>EU data residency; buona qualità per il setup journey</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Groq / Cerebras</td>
|
||||
<td class="na-cell">—</td>
|
||||
<td class="na-cell">—</td>
|
||||
<td class="na-cell">—</td>
|
||||
<td class="na-cell">Non consigliati: qualità conversazionale insufficiente per journey multi-turno</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- EMBEDDINGS -->
|
||||
<div class="tab-panel" id="tab-embed">
|
||||
<div class="table-wrap reveal">
|
||||
@@ -1097,14 +1178,14 @@
|
||||
<div class="section-head reveal">
|
||||
<p class="label">Simulazione</p>
|
||||
<h2>Stima Costi Mensili per Utente</h2>
|
||||
<p class="subtitle">Basata su un utilizzo tipico: 500 home, 300 floating, 210 brief, 100 batch, 1000 embeddings al mese.</p>
|
||||
<p class="subtitle">Basata su un utilizzo tipico: 500 home, 300 floating, 210 brief, 100 background agent runs, 10 setup turns (≈2 sessioni), 1000 embeddings al mese.</p>
|
||||
</div>
|
||||
|
||||
<div class="table-wrap reveal">
|
||||
<div class="table-header">
|
||||
<div>
|
||||
<h3>Calcolo Dettagliato</h3>
|
||||
<span class="desc">Token medi: Home 2K/1K • Floating 500/300 • Brief 1.5K/500 • Batch 3K/2K • Embed 500</span>
|
||||
<span class="desc">Token medi: Home 2K/1K • Floating 500/300 • Brief 1.5K/500 • Background Agent 3K/2K • Setup 4K/500 • Embed 500</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cost-bars" id="costChart">
|
||||
@@ -1152,13 +1233,22 @@
|
||||
<td><span class="price">$0.032 + $0.042 = $0.07</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Batch Agents</td>
|
||||
<td>Background Agents</td>
|
||||
<td>OpenAI</td>
|
||||
<td><span class="model-name">GPT-4.1 (Batch)</span></td>
|
||||
<td><span class="model-name">GPT-4.1 Mini</span></td>
|
||||
<td>100</td>
|
||||
<td>300K</td>
|
||||
<td>200K</td>
|
||||
<td><span class="price">$0.30 + $0.80 = $1.10</span></td>
|
||||
<td><span class="price">$0.12 + $0.32 = $0.44</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Setup Agent</td>
|
||||
<td>OpenAI</td>
|
||||
<td><span class="model-name">GPT-4.1</span></td>
|
||||
<td>10 turns</td>
|
||||
<td>40K</td>
|
||||
<td>5K</td>
|
||||
<td><span class="price">$0.08 + $0.04 = $0.12</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Embeddings</td>
|
||||
@@ -1171,7 +1261,7 @@
|
||||
</tr>
|
||||
<tr style="background: var(--surface-2);">
|
||||
<td colspan="6" style="text-align:right; font-weight:600; color:var(--ink);">Totale Mensile per Utente</td>
|
||||
<td><span class="price" style="color:var(--green); font-size:1rem;">~$2.78</span></td>
|
||||
<td><span class="price" style="color:var(--green); font-size:1rem;">~$2.24</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -1202,12 +1292,13 @@
|
||||
<li><span class="fn">Home Chat</span> <span class="mdl">Gemini 2.5 Flash</span></li>
|
||||
<li><span class="fn">Floating Chat</span> <span class="mdl">Gemini 2.5 Flash-Lite</span></li>
|
||||
<li><span class="fn">Daily Brief</span> <span class="mdl">GPT-4.1 Nano</span></li>
|
||||
<li><span class="fn">Batch Agents</span> <span class="mdl">GPT-4.1 Batch</span></li>
|
||||
<li><span class="fn">Background Agents</span> <span class="mdl">GPT-4.1 Mini</span></li>
|
||||
<li><span class="fn">Setup Agent</span> <span class="mdl">GPT-4.1</span></li>
|
||||
<li><span class="fn">Embeddings</span> <span class="mdl">text-embedding-3-small</span></li>
|
||||
</ul>
|
||||
<div class="strategy-cost">
|
||||
<span class="cost-label">Costo stimato/utente/mese</span>
|
||||
<span class="cost-value highlight">~$2.78</span>
|
||||
<span class="cost-value highlight">~$2.24</span>
|
||||
</div>
|
||||
<p class="strategy-pros"><strong>Pro:</strong> Costo ottimale, qualità massima per feature. <strong>Contro:</strong> 2 API key da gestire (Google + OpenAI).</p>
|
||||
</div>
|
||||
@@ -1221,14 +1312,15 @@
|
||||
<li><span class="fn">Home Chat</span> <span class="mdl">Llama 3.3 70B</span></li>
|
||||
<li><span class="fn">Floating Chat</span> <span class="mdl">Llama 4 Scout</span></li>
|
||||
<li><span class="fn">Daily Brief</span> <span class="mdl">Llama 3.1 8B</span></li>
|
||||
<li><span class="fn">Batch Agents</span> <span class="mdl">Qwen3 32B Batch</span></li>
|
||||
<li><span class="fn">Background Agents</span> <span class="mdl">Qwen3 32B</span></li>
|
||||
<li><span class="fn">Setup Agent</span> <span class="mdl">GPT-4.1 Mini</span></li>
|
||||
<li><span class="fn">Embeddings</span> <span class="mdl">OpenAI (esterno)</span></li>
|
||||
</ul>
|
||||
<div class="strategy-cost">
|
||||
<span class="cost-label">Costo stimato/utente/mese</span>
|
||||
<span class="cost-value" style="color:var(--blue);">~$1.05</span>
|
||||
<span class="cost-value" style="color:var(--blue);">~$1.30</span>
|
||||
</div>
|
||||
<p class="strategy-pros"><strong>Pro:</strong> Ultra economico, velocità record (394–840 TPS). <strong>Contro:</strong> Qualità tool calling inferiore ai proprietari. Serve OpenAI per embeddings.</p>
|
||||
<p class="strategy-pros"><strong>Pro:</strong> Ultra economico, velocità record (394–840 TPS). <strong>Contro:</strong> Qualità tool calling inferiore ai proprietari. Serve OpenAI per embeddings e setup.</p>
|
||||
</div>
|
||||
|
||||
<!-- ENTERPRISE -->
|
||||
@@ -1240,14 +1332,15 @@
|
||||
<li><span class="fn">Home Chat</span> <span class="mdl">GPT-4.1</span></li>
|
||||
<li><span class="fn">Floating Chat</span> <span class="mdl">GPT-4.1 Mini</span></li>
|
||||
<li><span class="fn">Daily Brief</span> <span class="mdl">GPT-4.1 Nano</span></li>
|
||||
<li><span class="fn">Batch Agents</span> <span class="mdl">GPT-4.1 Batch</span></li>
|
||||
<li><span class="fn">Background Agents</span> <span class="mdl">GPT-4.1 Mini</span></li>
|
||||
<li><span class="fn">Setup Agent</span> <span class="mdl">GPT-4.1</span></li>
|
||||
<li><span class="fn">Embeddings</span> <span class="mdl">text-embedding-3-small</span></li>
|
||||
</ul>
|
||||
<div class="strategy-cost">
|
||||
<span class="cost-label">Costo stimato/utente/mese</span>
|
||||
<span class="cost-value" style="color:var(--warn);">~$6.20</span>
|
||||
<span class="cost-value" style="color:var(--warn);">~$6.85</span>
|
||||
</div>
|
||||
<p class="strategy-pros"><strong>Pro:</strong> Ecosistema unificato, ZDR, affidabilità massima, 1 sola API key. <strong>Contro:</strong> Costo 2–6x superiore alle alternative.</p>
|
||||
<p class="strategy-pros"><strong>Pro:</strong> Ecosistema unificato, ZDR, affidabilità massima, 1 sola API key. <strong>Contro:</strong> Costo 3–7x superiore alle alternative.</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -1283,8 +1376,13 @@
|
||||
</div>
|
||||
|
||||
<div class="why-card reveal">
|
||||
<h4>⚙ GPT-4.1 Batch per Agenti</h4>
|
||||
<p>Gli agenti batch non richiedono risposta in tempo reale. Lo <strong>sconto batch 50%</strong> di OpenAI rende GPT-4.1 imbattibile a <span class="highlight-model">$1.00/$4.00</span>. Il suo output strutturato e tool calling sono tra i migliori del mercato, cruciali per operazioni CRUD affidabili.</p>
|
||||
<h4>⚙ GPT-4.1 Mini (Standard) per Background Agents</h4>
|
||||
<p>Il Batch API dei provider LLM <strong>non è applicabile</strong> agli agenti di processing: il loop tool-calling (<code>unified-processor</code>, <code>cloud-processor</code>) richiede fino a 12 turni sincroni per file, con ogni risultato di tool restituito dal client Electron via WebSocket prima che parta il turno successivo — incompatibile con il modello asincrono e fire-and-forget del Batch API. Si usa quindi l’<strong>API Standard</strong>. GPT-4.1 Mini a <span class="highlight-model">$0.40/$1.60</span> offre un ottimo bilanciamento: tool calling affidabile per operazioni CRUD multi-step, output strutturato consistente, e costo contenuto che non subisce la moltiplicazione del loop (ogni file può generare più chiamate LLM in sequenza).</p>
|
||||
</div>
|
||||
|
||||
<div class="why-card reveal">
|
||||
<h4>🛠 GPT-4.1 per Setup Agent</h4>
|
||||
<p>Il setup journey è fondamentalmente diverso dagli agenti di processing: è una <strong>conversazione interattiva real-time</strong> con l’utente (3–15 turni, <code>temperature=0.4</code>) che deve guidare con domande sensate, esplorare la directory con tool calling e produrre un <code>AgentConfig</code> JSON valido alla fine. GPT-4.1 a <span class="highlight-model">$2.00/$8.00</span> è la scelta giusta: qualità conversazionale e instruction-following superiori a Mini, con un impatto sul costo <strong>trascurabile</strong> dato il basso volume (≈2 sessioni/mese per utente). Usare GPT-4.1 Mini per risparmiare $0.09/mese non vale la degradazione nell’UX del setup.</p>
|
||||
</div>
|
||||
|
||||
<div class="why-card reveal">
|
||||
@@ -1374,12 +1472,14 @@
|
||||
|
||||
// ── Cost Chart ────────────────────────────────────
|
||||
// Usage: 500 home (2K in + 1K out), 300 floating (500 in + 300 out),
|
||||
// 210 brief (1.5K in + 500 out), 100 batch (3K in + 2K out), 1000 embeds (500 in)
|
||||
// 210 brief (1.5K in + 500 out), 100 background agent runs (3K in + 2K out),
|
||||
// 10 setup turns (2 sessioni × 5 turni, 4K in + 500 out), 1000 embeds (500 in)
|
||||
const usage = {
|
||||
home: { msgs: 500, inTok: 2000, outTok: 1000 },
|
||||
float: { msgs: 300, inTok: 500, outTok: 300 },
|
||||
brief: { msgs: 210, inTok: 1500, outTok: 500 },
|
||||
batch: { msgs: 100, inTok: 3000, outTok: 2000 },
|
||||
home: { msgs: 500, inTok: 2000, outTok: 1000 },
|
||||
float: { msgs: 300, inTok: 500, outTok: 300 },
|
||||
brief: { msgs: 210, inTok: 1500, outTok: 500 },
|
||||
batch: { msgs: 100, inTok: 3000, outTok: 2000 },
|
||||
setup: { msgs: 10, inTok: 4000, outTok: 500 },
|
||||
embed: { msgs: 1000, inTok: 500 }
|
||||
};
|
||||
|
||||
@@ -1390,36 +1490,45 @@
|
||||
return inCost + outCost;
|
||||
}
|
||||
|
||||
// Nota: il Batch API LLM non è compatibile con gli agenti di processing (loop
|
||||
// tool-calling sincrono). I prezzi degli agenti usano l'API Standard, non batch.
|
||||
// Setup agent usa un modello di qualità superiore (interattivo, basso volume).
|
||||
const strategies = [
|
||||
{
|
||||
name: 'Multi-Provider',
|
||||
color: 'green',
|
||||
cost: calcCost('home', 0.30, 2.50) + calcCost('float', 0.10, 0.40) + calcCost('brief', 0.10, 0.40) + calcCost('batch', 1.00, 4.00) + (1000 * 500 / 1e6) * 0.02
|
||||
// agents: GPT-4.1 Mini ($0.40/$1.60) | setup: GPT-4.1 ($2.00/$8.00)
|
||||
cost: calcCost('home', 0.30, 2.50) + calcCost('float', 0.10, 0.40) + calcCost('brief', 0.10, 0.40) + calcCost('batch', 0.40, 1.60) + calcCost('setup', 2.00, 8.00) + (1000 * 500 / 1e6) * 0.02
|
||||
},
|
||||
{
|
||||
name: 'Groq Budget',
|
||||
color: 'blue',
|
||||
cost: calcCost('home', 0.59, 0.79) + calcCost('float', 0.11, 0.34) + calcCost('brief', 0.05, 0.08) + calcCost('batch', 0.145, 0.295) + (1000 * 500 / 1e6) * 0.02
|
||||
// agents: Qwen3 32B ($0.29/$0.59) | setup: GPT-4.1 Mini ($0.40/$1.60, esterno)
|
||||
cost: calcCost('home', 0.59, 0.79) + calcCost('float', 0.11, 0.34) + calcCost('brief', 0.05, 0.08) + calcCost('batch', 0.29, 0.59) + calcCost('setup', 0.40, 1.60) + (1000 * 500 / 1e6) * 0.02
|
||||
},
|
||||
{
|
||||
name: 'OpenAI Enterprise',
|
||||
color: 'amber',
|
||||
cost: calcCost('home', 2.00, 8.00) + calcCost('float', 0.40, 1.60) + calcCost('brief', 0.10, 0.40) + calcCost('batch', 1.00, 4.00) + (1000 * 500 / 1e6) * 0.02
|
||||
// agents: GPT-4.1 Mini ($0.40/$1.60) | setup: GPT-4.1 ($2.00/$8.00)
|
||||
cost: calcCost('home', 2.00, 8.00) + calcCost('float', 0.40, 1.60) + calcCost('brief', 0.10, 0.40) + calcCost('batch', 0.40, 1.60) + calcCost('setup', 2.00, 8.00) + (1000 * 500 / 1e6) * 0.02
|
||||
},
|
||||
{
|
||||
name: 'Anthropic Full',
|
||||
color: 'purple',
|
||||
cost: calcCost('home', 3.00, 15.00) + calcCost('float', 1.00, 5.00) + calcCost('brief', 1.00, 5.00) + calcCost('batch', 1.50, 7.50) + (1000 * 500 / 1e6) * 0.02
|
||||
// agents: Claude Sonnet 4.6 ($3.00/$15.00) | setup: Claude Sonnet 4.6
|
||||
cost: calcCost('home', 3.00, 15.00) + calcCost('float', 1.00, 5.00) + calcCost('brief', 1.00, 5.00) + calcCost('batch', 3.00, 15.00) + calcCost('setup', 3.00, 15.00) + (1000 * 500 / 1e6) * 0.02
|
||||
},
|
||||
{
|
||||
name: 'Mistral EU',
|
||||
color: 'teal',
|
||||
cost: calcCost('home', 1.00, 3.00) + calcCost('float', 0.20, 0.60) + calcCost('brief', 0.20, 0.60) + calcCost('batch', 2.00, 6.00) + (1000 * 500 / 1e6) * 0.02
|
||||
// agents: Mistral Large 3 ($2.00/$6.00) | setup: Mistral Large 3
|
||||
cost: calcCost('home', 1.00, 3.00) + calcCost('float', 0.20, 0.60) + calcCost('brief', 0.20, 0.60) + calcCost('batch', 2.00, 6.00) + calcCost('setup', 2.00, 6.00) + (1000 * 500 / 1e6) * 0.02
|
||||
},
|
||||
{
|
||||
name: 'Google Full',
|
||||
color: 'pink',
|
||||
cost: calcCost('home', 0.30, 2.50) + calcCost('float', 0.10, 0.40) + calcCost('brief', 0.10, 0.40) + calcCost('batch', 0.625, 5.00) + (1000 * 500 / 1e6) * 0.15
|
||||
// agents: Gemini 2.5 Flash ($0.30/$2.50) | setup: Gemini 2.5 Flash
|
||||
cost: calcCost('home', 0.30, 2.50) + calcCost('float', 0.10, 0.40) + calcCost('brief', 0.10, 0.40) + calcCost('batch', 0.30, 2.50) + calcCost('setup', 0.30, 2.50) + (1000 * 500 / 1e6) * 0.15
|
||||
}
|
||||
];
|
||||
|
||||
|
||||
@@ -220,13 +220,22 @@ if lf:
|
||||
|
||||
**Pattern V3 corretto nel codice produzione (`agent_runner.py`, `deep_agent.py`, `agent_setup.py`):**
|
||||
```python
|
||||
# user_id e session_id vanno in metadata, NON come kwarg diretti
|
||||
lf.start_as_current_observation(
|
||||
# user_id e session_id propagati come attributi first-class Langfuse
|
||||
# tramite langfuse_context() che wrappa propagate_attributes()
|
||||
from app.core.langfuse_client import langfuse_context
|
||||
|
||||
_lf_ctx = langfuse_context(user_id=user_id, session_id=session_id)
|
||||
_lf_ctx.__enter__()
|
||||
|
||||
# user_id viene hashato con SHA-256 prima dell'invio a Langfuse
|
||||
# session_id arriva dal renderer (home/floating) o dal run_id (batch)
|
||||
|
||||
_span_ctx = lf.start_as_current_observation(
|
||||
as_type="span",
|
||||
name="my-span",
|
||||
metadata={"user_id": user_id, "session_id": session_id},
|
||||
input=...,
|
||||
)
|
||||
# NON mettere user_id/session_id in metadata — propagate_attributes li gestisce
|
||||
```
|
||||
|
||||
### compile_prompt — non usare template.format() direttamente
|
||||
|
||||
415
docs/marketing-strategy.md
Normal file
415
docs/marketing-strategy.md
Normal file
@@ -0,0 +1,415 @@
|
||||
# adiuvAI — Marketing Strategy & Positioning
|
||||
|
||||
> **Document version:** 1.1 — April 11, 2026
|
||||
> **Status:** Revised (Round 1 feedback applied)
|
||||
> **Changes:** Removed BYOK positioning, merged one-liner options, selected tagline E + hero C + pitch B, added Telegram & mobile app, updated all copy for "just works" philosophy.
|
||||
|
||||
---
|
||||
|
||||
## Table of Contents
|
||||
|
||||
1. [Market Research & Competitive Landscape](#1-market-research--competitive-landscape)
|
||||
2. [Positioning Strategy](#2-positioning-strategy)
|
||||
3. [Messaging Framework](#3-messaging-framework)
|
||||
4. [Waitlist Landing Page Copy](#4-waitlist-landing-page-copy)
|
||||
5. [Go-to-Market Recommendations](#5-go-to-market-recommendations)
|
||||
|
||||
---
|
||||
|
||||
## 1. Market Research & Competitive Landscape
|
||||
|
||||
### 1.1 Market Category
|
||||
|
||||
adiuvAI sits at the intersection of three booming categories:
|
||||
|
||||
| Category | Market Size (2026 est.) | Growth |
|
||||
|----------|------------------------|--------|
|
||||
| AI Productivity Tools | $14B+ | ~35% CAGR |
|
||||
| Project Management Software | $9B+ | ~13% CAGR |
|
||||
| AI Meeting/Email Assistants | $3B+ | ~40% CAGR |
|
||||
|
||||
The convergence of these three categories into **one AI-first personal assistant** is the core opportunity. No incumbent owns this combined space yet — they all specialize in one slice.
|
||||
|
||||
### 1.2 Competitive Map
|
||||
|
||||
<!-- ✅ REVISED — Removed BYOK column per feedback -->
|
||||
|
||||
| Competitor | What They Do | Price | Local-First? | Privacy Model | EU AI Act? |
|
||||
|-----------|-------------|-------|:---:|---------------|:---:|
|
||||
| **Motion** (usemotion.com) | AI tasks + projects + calendar + docs + meetings | $19-34/user/mo | No (cloud SaaS) | SOC2, GDPR | Not stated |
|
||||
| **Reclaim.ai** | AI calendar optimizer + scheduling | Free–$18/user/mo | No (cloud SaaS) | SOC2, GDPR | Not stated |
|
||||
| **Granola** | AI meeting notepad (desktop) | Free–$19/mo | Partial (desktop app, cloud sync) | Standard privacy policy | Not stated |
|
||||
| **Superhuman** | AI email + docs + assistant suite | $25-30/user/mo | No (cloud SaaS) | Standard | Not stated |
|
||||
| **Shortwave** | AI-powered email client (Gmail) | Free–$25/mo | No (cloud SaaS) | CASA Tier 2 | Not stated |
|
||||
| **SaneBox** | AI email filtering/triage | $7-36/mo | No (cloud SaaS) | Google Verified, audited | Not stated |
|
||||
| **Microsoft Copilot** | AI across M365 suite | $30/user/mo | No (Microsoft cloud) | Enterprise compliance | Partial |
|
||||
| **Notion AI** | AI inside Notion workspace | $10/mo add-on | No (cloud SaaS) | SOC2 | Not stated |
|
||||
|
||||
### 1.3 Key Gaps in the Market
|
||||
|
||||
**Gap 1: No one is local-first.** Every competitor stores your data on their servers. adiuvAI stores everything on your device, encrypted. This is a structural advantage, not a feature toggle.
|
||||
|
||||
**Gap 2: No one bridges email + tasks + meetings in one private workspace.** You either use Superhuman for email, Motion for tasks, and Granola for meetings — or you compromise. adiuvAI combines all three with a single AI that understands the full context.
|
||||
|
||||
**Gap 3: EU AI Act compliance is unclaimed territory.** The EU AI Act entered into force in 2024 and is now being enforced. No major competitor prominently advertises compliance. For European buyers (and increasingly, US companies with EU customers), this is a purchasing requirement.
|
||||
|
||||
<!-- ✅ REVISED — Replaced BYOK gap with "it just works" philosophy -->
|
||||
|
||||
**Gap 4: AI complexity is always visible.** Every competitor requires you to understand prompts, models, and configurations. adiuvAI makes AI invisible — the right model is automatically selected for optimal cost and performance. The user never thinks about AI. It just works as a personal secretary.
|
||||
|
||||
### 1.4 Competitor Positioning Analysis
|
||||
|
||||
| Competitor | Tagline | Emotional Angle | Weakness vs adiuvAI |
|
||||
|-----------|---------|-----------------|---------------------|
|
||||
| Motion | "Get an unfair advantage by using AI to double productivity" | Ambition, performance | Cloud-only, no privacy story, AI complexity visible |
|
||||
| Reclaim | "#1 AI calendar app for work" | Optimization, control | Calendar-only, no email/meeting/task integration |
|
||||
| Granola | "The AI notepad for people in back-to-back meetings" | Simplicity, focused | Meetings only, no project management |
|
||||
| Superhuman | "Superpowers, everywhere you work" | Aspiration, speed | Email-centric, expensive, no local data |
|
||||
| Shortwave | "Automate your email with AI" | Efficiency, automation | Email-only, Gmail-dependent |
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 2. Positioning Strategy
|
||||
|
||||
<!-- ✅ REVISED — Merged Option A + B per feedback, added "helps you complete tasks" -->
|
||||
|
||||
### 2.1 One-Liner
|
||||
|
||||
> "adiuvAI is your AI-powered personal secretary that reads your email, organizes your work, helps you complete tasks, and briefs you every morning — turning the chaos of emails, meetings, and files into a clear plan for your day, privately, on your machine."
|
||||
|
||||
---
|
||||
|
||||
<!-- ✅ REVISED — Kept Option B (Outcome-Led) per feedback -->
|
||||
|
||||
### 2.2 Elevator Pitch (30 seconds)
|
||||
|
||||
> "Imagine starting every morning with a personalized brief: here are your 5 priorities today, here's what changed overnight in your projects, and here's a follow-up email you forgot to send. That's adiuvAI — an AI secretary that runs entirely on your computer, reads your email and files, and tells you exactly what matters. It even helps you complete the work — drafting follow-ups, organizing notes, and keeping your projects on track. No cloud dependency, no data leaks, no AI complexity. Just clarity."
|
||||
|
||||
---
|
||||
|
||||
### 2.3 Positioning Statement
|
||||
|
||||
<!-- ✅ REVISED — Added "helps you complete your work" per feedback -->
|
||||
|
||||
> **For** busy professionals who lose track of what matters across email, chat, files, and meetings,
|
||||
> **adiuvAI** is the **AI personal secretary**
|
||||
> **that** reads your communications, organizes your work, gives you a clear daily plan, and helps you complete your tasks —
|
||||
> **unlike** Motion, Superhuman, or Notion AI,
|
||||
> **because** it runs entirely on your device, your data never touches a cloud server, and it's compliant with GDPR and the EU AI Act by design.
|
||||
|
||||
---
|
||||
|
||||
### 2.4 USP Hierarchy
|
||||
|
||||
| Rank | Feature | User Benefit | Why It Matters |
|
||||
|:---:|---------|-------------|----------------|
|
||||
<!-- ✅ REVISED — Removed BYOK, added Telegram + mobile app per feedback -->
|
||||
|
||||
| **1** | **AI personal secretary (invisible AI)** | You don't configure agents or write prompts — adiuvAI just reads your world and tells you what to do | This is the primary emotional hook. "I want something that just works." THE reason someone joins the waitlist. |
|
||||
| **2** | **Daily brief + activity carousel** | Start every day knowing exactly what matters | Tangible, visualizable, demo-able. This is what you show in the landing page hero. |
|
||||
| **3** | **Local-first / your data stays yours** | Full privacy without sacrificing AI intelligence | Strong differentiator in post-GDPR Europe. Increasingly important globally after repeated data breaches. |
|
||||
| **4** | **Email + files + chat → tasks automatically** | Stop manually copying things from email to your task list | This is the "extraction" magic — the AI reads your email and creates tasks/notes for you. |
|
||||
| **5** | **EU AI Act + GDPR compliant** | Peace of mind for European professionals and companies | Competitive moat — none of the US-based competitors advertise this. |
|
||||
| **6** | **Telegram integration** | Your secretary is in your pocket, in the app you already use | Extends adiuvAI to mobile without building a full app first. Low friction, high reach. |
|
||||
| **7** | **Voice assistant joins your calls** *(coming soon)* | Takes meeting notes, suggests responses, extracts action items | Future feature — creates a complete "secretary" experience. Powerful for waitlist anticipation. |
|
||||
| **8** | **Mobile companion app** *(coming soon)* | Access your daily brief and tasks on the go | Expected by every user — "how do I use this on my phone?" |
|
||||
|
||||
---
|
||||
|
||||
## 3. Messaging Framework
|
||||
|
||||
<!-- ✅ REVISED — Selected Option E per feedback -->
|
||||
|
||||
### 3.1 Tagline
|
||||
|
||||
> **"Meet your new chief of staff."**
|
||||
|
||||
Positions adiuvAI as a person, not a tool. "Chief of staff" implies someone who filters information, prioritizes, briefs you, and helps you execute — exactly the secretary metaphor. More premium than "assistant."
|
||||
|
||||
---
|
||||
|
||||
<!-- ✅ REVISED — Selected Option C (Intrigue/Minimal) per feedback -->
|
||||
|
||||
### 3.2 Hero Copy for Waitlist Landing Page
|
||||
|
||||
**Headline:**
|
||||
"What if AI could be your secretary?"
|
||||
|
||||
**Subheadline:**
|
||||
Not a chatbot. Not another app. A real AI that reads your email, knows your projects, and tells you what to focus on — without ever seeing your data.
|
||||
|
||||
**CTA:** See how it works →
|
||||
|
||||
---
|
||||
|
||||
### 3.3 Feature-Benefit Mapping
|
||||
|
||||
Use these on the landing page as feature sections below the hero:
|
||||
|
||||
| Feature (Technical) | Benefit (User-Facing) | Landing Page Copy |
|
||||
|---------------------|----------------------|-------------------|
|
||||
| Daily Brief engine | Know what to focus on | **"Start every day with clarity."** Your AI secretary reviews overnight emails, due tasks, and project changes — then gives you a 2-minute briefing with today's priorities. |
|
||||
| Email/file/chat extraction | Stop manual data entry | **"It reads so you don't have to."** adiuvAI scans your inbox, files, and chats. Important items become tasks, notes, or calendar events — automatically. |
|
||||
| Local-first architecture | Your data never leaves | **"Private by design, not by promise."** Everything runs on your device. Your data lives in an encrypted local database. No cloud server ever sees your content. |
|
||||
| EU AI Act + GDPR | Compliance without effort | **"Built for the new rules."** Fully compliant with GDPR and the EU AI Act. No data training on your content. Audit-ready from day one. |
|
||||
<!-- ✅ REVISED — Removed BYOK row, added Telegram + mobile app per feedback -->
|
||||
|
||||
| Voice assistant *(coming soon)* | Meetings handled for you | **"It joins your calls so you can focus."** adiuvAI listens, takes notes, and suggests next steps — all in real-time during your meetings. *(Coming soon)* |
|
||||
| Multi-agent orchestration | Complex tasks handled simply | **"One request, five agents working."** Behind the scenes, specialized AI agents handle tasks, projects, notes, and timelines — you just talk naturally. |
|
||||
| Activity carousel | Visual daily plan | **"Swipe through your day."** A visual carousel of today's key activities. Tap to dive in, swipe to move on. Like stories for your workday. |
|
||||
| Telegram integration | Your secretary in your pocket | **"Talk to your secretary on Telegram."** Send a message, get your brief, check tasks, add notes — all from the app you already have on your phone. |
|
||||
| Mobile companion app *(coming soon)* | adiuvAI on the go | **"Your daily brief, wherever you are."** A lightweight mobile app to review your plan, check off tasks, and stay in sync with your desktop. *(Coming soon)* |
|
||||
|
||||
---
|
||||
|
||||
### 3.4 Objection Handling
|
||||
|
||||
| Objection | Response |
|
||||
|-----------|----------|
|
||||
| "I already use Notion/Motion/Todoist for tasks" | Those are task managers you have to maintain. adiuvAI reads your email and creates tasks for you. It's the difference between a notebook and a secretary. |
|
||||
| "How is this different from ChatGPT/Copilot?" | ChatGPT answers questions. adiuvAI *watches your work* — email, files, meetings — and proactively tells you what needs attention. It's not a chatbot, it's a secretary. |
|
||||
| "Can I trust AI with my email/files?" | Your data never leaves your device. adiuvAI runs locally with end-to-end encryption. All AI processing uses privacy-respecting contracts — your data is never used for training. We literally can't see your data. |
|
||||
| "Is this just another AI wrapper?" | adiuvAI is a native desktop app with its own local database, vector search, and multi-agent AI system. It doesn't wrap an API — it orchestrates 5 specialized agents on your behalf. |
|
||||
| "What about team collaboration?" | adiuvAI starts as your personal secretary. Team features (shared workspace, SSO) are on the roadmap for the Team tier. Join the waitlist to help shape what we build. |
|
||||
| "Is it only for developers/tech people?" | Not at all. The entire design philosophy is to *hide* AI complexity. You never see prompts, models, or configurations. It just works like a smart assistant. |
|
||||
<!-- ✅ REVISED — Removed BYOK references, updated AI trust answer -->
|
||||
|
||||
| "Why desktop and not web/mobile?" | Desktop gives us access to your local files, email client, and meetings without routing through a cloud. It's a privacy decision. Mobile app and Telegram integration are on the roadmap. |
|
||||
| "EU AI Act — how are you compliant?" | Local-first architecture means no centralized data processing. We select AI models with privacy-respecting contracts — your data is never used for training. No profiling, no high-risk classification triggers. |
|
||||
|
||||
---
|
||||
|
||||
## 4. Waitlist Landing Page Copy
|
||||
|
||||
### 4.1 Recommended Page Structure
|
||||
|
||||
```
|
||||
1. HERO — Headline + subheadline + email input + CTA
|
||||
2. SOCIAL PROOF BAR — "Built by an AI Enterprise Solution Architect at HPE" + beta timeline
|
||||
3. DAILY BRIEF DEMO — Visual mockup or animation showing the morning brief experience
|
||||
4. 3 PILLARS — AI Secretary | Private by Design | EU Compliant
|
||||
5. HOW IT WORKS — 3-step visual flow (Connect → Extract → Brief)
|
||||
6. FEATURES PREVIEW — 4-6 feature cards with Coming Soon tags where applicable
|
||||
7. FOUNDER NOTE — Short personal message + credibility
|
||||
8. FINAL CTA — Email input + "Join X others on the waitlist"
|
||||
9. FOOTER — Links, legal, social
|
||||
```
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
### 4.2 Full Copy Draft
|
||||
|
||||
#### HERO
|
||||
|
||||
**Pre-headline badge:** `Beta launching June 2026`
|
||||
|
||||
<!-- ✅ REVISED — Updated hero to match selected Option C + tagline E -->
|
||||
|
||||
**Pre-headline badge:** `Beta launching June 2026`
|
||||
|
||||
**Tagline:** Meet your new chief of staff.
|
||||
|
||||
**Headline:**
|
||||
What if AI could be your secretary?
|
||||
|
||||
**Subheadline:**
|
||||
Not a chatbot. Not another app. A real AI that reads your email, knows your projects, and tells you what to focus on — without ever seeing your data.
|
||||
|
||||
**CTA:** `[Your email] [See how it works →]`
|
||||
|
||||
**Sub-CTA text:** Free to start. No credit card. Early adopters get priority access.
|
||||
|
||||
---
|
||||
|
||||
#### SOCIAL PROOF BAR
|
||||
|
||||
> Built by an AI Enterprise Solution Architect · Integrates with Gmail, Outlook, Teams · Runs 100% on your device
|
||||
|
||||
---
|
||||
|
||||
#### THE PROBLEM (optional emotional section)
|
||||
|
||||
**Headline:** You're juggling too many tools to stay organized.
|
||||
|
||||
**Body:**
|
||||
Your important emails hide between newsletters. Your tasks live in three different apps. Meeting notes sit in a doc you'll never open again.
|
||||
|
||||
You don't need another tool. You need someone who reads everything and tells you what matters.
|
||||
|
||||
---
|
||||
|
||||
#### 3 PILLARS
|
||||
|
||||
**Pillar 1: AI Secretary**
|
||||
adiuvAI reads your email, monitors your files, and watches your calendar. It extracts what's important and creates tasks, notes, and reminders — without you lifting a finger.
|
||||
|
||||
**Pillar 2: Private by Design**
|
||||
Everything runs on your machine. Your data lives in an encrypted local database. No cloud server ever touches your content. You own your data, fully.
|
||||
|
||||
**Pillar 3: EU AI Act Compliant**
|
||||
Built from the ground up for the new regulatory landscape. No training on user data. No profiling. GDPR and EU AI Act compliant by architecture, not by policy.
|
||||
|
||||
---
|
||||
|
||||
#### HOW IT WORKS
|
||||
|
||||
**Step 1: Connect**
|
||||
Link your Gmail, Outlook, or local folders. adiuvAI starts learning what matters to you.
|
||||
|
||||
**Step 2: Extract**
|
||||
AI agents scan your email, files, and meetings. They detect tasks, deadlines, and key information — and organize it into your personal workspace.
|
||||
|
||||
**Step 3: Brief**
|
||||
Every morning, get a personalized briefing. Today's priorities, what changed overnight, and what needs your attention. Swipe through your day like stories.
|
||||
|
||||
---
|
||||
|
||||
#### FEATURES PREVIEW
|
||||
|
||||
| Feature | Status |
|
||||
|---------|--------|
|
||||
| Daily Brief & Activity Carousel | ✅ Beta |
|
||||
| Email → Task Extraction (Gmail, Outlook) | ✅ Beta |
|
||||
| Project & Task Management | ✅ Beta |
|
||||
| Markdown Notes with AI Search | ✅ Beta |
|
||||
| Timeline & Milestone Tracking | ✅ Beta |
|
||||
| File & Folder Monitoring Agents | ✅ Beta |
|
||||
| Telegram Bot Integration | ✅ Beta |
|
||||
| Voice: Join Calls & Take Notes | 🔜 Coming Soon |
|
||||
| Teams/Slack Chat Monitoring | 🔜 Coming Soon |
|
||||
| Mobile Companion App | 🔜 Coming Soon |
|
||||
| Team Workspace & SSO | 🔜 Roadmap |
|
||||
|
||||
---
|
||||
|
||||
#### FOUNDER NOTE
|
||||
|
||||
> **From the maker:**
|
||||
> I'm Roberto, an AI Enterprise Solution Architect. I built adiuvAI because I was tired of promising my clients intelligent AI solutions while my own workday was chaos — emails piling up, tasks scattered across apps, meetings with no follow-through.
|
||||
>
|
||||
> adiuvAI is the tool I needed: an AI that actually reads my world and tells me what to do, without shipping my data to someone else's server.
|
||||
>
|
||||
> If that resonates with you, join the waitlist. Early adopters will shape what we build.
|
||||
>
|
||||
> — Roberto
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
#### FINAL CTA
|
||||
|
||||
**Headline:** Be the first to meet your AI secretary.
|
||||
|
||||
**Sub-text:** Beta launches June 2026. Early adopters get free priority access and a voice in what we build next.
|
||||
|
||||
**CTA:** `[Your email] [Join the waitlist →]`
|
||||
|
||||
---
|
||||
|
||||
## 5. Go-to-Market Recommendations
|
||||
|
||||
### 5.1 Launch Channels
|
||||
|
||||
| Channel | Action | Why | Priority |
|
||||
|---------|--------|-----|:---:|
|
||||
| **Product Hunt** | Launch on PH with "AI secretary" angle + privacy story | PH audience loves privacy-first + indie dev stories. Granola, Shortwave, Motion all launched here. | 🔴 High |
|
||||
| **Hacker News** | "Show HN: I built a local-first AI secretary" post | HN audience cares deeply about local-first, E2E encryption, BYOK. Natural fit. | 🔴 High |
|
||||
| **Reddit** (/r/productivity, /r/selfhosted, /r/artificial) | Authentic "I built this" post + engage in comments | Privacy-focused communities will champion a local-first AI tool. | 🔴 High |
|
||||
| **LinkedIn** | Personal posts from your profile (HPE architect building AI tool) | Your credibility as an enterprise AI architect IS the story. LinkedIn loves founder journeys. | 🔴 High |
|
||||
| **Twitter/X** | Build-in-public thread: "I'm building an AI secretary that runs locally" | AI Twitter is hungry for novel approaches. Local-first + privacy-by-design is contrarian. | 🟡 Medium |
|
||||
| **Indie Hackers** | Product launch + revenue/growth updates | Indie audience loves solo founders with real products. | 🟡 Medium |
|
||||
| **EU Tech Communities** | Position as "first EU AI Act compliant AI secretary" | Italian/European tech Twitter, EU startup events, AI regulation communities. | 🟡 Medium |
|
||||
| **YouTube** | 3-5 min demo video: "My AI reads my email every morning" | Visual proof. Show the daily brief, the carousel, email extraction. | 🟡 Medium |
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
### 5.2 Content Strategy
|
||||
|
||||
**Pre-launch (now → beta):**
|
||||
|
||||
| Week | Content | Channel |
|
||||
|------|---------|---------|
|
||||
| 1 | "Why I'm building an AI secretary that never touches the cloud" (founder story) | LinkedIn, Twitter |
|
||||
| 2 | "The problem with AI productivity tools: they all want your data" (thought leadership) | LinkedIn, HN |
|
||||
| 3 | Demo video: Daily Brief walkthrough (30 sec) | Twitter, YouTube short |
|
||||
| 4 | "EU AI Act is here — none of the big tools are ready" (positioning) | LinkedIn, Reddit |
|
||||
| 5 | "Building adiuvAI: local-first architecture deep-dive" (technical) | HN, Dev communities |
|
||||
| 6 | "adiuvAI beta is coming June 2026" (waitlist push) | All channels |
|
||||
|
||||
**Post-beta:**
|
||||
- Weekly "What I shipped this week" updates (build in public)
|
||||
- User testimonials from waitlist early adopters
|
||||
- Comparison content: "adiuvAI vs Motion: why local-first matters"
|
||||
- EU AI Act explainer content (SEO play)
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
### 5.3 Feature Roadmap Priorities (for Market Impact)
|
||||
|
||||
| Priority | Feature | Market Impact | Effort |
|
||||
|:---:|---------|--------------|--------|
|
||||
| **1** | Daily Brief carousel UI (visual, demo-able) | This is the hero feature for the landing page. You need a visual to show. | Medium |
|
||||
| **2** | Gmail real-time sync (not just fetch) | "It reads my email" needs to actually work automatically for beta | High |
|
||||
| **3** | Voice assistant (call recording + notes) | This is the "wow" future feature that drives waitlist signups | High |
|
||||
| **4** | Outlook/Teams integration | Expands addressable market to enterprise/Microsoft users | Medium |
|
||||
| **5** | Mobile companion (push daily brief to phone) | "How do I use it on the go?" is the first question people will ask | High |
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
### 5.4 Quick Wins (Low Effort, High Impact)
|
||||
|
||||
1. **Rename/rebrand the website** — Change from "CLAUDE.md" to "adiuvAI" immediately. The current name is confusing.
|
||||
|
||||
2. **Switch Landing page to English** — You said global reach. The current Italian page limits you.
|
||||
|
||||
3. **Add an email signup form today** — Even before redesigning the full page, add a Waitlist component. Use Buttondown, Mailchimp, or a simple Supabase/Airtable form.
|
||||
|
||||
4. **Record a 60-second Loom** — Show the daily brief, email extraction, and task creation. Embed on the waitlist page.
|
||||
|
||||
5. **Write your "Why I'm building this" LinkedIn post** — Your HPE AI Architect background is your unfair advantage for credibility. Use it.
|
||||
|
||||
<!-- ✅ REVISED — Logo already exists in adiuvAI/assets/, updated accordingly -->
|
||||
|
||||
6. **~~Create a brand logo~~** — ✅ Already exists in `adiuvAI/assets/`. Use it on the new waitlist page.
|
||||
|
||||
7. **Claim @adiuvai handles** — Twitter, LinkedIn page, Product Hunt, GitHub, Reddit. Do this now before someone else does.
|
||||
|
||||
**This week's plan:** Items 1 (rebrand to adiuvAI), 2 (English page), and 3 (email signup form) are confirmed as immediate priorities.
|
||||
---
|
||||
|
||||
### 5.5 Pricing Considerations for Waitlist
|
||||
|
||||
For the **waitlist page**, I recommend NOT showing detailed pricing (Free/Pro/Power tiers). Instead:
|
||||
|
||||
- **"Free to get started"** — signals low friction
|
||||
- **"Pro plans for power users"** — signals there's a business model
|
||||
- **"Early adopters get priority access"** — signals exclusivity
|
||||
|
||||
Save the full pricing reveal for the beta launch.
|
||||
|
||||
**Rationale:** Your current pricing (Free/€15 Pro/€29 Power) is competitive with Motion ($19-34), but pricing pages kill waitlist conversion rates. People join waitlists for the vision, not the price. Show pricing when they can actually buy.
|
||||
|
||||
<!-- ✅ REVISED — Confirmed: no pricing on waitlist page -->
|
||||
|
||||
---
|
||||
|
||||
## Summary: The adiuvAI Story in One Paragraph
|
||||
|
||||
<!-- ✅ REVISED — Removed BYOK, added task completion, updated tone -->
|
||||
|
||||
> adiuvAI is an AI-powered personal secretary that runs entirely on your desktop. It connects to your email, files, and calendar, automatically extracts what matters, gives you a personalized daily brief every morning, and helps you complete your work — drafting follow-ups, organizing projects, and keeping everything on track. Unlike cloud-based tools like Motion, Superhuman, or Notion AI, adiuvAI stores all data locally with end-to-end encryption — your data literally never leaves your device. It's the first productivity AI built from the ground up for GDPR and EU AI Act compliance. No configuration needed — the AI just works. Beta launches June 2026.
|
||||
|
||||
---
|
||||
|
||||
*When you're happy with this strategy, switch to `@creative-director` to turn it into visual deliverables (landing page design, animations, promo materials). The creative director will read this file and brainstorm designs with you.*
|
||||
Reference in New Issue
Block a user