Client Data Lake Agent
Before each client call or analysis, manually toggle between QuickBooks (financials), Double (tasks and status), Fireflies (meeting transcripts), email threads, and file folders. Piece together context from five places. Development team rebuilds data access for each new analysis skill.
Ask Claude 'catch me up on Client X' and get instant context from all systems in seconds. Development team builds new analysis skills by writing skill prompts that call the same MCP server, no data-access rebuilding required.
Stop toggling between five systems to answer 'what's happening with this client?'
Accounting firm directors spend 10-20 hours per month context-switching between QuickBooks for financials, Double for task status, Fireflies for meeting notes, email threads, and file folders.
Time spent toggling between systems to gather context for a single client analysis or call
Financial data in QuickBooks, operational records in Double, meeting transcripts in Fireflies, plus email and file folders
Your development team cannot build analysis skills without rebuilding data access for each one
One queryable foundation replaces manual context-gathering
Ask Claude about any client, get recent activity from QuickBooks, Double, and Fireflies in seconds instead of manual hunting
Your development team builds specialized analysis skills (owner identification, tenure tracking, engagement history) on the same data lake without rebuilding data access each time
Handles your largest client's transaction volume with fast queries through proper indexing and data partitioning
A PostgreSQL data lake consolidates all 120 clients' QuickBooks financials, Double task records, and Fireflies transcripts into a single store. Query it via Claude through an MCP server. Ask 'catch me up on Client X' and get instant context from all systems instead of opening six browser tabs.
How the data lake works
Three core systems feed into one queryable store. When you ask a question via Claude, parallel retrievals pull relevant data, aggregate it, and return structured context.
Nightly syncs pull QuickBooks general ledger and financial reports, Double client metadata and task status, and Fireflies meeting transcripts. Each record is tagged with the client ID so queries can pull everything for a specific client.
Each data chunk gets a summary label so the retrieval system can scan topics without re-reading every byte. Client ID, source type, date, and a one-sentence summary enable fast filtering.
When you ask Claude a question about a client, parallel calls extract relevant data from labeled chunks. A single aggregation step filters, deduplicates, and prioritizes the results into structured context.
The MCP server returns aggregated context to your Claude skill. Claude formats it as a briefing, timeline, or analysis depending on the skill's purpose.
QuickBooks general ledger and financial reports +
Transaction-level data, income statements, balance sheets, and account hierarchies from all 120 client companies
Double practice management records +
Client metadata, task assignments, activity logs, and project status from your practice management system
Fireflies meeting transcripts +
Meeting transcripts, speaker identification, and summaries from client calls and internal team meetings
Normalize and partition by client ID +
Tag all data with the corresponding client ID from Double so cross-system queries work. Enforce per-client data partitioning to prevent data bleeding.
Label chunks for retrieval +
Add one-sentence summaries to each data chunk (source type, date, topic) so the retrieval system can scan topics without re-reading full records
Parallel retrieval at query time +
Launch parallel calls across labeled chunks to extract relevant data for the queried client. Each call focuses on a specific extraction task.
Aggregate and structure results +
Filter, deduplicate, and prioritize results into structured context (JSON and Markdown summaries) ready for Claude to render
Unified client context via MCP server +
Structured JSON and Markdown summaries of client overview, recent activity, financial status, and meeting history returned to Claude skills
Catch Me Up skill briefing +
Demonstration skill that answers 'who is this client and what's happening with them?' by pulling context from all three systems
Data lake dashboard +
Simple browser interface for you and your development team to verify sync status, browse clients, and confirm data is flowing correctly
Is this for you?
- + Accounting firm directors - Eliminate context-switching before client calls and financial analysis. Ask Claude about any client and get instant context from all systems.
- + Development teams building analysis skills - Build 100+ specialized skills (owner identification, tenure tracking, engagement history, quality of earnings analysis) on a unified data foundation without rebuilding data access for each one
- + Firms with 50+ clients across multiple systems - Consolidate fragmented data from QuickBooks, practice management, and meeting transcripts into one queryable store. Scales to 700K+ transaction records per client.
- + Teams ready to extend the infrastructure - Your development team can add new data sources (email, Toggl, Loom videos) and new query endpoints by following established patterns. Not a finished product; a foundation you will build on.
- - Firms needing pre-built analysis skills - This build delivers the data foundation and one demonstration skill (Catch Me Up). Specialized analysis skills (GL analysis, cash flow, vendor spend) are what your team will build after the data lake exists.
- - Firms without technical development capacity - Requires a technical team to extend the architecture, author new skills, and add new data sources. This is infrastructure, not a turnkey product.
- - Firms using non-standard accounting systems - Built for QuickBooks Online, Double practice management, and Fireflies transcripts. Other accounting platforms require custom integration adapters.
Scoped build plus usage-based runs
Build cost covers data lake infrastructure, MCP server implementation, Catch Me Up demonstration skill, and the committed follow-up meeting with your development team to finalize the data model. Usage costs depend on API calls to QuickBooks, Double, Fireflies, and Claude during syncs and queries.
- Build scope: PostgreSQL data lake, MCP server, nightly syncs from three core systems, Catch Me Up skill, data verification dashboard
- Usage costs: QuickBooks OAuth for 120 separate client companies (you authorize each post-kickoff), Fireflies Business/Enterprise tier (required for API access at 120-client scale), API calls for parallel retrieval and aggregation
- Hosting: Railway persistent storage for the database and cron scheduling for nightly syncs
- Follow-up work: Your development team extends the data lake with new sources and builds additional skills using Claude Skill Creator
Will this consolidate all 120 clients' data into one place?
Yes. The PostgreSQL data lake pulls QuickBooks financials, Double task records, and Fireflies transcripts for all 120 clients and organizes them by client ID. You query one place instead of toggling between five systems.
How fast can I get context about a client before a call?
Seconds instead of 10-20 minutes of manual hunting. Ask Claude 'catch me up on Client X' via the Catch Me Up skill, and the MCP server returns aggregated context from all three systems: recent meetings, task status, and financial overview. The parallel retrieval architecture pulls relevant data simultaneously rather than sequentially.
Can my development team build new skills on top of this data lake?
Yes. The MCP server exposes a queryable foundation that your team can call from Claude Skill Creator. After the data lake is live, Sierra's team can build specialized skills (Client Owner, Tenure, Engagement History, GL analysis) by writing skill prompts that call the same MCP endpoints. No data-access rebuilding required for each new skill.
What happens if one data source fails to sync?
The nightly sync is designed to handle per-client failures independently. If QuickBooks auth fails for one client, the other 119 clients still sync successfully. You'll see the error in the dashboard and can re-sync that client manually. The system is built to be resilient across 120 separate integrations.
Do I need to authorize QuickBooks separately for each of my 120 clients?
Yes. QuickBooks Online requires separate OAuth authorization for each client company (realm ID). Tom will authorize each one post-kickoff. This is a one-time setup per client. After authorization, nightly syncs pull data automatically without manual intervention.
What's the difference between this and just using QuickBooks or Double directly?
QuickBooks has financials only. Double has tasks and client metadata only. Fireflies has meeting transcripts only. This data lake brings all three together in one queryable store organized by client ID. When you ask Claude about a client, you get context from all systems at once instead of opening three separate tools and manually piecing together the story.
Can I add email, Loom videos, or other data sources later?
Yes. The architecture is designed for extensibility. After the initial build with QuickBooks, Double, and Fireflies, your team can add new sources (Gmail, Toggl, Loom videos) by following the established integration patterns. The MCP server and data model support adding new data types without refactoring the core.
What does the Catch Me Up skill do?
It's a demonstration skill that proves the data lake works. Invoke it for any client and it returns a briefing: who they are, what they do, recent meetings from Fireflies, recent task activity from Double, and high-level financial status from QuickBooks. It answers 'what's happening with this client?' in seconds instead of manual context-gathering.
Start with the foundation. Build the skills yourself.
This build delivers the data infrastructure and one working example (Catch Me Up skill) that proves the foundation works. Your development team will extend it with new data sources and 100+ specialized analysis skills. Schedule a call to finalize the data model with Sierra and confirm Fireflies plan tier supports API access at 120-client scale.