Overview
ThePortfolioTable component displays a comprehensive list of portfolio companies with dynamic filtering by industry. It features a custom scrollbar, mobile-responsive design, and advanced scroll state management for integration with full-page scrolling.
Props Interface
Callback to enable/disable page-level scrolling when interacting with the table
Callback to control upward page scrolling based on table scroll position
Callback to control downward page scrolling based on table scroll position
Determines whether to render mobile (dropdown) or desktop (button) filters
Data Structure
Each company in the portfolio has the following structure:Features
Industry Filtering
The component dynamically generates filter options from the company data:- Desktop: Visual button group with checkbox-style indicators
- Mobile: Compact dropdown select menu
- Industries: AI/ML, Crypto, Data, Defense and Hardware, Developer, Fintech, Healthcare & Bio, Infra, SaaS, Security
Scroll State Management
The component uses advanced scroll detection to manage parent page scrolling:The scroll state callbacks allow ReactPageScroller to know when to allow/block page-level scrolling based on whether the user has reached the top or bottom of the scrollable table.
Custom Scrollbar Styling
The table applies different scrollbar styles based on device:- Desktop:
custom-scrollbarclass with styled scrollbar - Mobile:
mobileclass (typically hidden scrollbar)
Usage Example
Frompage.tsx:318-327:
Key Behaviors
- Filtering
- Scrolling
- Responsive Layout
- Clicking “All” displays all 59 companies sorted alphabetically
- Clicking an industry filters to only companies in that category
- On desktop, clicking the active filter toggles back to “All”
- Filter state persists during table scrolling
- Table content animates opacity on filter change (375ms transition)
Portfolio Data
The component includes data for 59 portfolio companies including:- AI/ML: Cohere, Comfy, E2B, Letta, Ollama, Roboflow, Tecton, TollBit, Lilt, Waldo
- Developer: Knock, Retool, Tldraw, Vercel, Warp, Fillout, VoidZero
- Crypto: Monad, Nebra, Scroll, Exo, TipLink, Turnkey
- Data: DBT, PostHog, Statsig, Tabular (Databricks), Rerun, Omni
- Fintech: Accrue Savings, AgentSync, Houm, Taktile, Inscribe, Flock Homes
- Infrastructure: Cal, Railway, Temporal, Xata
Companies are alphabetically sorted and each links to their external website. Descriptions provide concise value propositions.
Styling Notes
- Primary font:
font-bitter(body text) andfont-arya(headings) - Color scheme:
text-dark-greenonbg-offwhite - Hover states: Background opacity change with underline on links
- Responsive text sizing: Uses custom scale (b5xs to bmd, tmd to txl)
Source Reference
Component:src/components/PortfolioTable.tsx (285 lines)
Key Dependencies:
- React hooks:
useState,useEffect,useRef,useMemo - Responsive design with Tailwind breakpoints
- Custom scrollbar CSS classes