Skip to content

Tools & Stack

Internal planning document. Not for engineers — they read engineer-onboarding.md for 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

ToolPurposeStatusOwnerMonthly cost (est.)
Google WorkspaceEmail, docs, calendar✅ ActiveFounder~$7/user
SlackInternal comms✅ ActiveFounder~$8/user
1Password BusinessSecrets, credentials✅ ActiveFounder~$8/user
MercuryBanking, invoicing✅ ActiveFounder$0 base, Pro tier ~$35
Toggl Track PremiumTime tracking🟡 To provisionPM~$20/user
Granola BusinessMeeting capture, transcripts, AI summaries🟡 To provisionFounder~$14/user
GitHub TeamCode, handbook, ops repo🟡 To create orgFounder$4/user
QuickBooks OnlineAccounting🔴 To set up (urgent)Founder + bookkeeper~$60–90
Claude (team plan)AI coding🔴 Triggered at 5 engineersFounderTBD
DocuSign or equivalentContract signing🟡 Flagged, deferFounder~$40
CRMPipeline tracking⏸ Deferred (Google Doc for now)Founder$0
Monitoring (Healthchecks.io etc.)Internal infra alerts⏸ Deferred until infra existsFounder~$5
Project managementEngagement tracking⏸ Deferred (use client's)n/a$0
Expense managementReceipts, cards⏸ Deferred (Mercury handles)Founder$0
HRISPayroll, 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)
    • #random or 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 — op CLI 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 .md with 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 — Platform folder auto-posts to #xenter-platform)
  • 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-plugin in 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 at handbook.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 ops repo, never in handbook.
  • Setup checklist:
    • [ ] Register mesetaco org name on GitHub (defensive — do this even before migration)
    • [ ] Add founder + PM as org admins
    • [ ] Create handbook repo, 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 ops repo, seed with rates.yaml skeleton
    • [ ] Set up engineer permissions structure (separate teams for read-only handbook contributors vs. ops repo access)

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):

ToolPer-seatSeatsMonthly
Google Workspace$75$35
Slack$85$40
1Password$85$40
Toggl Premium$205$100
GitHub Team$45$20
Mercury Proflat~$35
QuickBooksflat~$75
Bookkeeperretainer~$300
Claude/AI reimbursement~$204 (excl. PM)~$80
Granola Business$142 (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

DateDecisionRationale
2026-05Use GitHub Pages publicly for handbookMarketing/credibility asset; sensitive details live in private ops repo
2026-05Stay on GitHub Team, not Enterprise$4 vs $21/user; we don't need SSO/audit-stream yet
2026-05Reimburse Claude/AI tools until 5 engineersCheaper than team plan at small scale; flips when bench solidifies
2026-05Move handbook out of vault to GitHubMulti-author, review-tracked, public-credible
2026-05Defer CRM, project management, expense, HRIS, DocuSignPremature optimization; revisit at named triggers
2026-05Adopt Granola Business for meeting captureBot-free capture works across Zoom/Teams/Slack huddles; official MCP + Obsidian plugin keep notes in vault; team folders enable Kym sharing on Xenter
2026-05Granola off-limits for Xenter PHI callsNot HIPAA compliant; manual notes only for clinical/PHI calls until Xenter policy confirmed
2026-05Defer Notion adoptionGranola → 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 mesetaco GitHub 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
  • time-tracking-and-billing.md — Toggl + Mercury operational details
  • engagement-lifecycle.md — engagement structure
  • engineer-onboarding.md — engineer-facing tool guidance

Meseta Handbook