Initial commit: LetsBe Biz project with openclaw source

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-27 16:24:23 +01:00
commit 14ff8fd54c
93 changed files with 31651 additions and 0 deletions

View File

@@ -0,0 +1 @@
,zen-lucid-edison,claude,26.02.2026 14:21,file:///sessions/zen-lucid-edison/.config/libreoffice/4;

View File

@@ -0,0 +1,303 @@
# LetsBe Biz — Case Study Template
**Version:** 1.0
**Date:** February 26, 2026
**Purpose:** Template for documenting founding member success stories for use in sales, marketing, and investor conversations
**Companion docs:** Objection Handling Guide v1.0, Founding Member Program v1.0, GTM Strategy v1.0
---
## How to Use This Template
Case studies are collected from founding members — ideally at 30 days, 60 days, and 90 days after signup. A great case study answers three questions a prospective customer is actually asking:
1. **Is this person like me?** (profile — who they are, what they do)
2. **Was the pain real?** (problem — the before state, in their words)
3. **Did it actually work?** (results — specific, quantified, honest)
**Interview format:** 20-30 minute conversation (not a survey). Record it if the customer consents. Extract the quotes yourself — don't ask customers to write quotes for you.
**Output format:** One page max for the shareable version. The full version (this template, completed) lives in docs/sales/case-studies/ for internal reference.
---
## Part 1: Customer Profile
*Fill in after onboarding call. Update at each check-in.*
| Field | Details |
|-------|---------|
| **First name / handle** | [Name or pseudonym if anonymous] |
| **Industry** | [e.g., Freelance copywriter, Digital marketing agency, Accountant, E-commerce store] |
| **Business size** | [Solo / 2-5 people / 5-10 people] |
| **Location** | [Country or region — relevant for EU/NA hosting decision] |
| **LetsBe tier** | [Lite / Build / Scale / Enterprise] |
| **Founding member #** | [#1100] |
| **Signup date** | [Month and year] |
| **Primary use case** | [The main thing they use LetsBe for — e.g., "Automated client follow-ups and CRM management"] |
---
## Part 2: The Before State
*This section captures the problem. Get this in the customer's words — don't paraphrase too much.*
### 2.1 What was the tool stack before LetsBe?
List the tools they were using and what they were paying. Estimate if they don't know exactly.
| Tool | Purpose | Monthly Cost |
|------|---------|-------------|
| | | |
| | | |
| | | |
| | | |
| | | |
| **Total** | | **€___/mo** |
### 2.2 What was the time cost?
Estimate or ask directly:
- Hours per week on manual operational tasks (data entry, follow-ups, scheduling, reporting): **___ hrs/week**
- Estimated monthly cost of that time (at their effective hourly rate): **€___/mo**
- Biggest time sink (their words): "___"
### 2.3 What was the main frustration?
Use their exact words if possible. This becomes the "hook" of the case study.
> **Quote:** "___"
### 2.4 What made them try LetsBe?
What was the trigger? What were they hoping to solve?
> "___"
---
## Part 3: The Setup Experience
*Captures the "getting started" story — used to address the "too technical / too much effort" objection.*
### 3.1 Time to first value
- Time from signup to first AI task completed: **___ hours/days**
- First tool they configured or AI task they ran: ___
- Onboarding friction (1 = painless, 5 = significant effort): ___
- What surprised them about setup: "___"
### 3.2 Tools migrated / activated
Which LetsBe tools did they activate?
- [ ] Odoo (CRM)
- [ ] Stalwart Mail (email)
- [ ] Nextcloud (files)
- [ ] Plane (project management)
- [ ] Ghost (website/blog)
- [ ] Listmonk (email marketing)
- [ ] Cal.com (scheduling)
- [ ] Bigcapital (invoicing/accounting)
- [ ] Umami (analytics)
- [ ] Activepieces (automation)
- [ ] Chatwoot (customer support)
- [ ] Documenso (e-signing)
- [ ] Formbricks (forms)
- [ ] Vaultwarden (passwords)
- [ ] Other: ___
---
## Part 4: The Results
*The core of the case study. Be specific. Vague results ("saved time," "more efficient") are useless for sales.*
### 4.1 Financial results
| Metric | Before LetsBe | After LetsBe | Change |
|--------|--------------|-------------|--------|
| Monthly tool costs | €___ | €___ | -€___ (___%) |
| Monthly labor cost (ops tasks) | €___ | €___ | -€___ (___%) |
| **Total monthly savings** | | | **-€___/mo** |
| **Annual savings** | | | **-€___/yr** |
### 4.2 Time results
| Task | Before | After | Time saved/week |
|------|--------|-------|-----------------|
| [e.g., CRM updates] | ___ hrs | ___ hrs | ___ hrs |
| [e.g., Email follow-ups] | ___ hrs | ___ hrs | ___ hrs |
| [e.g., Scheduling] | ___ hrs | ___ hrs | ___ hrs |
| [e.g., Reporting] | ___ hrs | ___ hrs | ___ hrs |
| **Total** | | | **___ hrs/week** |
### 4.3 Specific workflow wins
Describe 2-3 specific things the AI team does for them that they didn't expect or that made the biggest difference. These become the "oh shit moments" in the case study.
**Win 1:**
- What it does: ___
- Time before: ___
- How it works now: ___
- In their words: "___"
**Win 2:**
- What it does: ___
- Time before: ___
- How it works now: ___
- In their words: "___"
**Win 3 (optional):**
- What it does: ___
- Time before: ___
- How it works now: ___
- In their words: "___"
### 4.4 Unexpected benefits
Things they got that they weren't looking for:
"___"
---
## Part 5: Privacy / Ownership Value
*Specifically for use with privacy-conscious prospects. Skip if the customer doesn't care about this angle.*
### 5.1 Did privacy matter to them?
- Was this a decision factor at signup? [ ] Yes [ ] No [ ] Somewhat
- What was their concern, if any?
- How did they feel about it after using LetsBe?
> "___"
### 5.2 Did they migrate away from a cloud provider?
- What did they move off of?
- What changed?
- How did they describe the feeling of owning their data?
> "___"
---
## Part 6: Objections They Had (and How They Were Resolved)
*This section is pure gold for the Objection Handling Guide.*
### 6.1 Objections before signing up
List each one and what resolved it:
| Objection | What resolved it |
|-----------|-----------------|
| | |
| | |
| | |
### 6.2 Early frustrations after signing up
Be honest about what didn't work well initially:
| Friction | Resolution |
|----------|-----------|
| | |
| | |
---
## Part 7: Shareable Case Study (Draft)
*This section is the final, one-page version for use in sales emails, the website, and pitch decks. Write this after completing Parts 16. Keep to 300-450 words.*
---
### [Customer Name / Handle] — [Industry] — [Location]
**[One-line headline capturing the main result]**
*Example: "How a 3-person marketing agency cut their SaaS spend by 68% and reclaimed 12 hours a week."*
---
**The situation:**
[2-3 sentences about who they are and what their business does. Make the reader see themselves in this person.]
---
**The problem:**
[2-3 sentences about what their operational life looked like before LetsBe. Use their words where possible.]
> "[Direct quote about the pain — their words, not yours]"
---
**The switch:**
[1-2 sentences about why they decided to try LetsBe and what they were hoping for.]
---
**What changed:**
[3-4 sentences describing the specific workflows the AI now handles. Be concrete. Not "the AI helps with email" but "the Sales Agent reviews every Chatwoot conversation daily, flags prospects who haven't been followed up in 5 days, and drafts the follow-up — I review and send with one click."]
> "[Direct quote about the experience — something specific and surprising]"
---
**The results:**
- **[Metric 1]:** [Specific number — e.g., "Monthly tool costs dropped from €340 to €75"]
- **[Metric 2]:** [Specific number — e.g., "8 hours/week freed from CRM updates and follow-ups"]
- **[Metric 3]:** [Specific number or qualitative win — e.g., "Zero missed follow-ups in the first 6 weeks"]
---
**In their own words:**
> "[The best quote from the interview — the one that you'd want a skeptical prospect to read]"
---
*[Customer name], [Job title / description], [Company name if permitted]*
*LetsBe [Tier] — Founding Member #[number]*
---
## Part 8: Usage Rights
| Item | Permission |
|------|-----------|
| **Use full name** | [ ] Yes [ ] First name only [ ] Anonymous |
| **Use company name** | [ ] Yes [ ] No |
| **Use on website** | [ ] Yes [ ] No |
| **Use in pitch deck / investor materials** | [ ] Yes [ ] No |
| **Use in email outreach** | [ ] Yes [ ] No |
| **Quote directly** | [ ] Yes, with attribution [ ] Yes, without attribution [ ] No |
| **Follow-up contact for prospective customers** | [ ] Yes (LinkedIn/email) [ ] No |
| **Permission confirmed by customer** | [ ] Yes — [date] |
| **How permission was obtained** | [ ] Email [ ] Verbal (noted) [ ] Written form |
---
## Internal Notes
*For Matt / team use only — not shared externally*
- Collected by: ___
- Collection date: ___
- Check-in type: [ ] 30 day [ ] 60 day [ ] 90 day [ ] Ongoing
- Priority for website use: [ ] High (use immediately) [ ] Medium (good story, queue it) [ ] Low (internal reference only)
- Best objection addressed: ___
- Target persona match (from Competitive Landscape personas): [ ] Solo Founder (Maria) [ ] Agency Owner (Tom) [ ] Privacy-Conscious Pro (Dr. Weber) [ ] Other: ___
- Notes from interview: ___
---
## Changelog
| Version | Date | Changes |
|---------|------|---------|
| 1.0 | 2026-02-26 | Initial template. Eight-part structure covering profile, before state, setup, results, privacy, objections, shareable one-pager, and usage rights. |

View File

@@ -0,0 +1,465 @@
# LetsBe Biz — Objection Handling Guide
**Version:** 1.0
**Date:** February 26, 2026
**Author:** Matt Ciaccio (matt@letsbe.solutions)
**Audience:** Founders, cofounders — for use in founding member conversations, demos, cold outreach, and inbound inquiries
**Companion docs:** Competitive Landscape v1.0, Product Vision v1.1, Founding Member Program v1.0, Pricing Model v2.2
---
## How to Use This Guide
Every objection is a signal, not a wall. The goal of each response is not to "win" the argument — it's to understand what's actually behind the objection and address the real concern. Most objections fall into one of three categories:
1. **Information gap** — They don't fully understand what the product does or how it works
2. **Misaligned expectations** — They're comparing LetsBe to the wrong thing
3. **Genuine concern** — They've identified a real risk or limitation that deserves an honest answer
The responses in this guide are designed to be direct and honest, not manipulative. If someone has a genuine concern we can't resolve, the right answer is to acknowledge it and let them decide — not oversell.
**Format:** Each entry has:
- The objection (phrased as a prospect would actually say it)
- What it's really about (the underlying concern)
- The response (what to say)
- A follow-up question to move the conversation forward
---
## Section 1: Price & Value Objections
---
### 1.1 "This is too expensive for a small business."
**What it's really about:** They're anchoring on the monthly number without understanding what it replaces.
**Response:**
"Let me flip the question. What are you currently paying for software? Most small businesses I talk to are paying $200-600/month across their tools — CRM, email, project management, invoicing, scheduling, maybe an analytics tool. LetsBe replaces all of that plus adds an AI team that runs it. At €29-109/month depending on your scale, we're not more expensive — we're usually a fraction of what they're already paying. The ROI calculator on our site lets you enter your actual tools and see the savings in 60 seconds. What tools are you currently paying for?"
**Follow-up:** "What does your current tool stack cost you per month, roughly?"
---
### 1.2 "ChatGPT is free / I already use ChatGPT."
**What it's really about:** They see LetsBe as an AI chatbot with a price tag. They don't understand the distinction between AI assistance and AI operations.
**Response:**
"ChatGPT is a conversation — a great one. LetsBe is a workforce. Here's the difference: if you ask ChatGPT to follow up with your leads from last week, it will write you a great email draft. If you ask LetsBe's Sales Agent to do the same, it pulls your leads from your CRM, drafts personalized emails for each one based on their history, sends them through your actual email server, logs the interactions, and schedules a follow-up reminder — all without you touching it again. One is a notepad. The other runs your business."
**Follow-up:** "When you think about the things you wish you could just hand off — what would be first on that list?"
---
### 1.3 "I can just use AI tools for free / cobble something together myself."
**What it's really about:** They underestimate the setup and maintenance burden, or they think they're technical enough to DIY it.
**Response:**
"You can — and if you're a developer with time to maintain it, that might be the right call. But the DIY path means: provisioning a server, setting up Docker, deploying 10-15 separate tools, configuring them to talk to each other, writing automation workflows to connect them, securing everything, and maintaining it all when things break. That's 40-80 hours to set up and ongoing hours to maintain. LetsBe is a managed platform — you get the tools, the AI that runs them, the security layer, and ongoing updates. The question isn't 'can you build this yourself' — it's 'is that the best use of your time?'"
**Follow-up:** "What would you do with an extra 10 hours per week if you weren't managing tools?"
---
### 1.4 "The token limits seem low / I'll run out of AI."
**What it's really about:** They're imagining AI as something you consume continuously like a streaming service, not realizing that business operations don't need that many tokens.
**Response:**
"Let's put it in context. The default model — DeepSeek V3.2 — runs at roughly $0.33 per million tokens. A million tokens is about 750,000 words. A typical day of AI business operations — handling email, updating CRM, generating reports, scheduling — uses maybe 50,000-200,000 tokens. Even the Lite tier's 8M tokens gives you comfortable room for full-day AI operations for the whole month. The included pool is sized for normal business use. If you're hitting limits regularly, you're getting extraordinary value and Scale or Enterprise will serve you better. And if you need more tokens beyond the pool, you can add a credit card and pay only for what you use."
**Follow-up:** "What do you imagine using the AI for most — what's the highest-volume task in your business?"
---
### 1.5 "The pricing will increase after I sign up."
**What it's really about:** They've been burned by "intro pricing" before. They want price protection.
**Response:**
"That's a fair concern — subscription products that bait-and-switch on pricing are a real thing. We price based on our actual cost structure: server costs plus AI model costs. Those costs are transparent and documented. Founding members get 2× their token allocation for 12 months at standard pricing — there's no introductory rate that converts to something higher. If we change pricing in the future, it would be with advance notice and wouldn't be retroactive to existing subscribers. But I'd also say: we're a new product. We're more likely to add features than to raise prices in the near term."
**Follow-up:** "Would price lock for 12 months address that concern for you?"
---
## Section 2: Trust & Privacy Objections
---
### 2.1 "I don't trust AI with my business data."
**What it's really about:** This is often a genuine, well-founded concern. The response should validate it, not dismiss it.
**Response:**
"That's a completely reasonable position — and honestly, it's what LetsBe was built around. Most AI tools run in the cloud, which means your CRM data, emails, and documents flow through the AI provider's servers. We're built differently. Your data lives on your own VPS — a server you own — not ours. The AI agents operate your tools through APIs on that server. When an agent needs to perform a task, our secrets firewall strips all credentials and sensitive identifiers before anything leaves the machine. The AI provider never sees your passwords, API keys, or customer data. It sees instructions and task results, not your raw data. Privacy isn't a feature we added — it's the architecture."
**Follow-up:** "What type of data are you most concerned about — customer records, financial data, something else?"
---
### 2.2 "What if the AI does something wrong — deletes files, sends a bad email?"
**What it's really about:** Fear of autonomous action without oversight. They want guardrails, not a runaway agent.
**Response:**
"The AI team operates on trust levels you set. By default, everything that sends, deletes, or modifies something requires your approval before it happens. As you get comfortable with specific workflows — and see them work correctly a few times — you can increase autonomy for those tasks while keeping approval gates on others. There's also a full audit log of every action the AI takes, so you can always see what happened and why. Think of it less like giving a robot the keys to everything, and more like training a new employee: they shadow you first, you review their work, and you extend more independence as trust is established."
**Follow-up:** "What would 'safe' look like to you — what would you want the AI to always ask before doing?"
---
### 2.3 "How do I know my data won't be used to train AI models?"
**What it's really about:** They've read about AI companies using customer data for training. This is a specific, technical concern.
**Response:**
"Your business data — documents, emails, CRM records — stays on your server. When the AI performs a task, our secrets firewall strips credentials and PII before anything leaves the machine. The AI receives structured instructions and tool outputs, not your raw files. That said, redacted prompts containing business context do reach LLM providers via OpenRouter — but those providers operate under API terms that prohibit training on API inputs. So the layered answer is: your raw data never leaves your server, redacted task instructions do reach the AI provider but can't be used for training, and our DPA covers the exact legal commitments. The architecture makes training on your data technically impractical, and the contracts make it legally prohibited."
**Follow-up:** "Are you in a regulated industry where this is a compliance requirement, or is this more of a general principle for you?"
---
### 2.4 "Is this GDPR compliant?"
**What it's really about:** They operate in the EU and need to be able to justify using LetsBe to their customers or data protection officer.
**Response:**
"Yes — by design, not by checkbox. EU customers are hosted on EU infrastructure (Germany), so data doesn't leave EU jurisdiction. We have a full GDPR-compliant privacy policy, a published Data Processing Agreement that you can sign as a customer, and a Data Deletion Policy. We're data processors under GDPR — you remain the data controller, and your customer data stays on your server. The DPA covers all Article 28 requirements including subprocessor lists, security measures, and breach notification obligations. That said, full GDPR compliance also depends on how you use the tools — as the data controller, you're responsible for your own data processing activities. Our ToS §12.2 covers the shared responsibility model. We can get you our legal docs before you make a decision if that helps."
**Follow-up:** "Do you have a DPO or legal team we should connect with, or is this primarily your own review?"
---
### 2.5 "What happens to my data if LetsBe shuts down?"
**What it's really about:** They worry about vendor lock-in and continuity. This is a smart question.
**Response:**
"Every tool in LetsBe uses open-source software with standard export formats. Your CRM is Odoo Community Edition — it exports to standard database formats and CSV. Your emails are in standard IMAP/SMTP formats. Your files are Nextcloud — they're already in your native file formats. Your projects are Plane — full JSON exports. There's no LetsBe-proprietary data format. If we disappeared tomorrow, you'd have a working server with open-source tools and your data in standard formats. Worst case: you find another hosting provider and keep running the same software. We don't trap you — we have to earn your continued subscription by actually being useful."
**Follow-up:** "Is this a concern about business continuity in general, or more about whether we'll be around long-term?"
---
## Section 3: Technical & Setup Objections
---
### 3.1 "This sounds technical. I'm not a tech person."
**What it's really about:** They assume that "self-hosted" means "you run the server yourself." They don't realize LetsBe is fully managed.
**Response:**
"LetsBe is a managed platform — you don't touch a server. The onboarding is: you pick your tools, we provision your server, your tools are pre-installed and pre-configured, and your AI team is ready. You interact with it through a mobile app or through WhatsApp/Telegram if you prefer. The 'self-hosted' part means your data is on your own server — not that you manage the server. We do the IT. Your job is telling the AI what you need."
**Follow-up:** "What did you think the setup process would look like?"
---
### 3.2 "What if something breaks? I can't deal with downtime."
**What it's really about:** They need confidence in reliability and support — not just that the product works, but that someone will fix it when it doesn't.
**Response:**
"The AI team itself handles most of what would go wrong. The IT Agent monitors your infrastructure 24/7, automatically restarts services that go down, renews SSL certificates before they expire, and reports on what it fixed. For founding members, you have direct access to me — not a support ticket system, a direct conversation — for anything the AI team can't resolve. We also snapshot your server state automatically so recovery is fast. Is there a specific failure scenario you're thinking about?"
**Follow-up:** "What's your current plan when your tools go down — is that something you handle yourself now?"
---
### 3.3 "I don't have time to set this up / learn a new system."
**What it's really about:** They've been burned by tools with long onboarding curves and they're protecting their time.
**Response:**
"Setup is on our side, not yours. When you sign up, we provision the server, deploy your tools, and hand you a working environment. Onboarding is: pick your tools from our catalog, pick your tier, and we handle the rest. The AI team learns your preferences over time — you don't configure it once and walk away hoping it works, you interact with it naturally and it adapts. The time investment for a founding member is roughly an hour in the first week, then normal daily use after that. What would help: seeing a demo where I show you what the first week actually looks like?"
**Follow-up:** "What does your current onboarding look like for new software — what's your threshold?"
---
### 3.4 "What about integrations? Will it work with [specific tool]?"
**What it's really about:** They have existing workflows with tools they use and don't want to lose them.
**Response:**
"LetsBe replaces the tools, not your existing processes. If you're migrating from HubSpot to Odoo Community Edition (our included CRM), the CRM functionality covers the core workflows — the AI handles them the same way. For tools LetsBe doesn't currently replace, the AI team can still interact with them via API connections. And if you want to keep a specific tool that doesn't have a LetsBe equivalent, that's fine — Activepieces (included) lets the AI build integrations to external tools. What tool are you thinking about specifically? I can tell you exactly how that scenario works."
**Follow-up:** "Which tool is non-negotiable for your business — the one you'd be most reluctant to change?"
---
## Section 4: Competitive / Alternative Objections
---
### 4.1 "I already use [SaaS tool] and it works fine."
**What it's really about:** They're comfortable with their current setup and don't see a compelling reason to change. This is often the toughest objection because it's not pain — it's inertia.
**Response:**
"'Works fine' usually means 'the tools exist.' The question is who's operating them. How many hours a week does someone on your team spend on data entry, scheduling follow-ups, updating the CRM, generating reports? Those are the hours LetsBe's AI reclaims. Your tools can keep working fine — and they'll be operated by an AI team instead of your (increasingly expensive and time-constrained) human staff. We're not saying your tools are broken. We're saying someone is doing work that AI can do better."
**Follow-up:** "Who in your business does the most repetitive operational work? What would they do with 5 more hours a week?"
---
### 4.2 "We're already using Zapier / Make / n8n for automation."
**What it's really about:** They think LetsBe is an automation tool like the ones they're already using.
**Response:**
"Zapier, Make, and n8n are tools for connecting apps with IF-THEN rules you build yourself. LetsBe isn't an automation builder — it's an AI team that figures out the connections on its own. You don't build workflows. You say 'follow up with anyone who opened our last email but didn't reply' and the AI does it — it decides which tools to use, in what sequence, with what data. Activepieces is included in LetsBe as a tool that the AI can use for structured integrations, but the intelligence layer on top is what makes it different. Does your team build your own automations today, or does someone else?"
**Follow-up:** "What automation are you proudest of that you'd hate to lose?"
---
### 4.3 "We're already on Microsoft 365 / Google Workspace."
**What it's really about:** They're deeply embedded in an ecosystem and switching costs are real.
**Response:**
"LetsBe isn't necessarily a Microsoft or Google replacement — it depends on your setup. For communication (email, calendar), you can keep your existing Microsoft or Google accounts if you prefer, and the AI agents can work with them through integrations. What LetsBe replaces is the long tail: CRM, project management, invoicing, scheduling, analytics, file storage — the 5-15 other subscriptions that don't come with Microsoft or Google. And Microsoft Copilot costs $21/user/month — for a 3-person team, that's $63/month just for AI assistance on top of the $18/user for M365 itself. LetsBe includes everything — tools plus AI — for a flat rate regardless of team size."
**Follow-up:** "If you stripped away email and calendar, what other tools is your team paying for?"
---
### 4.4 "I looked at Lindy / Sintra / another AI tool."
**What it's really about:** They're actively evaluating alternatives. This is a good sign — they're interested in the category.
**Response for Lindy:** "Lindy is one of the best AI agent platforms in the market. The key difference: Lindy connects AI to your existing SaaS tools — you still pay for all those subscriptions. LetsBe replaces them. At Lindy Pro ($99/mo) plus HubSpot Starter ($20/seat) plus Google Workspace ($8/seat) plus Asana ($13/seat) for a 3-person team, you're at $200-250/month — more expensive than LetsBe Scale with less privacy. The tools are cloud-hosted on someone else's servers. LetsBe is the tools plus the AI, on your server, for a flat rate."
**Response for Sintra:** "Sintra's AI team gives great suggestions and advice — but it doesn't actually do things. It can draft what you should say; it can't send the email through your server, update your CRM, or schedule the follow-up. LetsBe's AI team has hands — it operates real tools. You're comparing advice to execution."
**Follow-up:** "What specifically drew you to [competitor] — what problem were you trying to solve?"
---
### 4.5 "I'd rather hire a virtual assistant."
**What it's really about:** They value human judgment and a personal relationship. This is worth validating, not dismissing.
**Response:**
"A good VA is genuinely valuable — human judgment, flexibility, and personal connection are things AI won't replace. But let me be specific about what LetsBe does and what a VA does, because most business owners use VAs for tasks that are actually routine: scheduling, email follow-ups, data entry, reporting, social media posting, invoice management. That's the 80-90% of VA work that is repeatable and rule-based. LetsBe does that 80-90% at €29-109/month, 24/7, never sick, no onboarding, no turnover. If your VA is doing truly creative work — client relationships, writing strategy, judgment calls — keep them and give them LetsBe to handle the operational work so they can do more of the valuable stuff. What does your VA actually spend most of their time on?"
**Follow-up:** "If AI handled the routine 80%, what would you want a human for?"
---
### 4.6 "I'll just build something with Claude / GPT API myself."
**What it's really about:** They're technical and see themselves as capable of building this. Treat with respect.
**Response:**
"You probably could. Here's what that project looks like: 25+ tool integrations with cheat sheets for how each tool's API behaves, a secrets management system that redacts credentials before they hit LLM providers, a context engine that maintains cross-tool state, a prompt caching layer, mobile/messaging app interfaces, and infrastructure management. We're 6-12 months of serious engineering work in. If building distributed AI agent infrastructure is your business, you'd probably enjoy it. If running your actual business is your business, LetsBe is the platform that already did the hard part. What would you build first?"
**Follow-up:** "Is this an infrastructure project you want to own long-term, or something you want to use?"
---
## Section 5: Timing & Risk Objections
---
### 5.1 "You're a new company — I'll wait until you're more established."
**What it's really about:** They're worried about betting on a startup that might disappear or pivot. This is a legitimate concern.
**Response:**
"That's a reasonable position, and I won't try to talk you out of prudence. Here's what I'd ask you to consider: the founding member program exists specifically because early customers take more risk and deserve more reward. You get 2× your AI token allocation for 12 months — because being an early member is genuinely different from joining when we're established. And here's the data portability point again: every tool is open-source with standard exports. If we shut down, your data is still yours in standard formats on a server you own. The downside risk is capped in a way that SaaS-only products can't offer. What would need to be true for you to feel comfortable joining at this stage?"
**Follow-up:** "What would 'established enough' look like to you — what signal are you waiting for?"
---
### 5.2 "I'll wait until you have [specific feature]."
**What it's really about:** They're interested but have a specific gap. Find out if it's a dealbreaker or a nice-to-have.
**Response:**
"Tell me more about that feature — what does it enable for you? I want to make sure I understand whether this is a workflow you can't operate without, or whether there's a workaround we haven't shown you. Founding members have direct input into the roadmap — if this feature matters to enough of our early customers, it moves to the top of the list. You'd have more influence on when it gets built as a founding member than waiting until after launch. But I also want to be honest: if this is a hard requirement and we don't have a timeline for it, you should know that now."
**Follow-up:** "If we shipped that feature in the next 60 days, would you be ready to sign up?"
---
### 5.3 "I tried [other AI tool] and it didn't deliver on the promise."
**What it's really about:** They've been burned by AI hype before. Credibility is low for the whole category.
**Response:**
"That's fair, and it's a widespread experience. Most AI tools in the business category are still primarily demos and chat interfaces — they sound transformative and deliver marginal improvements. LetsBe is different in a specific way: it has hands. It doesn't just advise on your tools, it operates them. If you were burned by an AI tool that would 'help with your CRM' but turned out to mean 'give you suggestions about what to put in your CRM,' I understand the skepticism. What I'd offer is this: a 14-day guarantee. Sign up, run your real workflows, and if it doesn't deliver, we refund everything. What would you need to see in those 14 days to consider it a success?"
**Follow-up:** "What would it need to do in the first week to make you say 'this is different'?"
---
### 5.4 "What if your team is too small to support me?"
**What it's really about:** They're worried about getting stuck with no help when something goes wrong, especially with a small startup.
**Response:**
"For founding members: you have a direct channel to me, the founder. Not a support queue — an actual conversation. I'll know your name, your setup, and your use case. Most technical issues the AI team handles itself — it's monitoring and self-healing by design. But if you need a human, you get the most informed human possible. That's a different level of support than you'd get from any established platform. The trade-off is true: we're a smaller team than Zapier or HubSpot. But for our first 100 customers, that means you get access that $1,000/month SaaS customers don't."
**Follow-up:** "What does your current support experience look like with your existing tools?"
---
## Section 6: Product & Capability Objections
---
### 6.1 "AI makes mistakes. I can't trust it to run business operations."
**What it's really about:** They've seen AI hallucinate or produce bad outputs and are worried about applying that to real operations.
**Response:**
"You're right that AI makes mistakes — and that's exactly why the trust level system exists. Every high-stakes action (sending an email, deleting a file, modifying a record) has a configurable approval requirement. The AI does the work, you approve the output before it goes anywhere. As you see specific workflows working reliably, you can extend autonomy selectively. Think about how you'd onboard a new employee: you don't hand them the keys to everything on day one. You build trust through low-stakes tasks first, then expand responsibility. LetsBe works the same way — and unlike a new employee, the AI's 'mistakes' are logged, reviewable, and reversible."
**Follow-up:** "What's an example of an AI mistake that's specifically worried you? Let me tell you how we'd handle that scenario."
---
### 6.2 "My current tools work fine — I don't see the problem."
**What it's really about:** They don't have a felt pain. The conversation needs to surface latent cost or time issues they may not be consciously accounting for.
**Response:**
"Let me ask you a few questions. How many hours per week does someone on your team spend on tasks that are repetitive — data entry, follow-ups, scheduling, status reports? What's the most common thing you find yourself saying 'I need to handle that but haven't gotten to it'? And when was the last time you audited what your tools are actually costing per month, all-in? Most business owners I talk to know their tools 'work' but haven't calculated the labor cost of operating them. LetsBe isn't fixing broken tools — it's replacing the human time required to operate them."
**Follow-up:** "If you could automate one thing in your business today, what would it be?"
---
### 6.3 "I need [tool X] and you don't have it."
**What it's really about:** They have a specific tool dependency that isn't in the LetsBe catalog.
**Response:**
"What does [tool X] do for you specifically? If it's a workflow or capability, there's often a LetsBe equivalent that handles the same job differently. If there truly isn't a replacement, there are two options: Activepieces (included) can build integrations to external tools so the AI can operate [tool X] via API, or this might be a case where you keep [tool X] and use LetsBe for everything else. We're not asking you to give up everything at once. Many customers start with the tools they're most excited to replace and migrate others over time. What would you want to replace first if you could?"
**Follow-up:** "Is [tool X] something your whole team depends on or something you specifically use?"
---
## Section 7: Founding MemberSpecific Objections
---
### 7.1 "I don't want to be a guinea pig for an unfinished product."
**What it's really about:** They think "beta" means "broken." They want a finished product.
**Response:**
"Fair distinction: beta here means 'early access,' not 'broken prototype.' The product handles real business operations from day one — the AI team, the tool stack, the security layer, the privacy architecture. What 'beta' means is that you might encounter rough edges in the UX, and some tool cheat sheets are still being refined. You're not testing a concept — you're using a working product. The founding member benefit acknowledges that early customers experience a higher level of imperfection than later ones and compensates for that with 2× tokens. The question isn't whether it works — it's whether you're willing to exchange some polish for 12 months of extra AI capacity and direct founder access."
**Follow-up:** "What 'rough edge' would be a dealbreaker versus one you could live with?"
---
### 7.2 "100 founding member spots isn't many — why so few?"
**What it's really about:** They're curious about the reasoning, or they want to understand if this is artificial scarcity.
**Response:**
"It's not artificial. 100 founding members means 100 direct relationships where we're providing a high-touch, founder-accessible experience. At 101, I can't maintain that level of personal engagement. Once we hit 100, the founding member program closes and we shift to scaled support. The constraint is the quality of the experience, not manufacturing urgency. If spots run out before you decide, you'll still get a great product — just without the 2× tokens and the direct line to me."
**Follow-up:** "What's your timeline for making a decision?"
---
### 7.3 "2× tokens sounds nice but I don't know if I'll actually use them."
**What it's really about:** They're not sure how much AI they'll actually use. They don't want to optimize for a benefit they won't capture.
**Response:**
"That's an honest assessment. The 2× benefit is most valuable for customers who run high-volume AI workflows — daily briefings, continuous CRM updates, regular content generation. If you're starting with light use, the base allocation on any tier will be more than enough and the 2× benefit is essentially insurance. What I'd say is: the 2× benefit becomes more valuable over time as you discover what the AI team can do. Most customers start conservative and find themselves giving the AI more responsibility as trust builds. The benefit is insurance for that growth — so you're not suddenly hitting limits when you find the workflows you love."
**Follow-up:** "What do you imagine using the AI for most in the first month?"
---
## Section 8: Quick Reference — One-Liners
For conversations where you need a fast, memorable response:
| Objection | One-liner |
|-----------|-----------|
| "ChatGPT is free" | "ChatGPT is a notepad. LetsBe is an office." |
| "Too expensive" | "What does your current tool stack cost? Most customers save more than they spend." |
| "I don't trust AI with my data" | "It's on your server. The AI never sees your data — just the results of operating it." |
| "What if it breaks?" | "The IT Agent monitors 24/7 and fixes most issues before you notice them." |
| "I'll wait until you're bigger" | "Founding members exist precisely because you're taking the early risk. 2× tokens for 12 months." |
| "I use Zapier already" | "Zapier builds IF-THEN rules you create. LetsBe figures out the logic itself." |
| "I'd rather hire a VA" | "A good VA costs $1,000-3,000/month. LetsBe does the routine 80% for €29-109 — let a VA do the strategic 20%." |
| "AI makes mistakes" | "Everything high-stakes requires your approval until you decide to trust it for that task." |
| "Sounds too technical" | "You never touch a server. We manage it. You talk to the AI." |
| "My current tools work fine" | "Who's operating them? That human labor is what LetsBe replaces." |
| "vs. Microsoft Copilot" | "Copilot helps you work in Word and Excel. LetsBe works for you — across 25+ tools, on your own server." |
| "vs. Lindy" | "Lindy connects AI to your SaaS tools. LetsBe replaces them. One price, everything included." |
| "vs. Odoo" | "Odoo Community Edition gives you the tools. LetsBe gives you the tools and the team to run them." |
---
## Section 9: Escalation Protocol
**When to escalate (i.e., get help, loop in a second perspective, or step back):**
- The prospect has a genuine legal/compliance requirement that needs specific documentation → offer to connect them with our legal contact or share the DPA
- The prospect needs a technical capability that doesn't exist yet → give an honest timeline or acknowledge the gap; don't promise features that aren't built
- The prospect has a budget constraint that genuinely can't accommodate our lowest tier → acknowledge it honestly; put them on the waitlist for a lighter-weight product
- The conversation has become adversarial → slow down, acknowledge their frustration, and find out what's actually driving it
**What to never do:**
- Overpromise AI capabilities to close — the product needs to deliver on what you said
- Minimize genuine privacy concerns — engage with them specifically and honestly
- Claim GDPR compliance for edge cases without checking with legal first
- Promise feature delivery timelines you don't control
---
## Changelog
| Version | Date | Changes |
|---------|------|---------|
| 1.0 | 2026-02-26 | Initial guide. 7 objection categories, 25 detailed objections with responses, quick-reference one-liners, escalation protocol. |
---
*This document should be updated after every sales conversation where a new objection surfaces or a new response proves more effective. The best objection handling wisdom comes from real conversations — log what works.*

View File

@@ -0,0 +1,813 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>LetsBe Biz — ROI Calculator</title>
<style>
:root {
--celes-blue: #449DD1;
--dark-navy: #1C3144;
--light-sky: #6CB4E4;
--pale-blue: #F0F5FA;
--steel-blue: #C4D5E8;
--mid-gray: #94A3B8;
--dark-gray: #334155;
--success: #22C55E;
--warning: #EAB308;
--error: #EF4444;
--white: #FFFFFF;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
color: var(--dark-navy);
background: var(--pale-blue);
line-height: 1.6;
}
.container {
max-width: 1100px;
margin: 0 auto;
padding: 20px;
}
/* Header */
.header {
text-align: center;
padding: 40px 20px 30px;
background: linear-gradient(135deg, var(--dark-navy) 0%, #2a4a6b 100%);
color: var(--white);
border-radius: 16px;
margin-bottom: 30px;
}
.header h1 {
font-size: 2.2rem;
margin-bottom: 8px;
font-weight: 700;
}
.header h1 span { color: var(--light-sky); }
.header p {
font-size: 1.1rem;
color: var(--steel-blue);
max-width: 600px;
margin: 0 auto;
}
/* Cards */
.card {
background: var(--white);
border-radius: 12px;
padding: 28px;
margin-bottom: 24px;
box-shadow: 0 1px 3px rgba(28,49,68,0.08);
border: 1px solid var(--steel-blue);
}
.card h2 {
font-size: 1.3rem;
color: var(--dark-navy);
margin-bottom: 6px;
display: flex;
align-items: center;
gap: 10px;
}
.card h2 .step {
background: var(--celes-blue);
color: white;
width: 32px;
height: 32px;
border-radius: 50%;
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 0.9rem;
font-weight: 700;
flex-shrink: 0;
}
.card .subtitle {
color: var(--mid-gray);
font-size: 0.9rem;
margin-bottom: 20px;
margin-left: 42px;
}
/* Tool Grid */
.tool-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: 12px;
}
.tool-row {
display: flex;
align-items: center;
justify-content: space-between;
padding: 10px 14px;
background: var(--pale-blue);
border-radius: 8px;
transition: all 0.15s;
border: 1px solid transparent;
}
.tool-row:hover { border-color: var(--steel-blue); }
.tool-row.active {
background: #e8f4fd;
border-color: var(--celes-blue);
}
.tool-left {
display: flex;
align-items: center;
gap: 10px;
flex: 1;
}
.tool-left input[type="checkbox"] {
width: 18px;
height: 18px;
accent-color: var(--celes-blue);
cursor: pointer;
}
.tool-name {
font-weight: 600;
font-size: 0.9rem;
color: var(--dark-navy);
}
.tool-desc {
font-size: 0.75rem;
color: var(--mid-gray);
}
.tool-price {
text-align: right;
min-width: 70px;
}
.tool-price input {
width: 70px;
padding: 4px 6px;
border: 1px solid var(--steel-blue);
border-radius: 6px;
text-align: right;
font-size: 0.85rem;
color: var(--dark-navy);
}
.tool-price input:focus {
outline: none;
border-color: var(--celes-blue);
box-shadow: 0 0 0 2px rgba(68,157,209,0.15);
}
/* Category headers */
.category-header {
font-size: 0.8rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.05em;
color: var(--celes-blue);
padding: 12px 0 6px;
grid-column: 1 / -1;
border-bottom: 1px solid var(--steel-blue);
margin-top: 8px;
}
.category-header:first-child { margin-top: 0; }
/* Custom entry */
.custom-entry {
margin-top: 16px;
padding: 16px;
background: var(--pale-blue);
border-radius: 8px;
}
.custom-entry h3 {
font-size: 0.9rem;
color: var(--dark-navy);
margin-bottom: 10px;
}
.custom-inputs {
display: flex;
gap: 10px;
flex-wrap: wrap;
align-items: flex-end;
}
.custom-inputs label {
font-size: 0.8rem;
color: var(--mid-gray);
display: block;
margin-bottom: 3px;
}
.custom-inputs input {
padding: 6px 10px;
border: 1px solid var(--steel-blue);
border-radius: 6px;
font-size: 0.85rem;
width: 200px;
}
.custom-inputs input[type="number"] { width: 90px; }
.btn-add {
padding: 6px 16px;
background: var(--celes-blue);
color: white;
border: none;
border-radius: 6px;
cursor: pointer;
font-size: 0.85rem;
font-weight: 600;
}
.btn-add:hover { background: #3a8bc0; }
/* Results */
.results-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 14px;
margin-bottom: 20px;
}
@media (max-width: 768px) {
.results-grid { grid-template-columns: repeat(2, 1fr); }
}
.tier-card {
border-radius: 10px;
padding: 20px;
text-align: center;
border: 2px solid var(--steel-blue);
background: var(--white);
transition: all 0.2s;
position: relative;
}
.tier-card.recommended {
border-color: var(--celes-blue);
box-shadow: 0 4px 12px rgba(68,157,209,0.2);
}
.tier-card.recommended::after {
content: 'BEST VALUE';
position: absolute;
top: -12px;
left: 50%;
transform: translateX(-50%);
background: var(--celes-blue);
color: white;
font-size: 0.7rem;
font-weight: 700;
padding: 2px 12px;
border-radius: 10px;
letter-spacing: 0.05em;
}
.tier-name {
font-weight: 700;
font-size: 1rem;
color: var(--dark-navy);
margin-bottom: 2px;
}
.tier-spec {
font-size: 0.75rem;
color: var(--mid-gray);
margin-bottom: 10px;
}
.tier-price {
font-size: 2rem;
font-weight: 800;
color: var(--celes-blue);
}
.tier-price span { font-size: 0.9rem; font-weight: 400; color: var(--mid-gray); }
.tier-savings {
margin-top: 8px;
font-size: 0.85rem;
font-weight: 600;
}
.savings-positive { color: var(--success); }
.savings-negative { color: var(--error); }
.tier-percent {
font-size: 1.5rem;
font-weight: 800;
margin-top: 4px;
}
.tier-features {
text-align: left;
margin-top: 12px;
padding-top: 12px;
border-top: 1px solid var(--steel-blue);
font-size: 0.8rem;
color: var(--dark-gray);
}
.tier-features div {
padding: 2px 0;
}
/* Summary bar */
.summary-bar {
background: linear-gradient(135deg, var(--dark-navy) 0%, #2a4a6b 100%);
border-radius: 12px;
padding: 24px 28px;
color: white;
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
gap: 16px;
}
.summary-item {
text-align: center;
}
.summary-label {
font-size: 0.8rem;
color: var(--steel-blue);
text-transform: uppercase;
letter-spacing: 0.05em;
}
.summary-value {
font-size: 1.8rem;
font-weight: 800;
}
.summary-value.highlight { color: var(--light-sky); }
.summary-value.savings { color: var(--success); }
/* Breakdown table */
.breakdown-table {
width: 100%;
border-collapse: collapse;
margin-top: 16px;
}
.breakdown-table th {
text-align: left;
padding: 8px 12px;
font-size: 0.8rem;
text-transform: uppercase;
letter-spacing: 0.03em;
color: var(--mid-gray);
border-bottom: 2px solid var(--steel-blue);
}
.breakdown-table td {
padding: 8px 12px;
font-size: 0.9rem;
border-bottom: 1px solid var(--pale-blue);
}
.breakdown-table tr:hover td { background: var(--pale-blue); }
.breakdown-table .cost-col { text-align: right; font-weight: 600; color: var(--error); }
.breakdown-table .total-row td {
font-weight: 700;
border-top: 2px solid var(--dark-navy);
font-size: 1rem;
}
/* VA comparison */
.va-compare {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
margin-top: 16px;
}
@media (max-width: 600px) { .va-compare { grid-template-columns: 1fr; } }
.va-box {
padding: 20px;
border-radius: 10px;
text-align: center;
}
.va-box.va-human {
background: #fef3f2;
border: 1px solid #fecaca;
}
.va-box.va-letsbe {
background: #f0fdf4;
border: 1px solid #bbf7d0;
}
.va-box h3 { font-size: 0.9rem; margin-bottom: 6px; }
.va-box .va-price { font-size: 1.6rem; font-weight: 800; }
.va-box .va-detail { font-size: 0.8rem; color: var(--mid-gray); margin-top: 4px; }
.va-human .va-price { color: var(--error); }
.va-letsbe .va-price { color: var(--success); }
/* Footnotes */
.footnote {
font-size: 0.75rem;
color: var(--mid-gray);
margin-top: 16px;
padding-top: 12px;
border-top: 1px solid var(--steel-blue);
}
/* Toggle */
.toggle-group {
display: flex;
gap: 0;
margin-bottom: 16px;
background: var(--pale-blue);
border-radius: 8px;
padding: 3px;
width: fit-content;
}
.toggle-btn {
padding: 6px 18px;
border: none;
background: transparent;
color: var(--mid-gray);
font-size: 0.85rem;
font-weight: 600;
cursor: pointer;
border-radius: 6px;
transition: all 0.15s;
}
.toggle-btn.active {
background: var(--white);
color: var(--dark-navy);
box-shadow: 0 1px 2px rgba(0,0,0,0.08);
}
</style>
</head>
<body>
<div class="container">
<!-- Header -->
<div class="header">
<h1>How much could you <span>save</span> with LetsBe?</h1>
<p>Select the SaaS tools you're currently paying for. We'll show you the real numbers.</p>
</div>
<!-- Step 1: Select Tools -->
<div class="card">
<h2><span class="step">1</span> What are you paying for today?</h2>
<p class="subtitle">Check the tools you use and adjust prices to match your actual spend. Pre-filled with typical SMB pricing.</p>
<div style="display: flex; align-items: center; gap: 14px; margin-bottom: 16px; padding: 12px 16px; background: var(--pale-blue); border-radius: 8px; border: 1px solid var(--steel-blue);">
<label for="teamSize" style="font-weight: 600; font-size: 0.9rem; color: var(--dark-navy); white-space: nowrap;">Team size:</label>
<input type="number" id="teamSize" value="3" min="1" max="100" step="1"
style="width: 60px; padding: 6px 8px; border: 1px solid var(--celes-blue); border-radius: 6px; text-align: center; font-size: 0.95rem; font-weight: 600; color: var(--dark-navy);"
onchange="calculate()" oninput="calculate()">
<span style="font-size: 0.8rem; color: var(--mid-gray);">Per-seat tools (marked <strong style="color: var(--celes-blue);">×N</strong>) are multiplied by team size. Flat-rate tools are not.</span>
</div>
<div class="toggle-group">
<button class="toggle-btn active" onclick="setView('preset')">Common Tools</button>
<button class="toggle-btn" onclick="setView('custom')">Custom Entry</button>
</div>
<div id="presetView">
<div class="tool-grid" id="toolGrid"></div>
</div>
<div id="customView" style="display:none;">
<div id="customList"></div>
<div class="custom-entry">
<h3>Add a tool or subscription</h3>
<div class="custom-inputs">
<div>
<label>Tool / Service Name</label>
<input type="text" id="customName" placeholder="e.g. Notion">
</div>
<div>
<label>Monthly Cost (€)</label>
<input type="number" id="customCost" placeholder="29" min="0" step="0.01">
</div>
<button class="btn-add" onclick="addCustomTool()">+ Add</button>
</div>
</div>
</div>
</div>
<!-- Step 2: Results -->
<div class="card">
<h2><span class="step">2</span> Your savings with LetsBe Biz</h2>
<p class="subtitle">All tiers include your tools, AI agents, hosting, backups, monitoring, and support.</p>
<div class="summary-bar" id="summaryBar">
<div class="summary-item">
<div class="summary-label">Current Monthly Spend</div>
<div class="summary-value highlight" id="currentTotal">€0</div>
</div>
<div class="summary-item">
<div class="summary-label">Best LetsBe Price</div>
<div class="summary-value" id="bestPrice">€45</div>
</div>
<div class="summary-item">
<div class="summary-label">Monthly Savings</div>
<div class="summary-value savings" id="monthlySavings">€0</div>
</div>
<div class="summary-item">
<div class="summary-label">Annual Savings</div>
<div class="summary-value savings" id="annualSavings">€0</div>
</div>
</div>
<div class="results-grid" id="tierCards" style="margin-top: 20px;"></div>
<!-- VA comparison -->
<div style="margin-top: 10px;">
<h3 style="font-size: 1rem; color: var(--dark-navy); margin-bottom: 4px;">Compared to a human virtual assistant</h3>
<p style="font-size: 0.85rem; color: var(--mid-gray); margin-bottom: 12px;">LetsBe replaces the tasks you'd outsource to a VA — scheduling, follow-ups, data entry, email management, reporting — 24/7.</p>
<div class="va-compare">
<div class="va-box va-human">
<h3>Part-Time VA (10 hrs/week)</h3>
<div class="va-price">€1,0002,500/mo</div>
<div class="va-detail">$2560/hr · Limited hours · Training required · Turnover risk</div>
</div>
<div class="va-box va-letsbe">
<h3>LetsBe AI Team (24/7)</h3>
<div class="va-price" id="vaLetsbePrice">€45/mo</div>
<div class="va-detail">All tools included · Always available · Learns your business · No turnover</div>
</div>
</div>
</div>
</div>
<!-- Step 3: Breakdown -->
<div class="card">
<h2><span class="step">3</span> Your current cost breakdown</h2>
<p class="subtitle">Every tool you selected, with the price you're paying.</p>
<table class="breakdown-table" id="breakdownTable">
<thead>
<tr><th>Tool / Service</th><th>Replaced By</th><th style="text-align:right">Monthly Cost</th></tr>
</thead>
<tbody id="breakdownBody"></tbody>
</table>
</div>
<!-- Footer -->
<div class="footnote" style="text-align: center; padding: 20px 0;">
<p><strong>LetsBe Biz</strong> — Your AI team, your private server, your rules.</p>
<p>Prices as of February 2026. Competitor pricing sourced from public pricing pages. LetsBe prices in EUR, billed monthly. Annual billing saves 15%.</p>
<p style="margin-top: 8px;">LetsBe Solutions LLC · 221 North Broad Street, Suite 3A, Middletown, DE 19709</p>
</div>
</div>
<script>
// ===== TOOL DATA =====
// Prices verified February 2026 (monthly billing)
// perSeat: true = price is per user/seat (multiplied by team size)
// perSeat: false = flat rate (same price regardless of team size)
const TOOLS = [
// CRM & Sales
{ cat: "CRM & Sales", name: "HubSpot CRM", desc: "Starter", price: 20, perSeat: true, replacement: "Odoo CRM" },
{ cat: "CRM & Sales", name: "Salesforce", desc: "Starter Suite", price: 35, perSeat: true, replacement: "Odoo CRM" },
{ cat: "CRM & Sales", name: "Pipedrive", desc: "Lite", price: 24, perSeat: true, replacement: "Odoo CRM" },
{ cat: "CRM & Sales", name: "Freshsales", desc: "Growth", price: 18, perSeat: true, replacement: "Odoo CRM" },
// Email & Communication
{ cat: "Email & Communication", name: "Google Workspace", desc: "Business Starter", price: 8, perSeat: true, replacement: "Stalwart Mail + Chatwoot" },
{ cat: "Email & Communication", name: "Microsoft 365", desc: "Business Basic", price: 6, perSeat: true, replacement: "Stalwart Mail" },
{ cat: "Email & Communication", name: "Slack", desc: "Pro", price: 9, perSeat: true, replacement: "Chatwoot / Mattermost" },
{ cat: "Email & Communication", name: "Intercom", desc: "Essential", price: 39, perSeat: true, replacement: "Chatwoot" },
{ cat: "Email & Communication", name: "Zendesk", desc: "Suite Team", price: 69, perSeat: true, replacement: "Chatwoot" },
// Email Marketing
{ cat: "Email Marketing", name: "Mailchimp", desc: "Essentials · 500 contacts", price: 13, perSeat: false, replacement: "Listmonk" },
{ cat: "Email Marketing", name: "Kit (fka ConvertKit)", desc: "Creator · 1k subscribers", price: 39, perSeat: false, replacement: "Listmonk" },
{ cat: "Email Marketing", name: "ActiveCampaign", desc: "Starter · 1k contacts", price: 19, perSeat: false, replacement: "Listmonk" },
// Project Management
{ cat: "Project Management", name: "Asana", desc: "Starter", price: 13, perSeat: true, replacement: "Plane" },
{ cat: "Project Management", name: "Monday.com", desc: "Basic (min 3 seats)", price: 12, perSeat: true, replacement: "Plane" },
{ cat: "Project Management", name: "Trello", desc: "Standard", price: 6, perSeat: true, replacement: "Plane" },
{ cat: "Project Management", name: "Basecamp", desc: "Pro Unlimited · flat rate", price: 349, perSeat: false, replacement: "Plane" },
{ cat: "Project Management", name: "ClickUp", desc: "Unlimited", price: 10, perSeat: true, replacement: "Plane" },
// File Storage & Docs
{ cat: "File Storage & Docs", name: "Dropbox", desc: "Plus", price: 20, perSeat: true, replacement: "Nextcloud" },
{ cat: "File Storage & Docs", name: "Google One", desc: "100GB", price: 2, perSeat: true, replacement: "Nextcloud" },
{ cat: "File Storage & Docs", name: "Notion", desc: "Plus", price: 12, perSeat: true, replacement: "Nextcloud + Wiki.js" },
// Invoicing & Accounting
{ cat: "Invoicing & Accounting", name: "QuickBooks", desc: "Simple Start", price: 38, perSeat: false, replacement: "Bigcapital" },
{ cat: "Invoicing & Accounting", name: "FreshBooks", desc: "Lite", price: 19, perSeat: false, replacement: "Bigcapital" },
{ cat: "Invoicing & Accounting", name: "Xero", desc: "Early (Starter)", price: 13, perSeat: false, replacement: "Bigcapital" },
{ cat: "Invoicing & Accounting", name: "Wave", desc: "Pro plan", price: 19, perSeat: false, replacement: "Bigcapital" },
// Website & CMS
{ cat: "Website & CMS", name: "Squarespace", desc: "Business", price: 25, perSeat: false, replacement: "Ghost" },
{ cat: "Website & CMS", name: "Wix", desc: "Business", price: 39, perSeat: false, replacement: "Ghost" },
{ cat: "Website & CMS", name: "WordPress.com", desc: "Business", price: 25, perSeat: false, replacement: "Ghost" },
// Scheduling & Calendar
{ cat: "Scheduling & Calendar", name: "Calendly", desc: "Standard", price: 16, perSeat: true, replacement: "Cal.com" },
{ cat: "Scheduling & Calendar", name: "Acuity Scheduling", desc: "Emerging", price: 20, perSeat: false, replacement: "Cal.com" },
// Analytics
{ cat: "Analytics", name: "Google Analytics", desc: "Standard (free)", price: 0, perSeat: false, replacement: "Umami (free, self-hosted)" },
{ cat: "Analytics", name: "Hotjar", desc: "Plus", price: 39, perSeat: false, replacement: "Umami" },
{ cat: "Analytics", name: "Mixpanel", desc: "Growth · ~1M events/mo", price: 20, perSeat: false, replacement: "Umami" },
// Automation
{ cat: "Automation", name: "Zapier", desc: "Professional · 750 tasks", price: 30, perSeat: false, replacement: "n8n + Activepieces" },
{ cat: "Automation", name: "Make.com", desc: "Core · 10k ops", price: 11, perSeat: false, replacement: "n8n + Activepieces" },
// Design
{ cat: "Design", name: "Canva", desc: "Pro", price: 15, perSeat: true, replacement: "Penpot" },
// Forms & Surveys
{ cat: "Forms & Surveys", name: "Typeform", desc: "Basic", price: 29, perSeat: false, replacement: "Formbricks" },
{ cat: "Forms & Surveys", name: "JotForm", desc: "Bronze", price: 39, perSeat: false, replacement: "Formbricks" },
// Documents & E-Signing
{ cat: "Documents & E-Signing", name: "DocuSign", desc: "Personal", price: 15, perSeat: false, replacement: "Documenso" },
{ cat: "Documents & E-Signing", name: "PandaDoc", desc: "Essentials", price: 25, perSeat: true, replacement: "Documenso" },
// Password Management
{ cat: "Password Management", name: "1Password", desc: "Teams (up to 10 users)", price: 20, perSeat: false, replacement: "Vaultwarden" },
{ cat: "Password Management", name: "LastPass", desc: "Teams", price: 4, perSeat: true, replacement: "Vaultwarden" },
// AI Assistants
{ cat: "AI Assistants", name: "ChatGPT Plus", desc: "Monthly", price: 20, perSeat: true, replacement: "LetsBe AI (included)" },
{ cat: "AI Assistants", name: "Claude Pro", desc: "Monthly", price: 20, perSeat: true, replacement: "LetsBe AI (included)" },
{ cat: "AI Assistants", name: "Microsoft Copilot", desc: "M365 add-on", price: 21, perSeat: true, replacement: "LetsBe AI (included)" },
];
// ===== LETSBE TIERS =====
const TIERS = [
{ name: "Lite", price: 29, annual: Math.round(29 * 0.85), spec: "4c / 8GB / 5-8 tools", tools: "5-8", tokens: "8M", target: "Solo freelancer" },
{ name: "Build", price: 45, annual: Math.round(45 * 0.85), spec: "8c / 16GB / 10-15 tools", tools: "10-15", tokens: "15M", target: "SMB (1-10 people)" },
{ name: "Scale", price: 75, annual: Math.round(75 * 0.85), spec: "12c / 32GB / 15-25 tools", tools: "15-25", tokens: "25M", target: "Agency / e-commerce" },
{ name: "Enterprise", price: 109, annual: Math.round(109 * 0.85), spec: "16c / 64GB / All tools", tools: "28+", tokens: "40M", target: "Power user / regulated" },
];
let customTools = [];
// ===== RENDER =====
function renderToolGrid() {
const grid = document.getElementById('toolGrid');
let currentCat = '';
let html = '';
TOOLS.forEach((tool, i) => {
if (tool.cat !== currentCat) {
currentCat = tool.cat;
html += `<div class="category-header">${currentCat}</div>`;
}
const seatBadge = tool.perSeat
? '<span style="font-size:0.7rem;font-weight:700;color:var(--celes-blue);margin-left:4px;vertical-align:middle;" title="Per seat — multiplied by team size">×N</span>'
: '';
const priceLabel = tool.perSeat ? '/seat' : '/mo';
html += `
<div class="tool-row" id="row-${i}" onclick="toggleTool(${i})">
<div class="tool-left">
<input type="checkbox" id="cb-${i}" onchange="calculate()" onclick="event.stopPropagation()">
<div>
<div class="tool-name">${tool.name}${seatBadge}</div>
<div class="tool-desc">${tool.desc} · Replaced by ${tool.replacement}</div>
</div>
</div>
<div class="tool-price">
<input type="number" id="price-${i}" value="${tool.price}" min="0" step="0.01"
onclick="event.stopPropagation()" onchange="calculate()" onfocus="this.select()"
title="${tool.perSeat ? 'Price per seat/user — multiplied by team size' : 'Flat monthly rate'}">
</div>
</div>
`;
});
grid.innerHTML = html;
}
function toggleTool(i) {
const cb = document.getElementById(`cb-${i}`);
cb.checked = !cb.checked;
const row = document.getElementById(`row-${i}`);
row.classList.toggle('active', cb.checked);
calculate();
}
function setView(view) {
document.querySelectorAll('.toggle-btn').forEach(b => b.classList.remove('active'));
event.target.classList.add('active');
document.getElementById('presetView').style.display = view === 'preset' ? '' : 'none';
document.getElementById('customView').style.display = view === 'custom' ? '' : 'none';
}
function addCustomTool() {
const name = document.getElementById('customName').value.trim();
const cost = parseFloat(document.getElementById('customCost').value) || 0;
if (!name) return;
customTools.push({ name, cost, enabled: true });
document.getElementById('customName').value = '';
document.getElementById('customCost').value = '';
renderCustomList();
calculate();
}
function removeCustomTool(i) {
customTools.splice(i, 1);
renderCustomList();
calculate();
}
function renderCustomList() {
const list = document.getElementById('customList');
if (customTools.length === 0) {
list.innerHTML = '<p style="color: var(--mid-gray); font-size: 0.85rem; padding: 10px 0;">No custom tools added yet. Use the form below to add your subscriptions.</p>';
return;
}
let html = '<div style="display: flex; flex-direction: column; gap: 8px; margin-bottom: 12px;">';
customTools.forEach((t, i) => {
html += `
<div class="tool-row active">
<div class="tool-left">
<div>
<div class="tool-name">${t.name}</div>
<div class="tool-desc">Custom entry</div>
</div>
</div>
<div style="display: flex; align-items: center; gap: 10px;">
<span style="font-weight: 600;">€${t.cost.toFixed(2)}/mo</span>
<button onclick="removeCustomTool(${i})" style="background: none; border: none; color: var(--error); cursor: pointer; font-size: 1.1rem; padding: 2px 6px;">×</button>
</div>
</div>
`;
});
html += '</div>';
list.innerHTML = html;
}
// ===== CALCULATE =====
function calculate() {
let totalCurrent = 0;
let selectedTools = [];
const teamSize = Math.max(1, parseInt(document.getElementById('teamSize').value) || 1);
// Preset tools
TOOLS.forEach((tool, i) => {
const cb = document.getElementById(`cb-${i}`);
const priceEl = document.getElementById(`price-${i}`);
const row = document.getElementById(`row-${i}`);
if (cb && cb.checked) {
const unitPrice = parseFloat(priceEl.value) || 0;
const effectivePrice = tool.perSeat ? unitPrice * teamSize : unitPrice;
totalCurrent += effectivePrice;
const label = tool.perSeat ? `${tool.name} (×${teamSize})` : tool.name;
selectedTools.push({ name: label, replacement: tool.replacement, cost: effectivePrice });
row.classList.add('active');
} else if (row) {
row.classList.remove('active');
}
});
// Custom tools
customTools.forEach(t => {
if (t.enabled) {
totalCurrent += t.cost;
selectedTools.push({ name: t.name, replacement: "LetsBe (included)", cost: t.cost });
}
});
// Update summary
document.getElementById('currentTotal').textContent = `${totalCurrent.toFixed(0)}`;
// Find best tier
const toolCount = selectedTools.length;
let recommendedIdx = 1; // Default to Build
if (toolCount <= 8) recommendedIdx = 0;
else if (toolCount <= 15) recommendedIdx = 1;
else if (toolCount <= 25) recommendedIdx = 2;
else recommendedIdx = 3;
const bestPrice = TIERS[recommendedIdx].price;
const savings = totalCurrent - bestPrice;
document.getElementById('bestPrice').textContent = `${bestPrice}`;
document.getElementById('monthlySavings').textContent = savings >= 0 ? `${savings.toFixed(0)}` : `-€${Math.abs(savings).toFixed(0)}`;
document.getElementById('annualSavings').textContent = savings >= 0 ? `${(savings * 12).toFixed(0)}` : `-€${(Math.abs(savings) * 12).toFixed(0)}`;
document.getElementById('vaLetsbePrice').textContent = `${bestPrice}/mo`;
// Tier cards
let tierHTML = '';
TIERS.forEach((tier, idx) => {
const tierSavings = totalCurrent - tier.price;
const percent = totalCurrent > 0 ? Math.round((tierSavings / totalCurrent) * 100) : 0;
const isRec = idx === recommendedIdx;
tierHTML += `
<div class="tier-card ${isRec ? 'recommended' : ''}">
<div class="tier-name">${tier.name}</div>
<div class="tier-spec">${tier.spec}</div>
<div class="tier-price">€${tier.price}<span>/mo</span></div>
<div class="tier-savings ${tierSavings >= 0 ? 'savings-positive' : 'savings-negative'}">
${tierSavings >= 0 ? `Save €${tierSavings.toFixed(0)}/mo` : `${Math.abs(tierSavings).toFixed(0)} more/mo`}
</div>
${totalCurrent > 0 && tierSavings > 0 ? `<div class="tier-percent savings-positive">${percent}% less</div>` : ''}
<div class="tier-features">
<div>Up to ${tier.tools} tools</div>
<div>${tier.tokens} AI tokens/mo</div>
<div>Unlimited agents</div>
<div>${tier.target}</div>
</div>
</div>
`;
});
document.getElementById('tierCards').innerHTML = tierHTML;
// Breakdown table
let tableHTML = '';
selectedTools.sort((a, b) => b.cost - a.cost);
selectedTools.forEach(t => {
tableHTML += `<tr><td>${t.name}</td><td style="color: var(--celes-blue); font-size: 0.85rem;">${t.replacement}</td><td class="cost-col">€${t.cost.toFixed(2)}</td></tr>`;
});
if (selectedTools.length > 0) {
tableHTML += `<tr class="total-row"><td colspan="2">Total Current Monthly Spend</td><td class="cost-col" style="color: var(--dark-navy);">€${totalCurrent.toFixed(2)}</td></tr>`;
tableHTML += `<tr><td colspan="2" style="color: var(--success); font-weight: 600;">LetsBe ${TIERS[recommendedIdx].name} (replaces all above)</td><td style="text-align: right; color: var(--success); font-weight: 700;">€${bestPrice.toFixed(2)}</td></tr>`;
} else {
tableHTML = '<tr><td colspan="3" style="text-align: center; color: var(--mid-gray); padding: 20px;">Select tools above to see your breakdown</td></tr>';
}
document.getElementById('breakdownBody').innerHTML = tableHTML;
}
// ===== INIT =====
renderToolGrid();
renderCustomList();
calculate();
</script>
</body>
</html>

Binary file not shown.

Binary file not shown.