TTV is the time before customers experience the value promised after 'purchasing' the product (e.g., a free trial or a freemium).
Let's take @canva as an example. You can use it immediately. You get sucked in and don't even notice that you've just become their customer! :)
You can easily minimize #TTV by using the Bowling Alley Framework. It's like using "bumpers" to guide users to the outcome your product promises.
There are two types of bumpers:
1. Product Bumpers
Their goal is to help adopt the product within the application.
a. Welcome Messages — displayed after logging in. It's an opportunity to greet users, make them feel invited, and restate the value proposition. They can also set expectations.
b. Product Tours — Eliminate distractions and allow users to focus only on the most critical options. It commonly starts with the question about what users would like to accomplish with the product. Let your users choose their adventure.
c. Progress Bars — Help users understand what's their progress. It's a good practice to start with a substantial percentage of the bar filled in so that users can feel that they are already underway instead of starting from scratch.
e. Onboarding Tooltips — Helpful messages are displayed when interacting with application elements (e.g., mouse hover). It shouldn't be too intrusive; e.g., forcing users to click every detail on a page may not be a good idea.
f. Empty states — After the first login, many applications are tedious. There is no data specific to you; without it, it's virtually impossible to understand what value you will get once you start using the product.
There are two ways:
a) Present users required steps and prompt them to take action.
b) Prevent it from happening. Dynamics 365 Sales populates every trial with sample data. I presented it at the beginning of this article.
Conversational bumpers work to educate the users, set their expectations, bring them back to the application, and eventually upgrade their accounts. I selected the two most popular forms:
a. User Onboarding Emails — can include welcome messages, usage tips, sales touch (to upgrade accounts), case studies, communicating the benefits, information about trial expiration, or post-trial surveys. You can easily automate most of them.
b. Explainer Videos — The name is self-explanatory. Videos can generate even 1200% more engagement than text and images. I highly recommend it, especially for complex products.
Paste this into your claude.md and measure your usage in a week.
My bet: you’ll save more than 50% of tokens.
---------------
## Task Delegation
Spawn subagents to isolate context, parallelize independent work, or offload bulk mechanical tasks. Don't spawn when the parent needs the reasoning, when synthesis requires holding things together, or when spawn overhead dominates.
Pick the cheapest model that can do the subtask well:
- Haiku: bulk mechanical work, no judgment
- Sonnet: scoped research, code exploration, in-scope synthesis
- Opus: subtasks needing real planning or tradeoffs
Subagents follow the same rules recursively, with two caps:
- Haiku does not spawn further subagents. If it needs to, the task was wrong-sized for Haiku — return to the parent.
- Maximum spawn depth is 2 (parent → subagent → one further tier).
Don't escalate tiers without a concrete reason. If a subagent realizes it needs a higher tier than itself, return to the parent rather than spawning up.
Parent owns final output and cross-spawn synthesis. User instructions override.
## Preferred Tools
### Data Fetching
1. **WebFetch** — free, text-only, works on public pages that don't block bots. 2. **agent-browser CLI** — free, local Rust CLI + Chrome via CDP. For dynamic pages or auth walls that WebFetch can't handle. Returns the accessibility tree with element refs (@e1, @e2) — ~82% fewer tokens than screenshot-based tools. Install: `npm i -g agent-browser && agent-browser install`. Use `snapshot` for AI-friendly DOM state, element refs for interaction. 3. **Notice recurring fetch patterns and propose wrapping them as dedicated tools.** When the same fetch/parse logic comes up more than once, suggest wrapping it as a named tool (e.g. a skill file or a .py script that calls `agent-browser` with the snapshot and extraction steps baked in for that source). Add the entry to `## Dedicated Tools` below and reference it by name on future calls.
### PDF Files
Use 'pdftotext', not the 'Read' tool. Use 'Read' only when the user directly asks to analyze images or charts inside the document.
We can remove, that was unnecessary. Claude Code doesn't let subagents spawn anyway, even when forking or adding the Agent tool explicitly:
"Subagents follow the same rules recursively, with two caps: - Haiku does not spawn further subagents. If it needs to, the task was wrong-sized for Haiku — return to the parent. - Maximum spawn depth is 2 (parent → subagent → one further tier)."
Thanks @GaelBreton!
The full updated Task Delegation block:
## Task Delegation
Spawn subagents to isolate context, parallelize independent work, or offload bulk mechanical tasks. Don't spawn when the parent needs the reasoning, when synthesis requires holding things together, or when spawn overhead dominates.
Pick the cheapest model that can do the subtask well:
- Haiku: bulk mechanical work, no judgment
- Sonnet: scoped research, code exploration, in-scope synthesis
- Opus: subtasks needing real planning or tradeoffs
If a subagent realizes it needs a higher tier than itself, return to the parent. Parent owns final output and cross-spawn synthesis. User instructions override.
RIP OpenClaw.
Introducing Agent One: Autonomy with Security.
Built in 3 days with Opus 4.6 and n8n.
A short demo: 🧵
It can:
- Reply to your Telegram or Slack messages
- Access selected folders from your laptop
- Access Gmail, Drive, Notion, Linear, etc.
- Install new local tools in a sandbox
- Run autonomously for hours
- Create multiple subagents
- Learn from experience
- Wake up regularly
I wanted an autonomous agent available on all my devices. But I didn't want:
- 35,000 emails and 1.5M API keys exposed
- The top-downloaded community skill? Malware
Agent One:
- Can't access your API keys
- Can't modify its environment
- Can't access folders you haven't shared
- Can't access tools you haven't approved
- Must get your confirmation, e.g., when sending emails
These aren’t prompt instructions. They’re hard architectural boundaries — Docker isolation, mounted folder permissions, n8n’s tool approval system.
5 AI Evals Traps Every AI Team Should Know About:
(and what actually works)
𝟭. 𝗥𝗲𝗹𝘆𝗶𝗻𝗴 𝗼𝗻 𝗚𝗲𝗻𝗲𝗿𝗶𝗰 𝗠𝗲𝘁𝗿𝗶𝗰𝘀
Trap: You treat "hallucination," "toxicity," "helpfulness" as success metrics.
Why it fails: generic metrics miss domain-specific failure modes and can create false confidence.
Do this instead: you can use generic metrics only to triage traces (sort, filter, surface weird cases). Let real metrics emerge from failure modes. See the next point.
Example: You can’t fix "10% hallucinations." You can fix "fails to parse invoice dates in this format."
Google just dropped the Gemini File Search API (RAG-as-a-Service).
It allowed me to build a RAG chatbot in 31 min 🤯
No coding.
Here’s how it works:
Just one tool.
You upload your files and immediately get:
- Semantic search over your content.
- Grounded answers with citations.
- Support for common text file types.
- Free storage and query-time embeddings.
- Indexing just $0.15 per 1 million tokens.
This is perfect for:
- Prototyping and testing ideas fast.
- Building agents that need fast access to your docs.
After an interview with @karpathy, everyone is talking about what AI agents can/can't do.
But an opinion without data is just a hypothesis.
So, I tested 3x185 workflow executions for a market researcher agent.
The results have shocked me🧵
I tested three variants:
I. LLM Workflow: No agency, the entire logic carefully orchestrated.
What was expected:
- An LLM workflow was 2x faster (the same model) compared to an AI Agent.
- An LLM workflow consumed 12x less tokens to an AI Agent.
3/185 "errors" are minor formatting results.
II. Agentic Workflow: Deterministic logic moved to the orchestration layer.
More time, more tokens.
100% task success.
GPT-5 (a reasoning model) consumed less tokens than GPT-4o due to better compression.