Welcome to the new site. If you have any issues accessing models, use store.hemrock.com.
Sign in

Portfolio Reporting

Self-hosted portfolio reporting platform for venture capital funds. Deploy on your own infrastructure with your own AI keys.

Overview

The Portfolio Reporting Stack processes investor updates through email forwarding. Forward emails in any format, PDF, Excel, PowerPoint, plain text, and AI identifies the company, extracts metrics, and builds portfolio dashboards. Track and report investment performance metrics at company, fund, and portfolio levels.

Try the demo with sample data, no signup required.

Core features

Email forwarding and AI extraction

Give founders an inbound address. The system processes everything automatically, AI identifies companies and pulls metrics like MRR, burn rate, headcount, and any custom KPIs you configure. A review queue flags uncertain extractions before data is saved.

Portfolio dashboard

Real-time view of all active companies with headline metrics, sparkline charts, and badges for stage, industry, and portfolio group. Filter by portfolio group and sort by name, cash position, or other criteria.

Company detail

Each company has AI Analyst summaries, metric tracking with historical charts, investment transaction records, document storage, and team notes. The AI acts as a senior analyst, it highlights current performance, trends, strengths, risks, and follow-up questions.

Investment tracking

Fund-level view of all investment transactions with MOIC, IRR, and LP-specific return metrics (TVPI, DPI, RVPI, Net IRR). Portfolio group summaries show aggregate invested capital, realized and unrealized values, and performance metrics.

Fund cash flows

Track commitments, called capital, and distributions per portfolio group. Configurable carry rate and GP commit percentage. Computed LP return metrics including TVPI, DPI, RVPI, and Net IRR using XIRR.

LP letter generation

AI-generated quarterly LP update letters using your portfolio data, reported metrics, company summaries, investment performance, and team notes. Upload a previous letter and AI matches your writing style. Export as .docx or to Google Drive.

LP position tracking

Track limited partner positions across snapshots. Import spreadsheet data, AI automatically parses columns and matches to investor fields. Generate individual investor PDF reports or batch all at once.

Compliance calendar

Regulatory calendar tailored to your fund's registration status and structure. Covers SEC filings, tax deadlines, state compliance, AML/FinCEN, and internal compliance requirements. Auto-determines applicability based on a short fund questionnaire.

Review queue

Low-confidence extractions and new company detections are flagged for human decision-making before data is committed. The system errs on the side of flagging rather than silently writing bad data.

Import

Upload files directly (PDFs, Excel, Word, PowerPoint, CSV, images) or paste data covering multiple companies simultaneously. Bulk import historical data or onboard an entire portfolio in one step. Investment transactions and fund cash flows can also be pasted in freeform format.

Asks

Send reporting request emails to portfolio companies. Track what was sent and when. Replies flow into the inbound pipeline automatically.

AI Analyst

Interactive chat available on every page, company detail, portfolio dashboard, investments, asks, and notes. Persistent conversations with memory across sessions. Company chats have access to reported metrics, documents, investment data, and team notes. Portfolio chats have access to fund-level data across all companies.

CRM and interactions

BCC the fund's inbound address on conversations and the system classifies them as CRM interactions. AI generates summaries and detects introductions between parties.

Notes

Team members can post observations on individual companies or at the fund level. Supports @mentions and follow notifications. Notes are fed into the AI Analyst as context.

Storage integrations

Optional Google Drive or Dropbox integration for automatic document filing into company-specific folders.

Tech stack

  • Frontend: Next.js 14 with TypeScript, Tailwind CSS, Radix UI (shadcn/ui)
  • Backend: PostgreSQL via Supabase with Row Level Security
  • AI: Anthropic Claude, OpenAI, Google Gemini, or local Ollama
  • Email: Postmark or Mailgun for inbound; Resend, Postmark, Mailgun, or Gmail for outbound
  • Charts: Recharts for metric visualization

Quick start

  1. Clone the repo, git clone https://github.com/tdavidson/reporting.git && npm install
  2. Create a Supabase project, Copy your project URL, anon key, and service role key
  3. Generate an encryption key, openssl rand -hex 32
  4. Deploy to Netlify or Vercel, One-click deploy buttons available
  5. Configure auth, Set Supabase redirect URLs and whitelist your email
  6. Add an AI key, Anthropic, OpenAI, Gemini, or run your LLM locally
  7. Forward your first email, Set up inbound email processing

Deploy with Supabase (free tier: 500MB database, 1GB storage), an AI provider, hosting on Netlify or Vercel (free tiers available), and inbound email via Postmark or Mailgun (free tiers available).

Security

  • Two-factor authentication (TOTP)
  • AES-256-GCM envelope encryption for stored secrets
  • Email whitelist for signup restrictions
  • Rate limiting on authentication and AI endpoints
  • Row Level Security on all database tables

License

Free for single-fund management companies operating independently. Commercial license required for fund administrators, outsourced CFOs, consultants, or service providers using across multiple clients. See the full license on GitHub.

For setup assistance, managed deployments, or commercial licensing: contact Taylor.