Tools & Stack
Internal planning document. Not for engineers — they read
engineer-onboarding.mdfor the engineer-facing view. This doc tracks what we use, what it costs, who owns it, and what's next.Updated as the firm evolves. Living document.
Stack at a glance
| Tool | Purpose | Status | Owner | Monthly cost (est.) |
|---|---|---|---|---|
| Google Workspace | Email, docs, calendar | ✅ Active | Founder | ~$7/user |
| Slack | Internal comms | ✅ Active | Founder | ~$8/user |
| 1Password Business | Secrets, credentials | ✅ Active | Founder | ~$8/user |
| Mercury | Banking, invoicing | ✅ Active | Founder | $0 base, Pro tier ~$35 |
| Toggl Track Premium | Time tracking | 🟡 To provision | PM | ~$20/user |
| Granola Business | Meeting capture, transcripts, AI summaries | 🟡 To provision | Founder | ~$14/user |
| GitHub Team | Code, handbook, ops repo | 🟡 To create org | Founder | $4/user |
| QuickBooks Online | Accounting | 🔴 To set up (urgent) | Founder + bookkeeper | ~$60–90 |
| Claude (team plan) | AI coding | 🔴 Triggered at 5 engineers | Founder | TBD |
| DocuSign or equivalent | Contract signing | 🟡 Flagged, defer | Founder | ~$40 |
| CRM | Pipeline tracking | ⏸ Deferred (Google Doc for now) | Founder | $0 |
| Monitoring (Healthchecks.io etc.) | Internal infra alerts | ⏸ Deferred until infra exists | Founder | ~$5 |
| Project management | Engagement tracking | ⏸ Deferred (use client's) | n/a | $0 |
| Expense management | Receipts, cards | ⏸ Deferred (Mercury handles) | Founder | $0 |
| HRIS | Payroll, benefits | ⏸ Deferred (1099s only) | n/a | $0 |
Legend: ✅ active · 🟡 in progress / planned soon · 🔴 needs decision/setup · ⏸ deferred
Active tools
Google Workspace
- Use: primary email (
@mesetaco.com), calendar, docs for client-shared content - Plan: Business Starter ($7/user) — sufficient for current needs
- Notes: Drive used for client-shareable docs; internal docs go to GitHub once handbook migrates
Slack
- Use: internal comms across Meseta team
- Plan: Pro
- Channels we'll need on day one:
#general#meseta-billing#xenter-platform(internal-only Meseta channel for the engagement)#xenter-it(internal-only Meseta channel for the engagement)#randomor similar low-stakes channel
- Slack Connect: plan to use for any future external client-facing channel. For Xenter, plan is to operate inside their Slack rather than ours, so Slack Connect not needed for that engagement.
1Password Business
- Use: all secrets, credentials, API tokens, deploy keys, client access info
- Already provisioned
- Vaults to set up if not already:
- Meseta shared (admin-level credentials, billing accounts)
- Per-engagement vault (Xenter Platform, Xenter IT, etc.)
- Per-engineer personal (engineer-managed within Meseta org)
- CLI: worth installing for ops scripts that need to pull secrets —
opCLI integrates cleanly into reconciliation script and similar automation
Mercury
- Use: business banking, invoicing, ACH and wire transfers, contractor payouts, 1099 filing
- Tier needed: likely Plus or Pro for invoice API write access — verify before reconciliation script work begins
- Mercury CLI: worth evaluating; could simplify reconciliation script's payment-side automation
In progress / planned soon
Toggl Track Premium
- Status: to provision when first engineer beyond founder onboards
- Plan: Premium tier (~$20/user/mo) — required for timesheet locking, project-level rates, and the trust-based posture the handbook commits to
- Owner: PM provisions and manages workspace
- Setup checklist:
- [ ] Create Meseta workspace
- [ ] Configure clients: Xenter (and any future)
- [ ] Configure projects per engagement track (Xenter — Platform, Xenter — IT)
- [ ] Set rate overrides per project per engineer (mirrors
rates.yaml) - [ ] Configure tags:
cloud,platform,it,security,meeting,docs,ops,architecture,code-review,support - [ ] Invite team
- [ ] Test API token for reconciliation script
Granola
- Use: AI meeting capture across Zoom, Teams, Slack huddles, and in-person meetings; bot-free OS-level audio capture, transcripts and AI summaries synced into the Rodeo vault
- Plan: Business ($14/user/mo) — required for native integrations (Slack, Notion), full-history MCP access, transcript access via API, and team workspace folders
- Owner: Founder (workspace admin); PM/back-office added as member for client engagement folders
- Seats to start: Founder + PM (Kym, when she onboards to Xenter PM/comms). Engineers can be added later if they're routinely running client calls. Hold at 2 seats until justified.
- Workflow:
- Capture at the device audio layer — no bot in the participant list, no platform-specific awkwardness
- During the call: rough shorthand notes in the Granola desktop app
- After the call: Granola produces a structured AI summary using the transcript as supporting context
- Sync to Obsidian vault via
philfreo/obsidian-granola-plugin(uses Granola's official MCP API + OAuth) - Notes land as
.mdwith frontmatter (granola_id, date, attendees, tags) into a configured folder per engagement - Granola MCP also wired into Claude Desktop / Claude Code for natural-language search across meeting history
- Sharing model:
- Meseta team workspace with per-engagement folders (e.g.,
Xenter — Platform,Xenter — IT) - Folders shared with specific members by email; notes are private by default until added to a shared folder
- Per-note share links available for clients — readable in browser, no Granola account required
- Optional folder-level Slack auto-post (e.g., new note in
Xenter — Platformfolder auto-posts to#xenter-platform)
- Meseta team workspace with per-engagement folders (e.g.,
- HIPAA constraint:
- Granola is not currently HIPAA compliant and hosts data in the US only
- Acceptable for: internal Meseta meetings, Upbound work, Xenter calls that don't touch PHI (architecture, security review, vendor selection, IT, ops, SDLC review)
- Not acceptable for: any Xenter call involving identified patient data, clinical workflows, or anything that would be PHI under a BAA framework — manual notes only for those
- Confirm policy line with Xenter before first client call; document the rule in
engineer-onboarding.md
- Disclosure posture: enable Granola's Automatic Consent Messaging — posts a chat message at meeting start announcing the AI note-taker. Utah is one-party consent so not legally required, but the right professional move and prevents weirdness on cross-state calls (CA notably is two-party).
- Notion fallback: Granola has a native Notion integration. If the handbook/notes home shifts from Obsidian to Notion later, the export path is already supported — not a dead-end choice.
- Setup checklist:
- [ ] Founder creates Meseta workspace on Business plan
- [ ] Configure team workspace + per-engagement folders (
Xenter — Platform,Xenter — IT) - [ ] Install
philfreo/obsidian-granola-pluginin Rodeo vault; configure template, sync folder, OAuth - [ ] Wire Granola MCP into Claude Desktop and Claude Code
- [ ] Enable Automatic Consent Messaging in Granola settings
- [ ] Add Kym as workspace member when she onboards to Xenter PM/comms
- [ ] Document Xenter PHI policy (Granola allowed vs. manual-only) before first client call
- [ ] Decide whether to enable Slack auto-post per folder, or keep distribution manual
GitHub Team — Meseta org
- Status: to create org
mesetaco - Plan: Team ($4/user/mo) — sufficient; do not need Enterprise
- Owner: Founder creates and seeds; ongoing admin shared with PM
- Repos to create:
handbook(public source repo, public Pages site athandbook.mesetaco.com)ops(private —rates.yaml, reconciliation script, internal tooling)meseta-com(marketing site, public)client-xenter(private; only if Meseta owns repos for Xenter work)
- Pages decision: publish handbook source publicly, treat handbook as a marketing/credibility asset. Sensitive operational details (rates, scripts, client specifics) live in
opsrepo, never in handbook. - Setup checklist:
- [ ] Register
mesetacoorg name on GitHub (defensive — do this even before migration) - [ ] Add founder + PM as org admins
- [ ] Create
handbookrepo, configure GitHub Pages, point custom domain - [ ] Configure required reviewers and branch protection on
handbook(at least one approval to merge to main) - [ ] Migrate three handbook docs from vault to repo
- [ ] Create
opsrepo, seed withrates.yamlskeleton - [ ] Set up engineer permissions structure (separate teams for read-only handbook contributors vs. ops repo access)
- [ ] Register
Setup-needed (urgent)
QuickBooks Online
- Status: not set up — addressing earlier rather than later
- Plan: likely QBO Essentials or Plus (~$60–90/mo); defer to bookkeeper's recommendation
- Owner: Founder selects, bookkeeper operates
- Why now: clean books from day one of new engagement structure is much cheaper than untangling a year of mixed transactions later. Mercury → QBO bank feed sync is clean. Get this in place before next quarter close.
- Adjacent decisions:
- [ ] Engage a bookkeeper (monthly retainer arrangement, ~$200–500/mo depending on volume)
- [ ] Engage a CPA for tax prep (annual fee, separate from bookkeeper)
- [ ] Decide accounting basis: cash vs. accrual. T&M consulting on monthly invoicing usually goes accrual once volume picks up; cash is simpler at the start.
- [ ] Set chart of accounts — bookkeeper drives this; we provide engagement and contractor categories
Claude team plan
- Status: triggered at 5 engineers
- Current bench: 5 named (Justin, Brad, Parker, Kym, Brad's IT guy). Two additional cloud engineers in pipeline. Practical reality: we're at the trigger now or imminently.
- Interim approach: reimburse engineers for their own Claude/Cursor/Copilot subscriptions until team plan justifies seat consolidation
- Decision needed:
- [ ] At what headcount do we flip from reimbursement to team plan? (5 confirmed engineers seems right)
- [ ] Verify current Claude team plan pricing and seat minimums via docs.claude.com
- [ ] Reimbursement amount cap until then (suggest $20/mo per engineer for individual Claude/Cursor)
Flagged for later
DocuSign / contract signing
- Status: flagged, defer until SOW #2 or first non-Xenter client
- Why defer: for one client, PDF + email + countersignature is fine. The friction shows up at 2–3 active SOWs in flight or when a client requires a specific signing platform.
- Alternatives to evaluate when we get there: DocuSign, HelloSign (Dropbox Sign), PandaDoc (better for templated contracts with variables), Google Workspace eSignature (newer, integrates with Drive, may be sufficient and free with current Workspace plan)
- Worth checking: whether Google Workspace eSignature is included at our current tier — could be a $0 solution
CRM
- Status: deferred. Use a Google Doc or markdown file in
ops/for pipeline tracking until we have more than one primary client. - Trigger: second active client engagement, or pipeline of 3+ named opportunities
- When triggered: evaluate Notion (likely sufficient), Airtable, or Attio (lighter than HubSpot, designed for relationship-driven pipelines)
Monitoring
- Status: deferred until internal infra exists to monitor
- First need: the reconciliation script. Once it runs on a schedule, we need to know if it fails silently.
- Likely choice: Healthchecks.io for cron monitoring (~$5/mo) + Slack webhook for alert routing
Project management
- Status: deferred. Use the client's tool for engagement work (Jira/Linear/Notion as the client uses).
- Trigger: 3+ concurrent engagements where coordination across them becomes a Meseta-internal problem, OR a client without their own PM tooling
- Likely choice: Linear or Notion when triggered
Expense management
- Status: deferred. Mercury cards + auto-categorization handle current volume.
- Trigger: ~$5K+/mo in non-payroll expenses, or W-2 employees needing reimbursement workflow
- Likely choice: Brex, Ramp (probably overkill until we're much larger)
HRIS
- Status: deferred indefinitely while we're 1099-only
- Trigger: first W-2 hire
- Likely choice: Gusto for simplicity at small scale; Rippling if we want HRIS+IT in one
Cost envelope
Rough monthly run rate at current 5-engineer team (Founder, Brad, Parker, Kym, Brad's IT lead):
| Tool | Per-seat | Seats | Monthly |
|---|---|---|---|
| Google Workspace | $7 | 5 | $35 |
| Slack | $8 | 5 | $40 |
| 1Password | $8 | 5 | $40 |
| Toggl Premium | $20 | 5 | $100 |
| GitHub Team | $4 | 5 | $20 |
| Mercury Pro | flat | — | ~$35 |
| QuickBooks | flat | — | ~$75 |
| Bookkeeper | retainer | — | ~$300 |
| Claude/AI reimbursement | ~$20 | 4 (excl. PM) | ~$80 |
| Granola Business | $14 | 2 (Founder + PM) | $28 |
| Total | ~$753/mo |
Annualized: roughly $9K, before adding the two pipeline cloud engineers.
At 7 engineers (with the two additional cloud hires), this scales to ~$930/mo, ~$11K/yr — assuming Granola seats remain capped at Founder + PM, not extended to engineers.
These are operational tools — Meseta overhead — and should be priced into the spread between bill rates and pay rates.
Decision log
| Date | Decision | Rationale |
|---|---|---|
| 2026-05 | Use GitHub Pages publicly for handbook | Marketing/credibility asset; sensitive details live in private ops repo |
| 2026-05 | Stay on GitHub Team, not Enterprise | $4 vs $21/user; we don't need SSO/audit-stream yet |
| 2026-05 | Reimburse Claude/AI tools until 5 engineers | Cheaper than team plan at small scale; flips when bench solidifies |
| 2026-05 | Move handbook out of vault to GitHub | Multi-author, review-tracked, public-credible |
| 2026-05 | Defer CRM, project management, expense, HRIS, DocuSign | Premature optimization; revisit at named triggers |
| 2026-05 | Adopt Granola Business for meeting capture | Bot-free capture works across Zoom/Teams/Slack huddles; official MCP + Obsidian plugin keep notes in vault; team folders enable Kym sharing on Xenter |
| 2026-05 | Granola off-limits for Xenter PHI calls | Not HIPAA compliant; manual notes only for clinical/PHI calls until Xenter policy confirmed |
| 2026-05 | Defer Notion adoption | Granola → Notion path exists if needed later; no current need to add a second knowledge home |
Open items
- [ ] Verify Claude team plan pricing and seat minimum at trigger point
- [ ] Verify Mercury tier needed for invoice API write
- [ ] Engage bookkeeper — get 2–3 quotes
- [ ] Engage CPA — referral from bookkeeper or other founders
- [ ] Register
mesetacoGitHub org - [ ] Decide accounting basis (cash vs. accrual)
- [ ] Check whether Google Workspace eSignature is sufficient and included at current tier
- [ ] Decide AI reimbursement cap policy
- [ ] Provision Granola Business workspace; install
philfreo/obsidian-granola-plugin; wire MCP into Claude - [ ] Confirm Xenter PHI policy re: Granola use before first client call
- [ ] Add Kym as Granola workspace member when she onboards to Xenter PM/comms
Related docs
time-tracking-and-billing.md— Toggl + Mercury operational detailsengagement-lifecycle.md— engagement structureengineer-onboarding.md— engineer-facing tool guidance