PitchLense is a comprehensive AI-powered startup analysis platform that provides detailed risk assessment and growth potential evaluation for early-stage ventures. The platform analyzes multiple dimensions of startup risk and provides actionable insights for investors, founders, and stakeholders.
Watch our comprehensive tutorial video to learn how to use PitchLense effectively:
Click the image above to watch the tutorial on YouTube
Our cloud-native architecture leverages Google Cloud Platform services for scalability, reliability, and AI capabilities:
Key Components:
- Frontend: React.js with Tailwind CSS hosted on Cloud Run
- Backend: Node.js Express API with Cloud Run Functions
- Database: Cloud SQL (MySQL) with Cloud Storage for file management
- AI Layer: Vertex AI, Gemini, Vision API, Natural Language API
- MCP Agents: Cloud Run Functions for modular AI agents
- CI/CD: GitHub Actions with Artifact Registry deployment
Our intelligent workflow combines multiple AI services and guardrails for secure, accurate analysis:
Workflow Highlights:
- Content Moderation: XSS, toxicity, profanity checks and prompt injection prevention
- Multi-Source Data: Google News, Perplexity, SerpAPI, LinkedIn integration
- Dynamic Prompts: Context-aware prompt generation with Gemini 2.5 Flash
- Agentic Conversation: Intelligent multi-agent coordination
- Feedback Loop: Continuous improvement through feedback agents
Comprehensive technology ecosystem built for AI-powered startup analysis:
Technology Breakdown:
- Application Layer: React JS, Node.js, Express JS, Tailwind CSS, MySQL
- MCP Host: Python, FastMCP, DsPy, PyTest
- Infrastructure: Docker, Nginx, Cloud DNS, Cloud Run, Cloud SQL, Artifact Registry
- AI Services: Vertex AI, Gemini LLM, Agent Builder (ADK), Vision API, Model Registry
- AI-Powered Report Generation: Automated analysis using Google Gemini AI
- Multi-Document Analysis: Support for pitch decks, call recordings, meeting recordings, founder profiles, news reports, and company documents
- Growth Potential Scoring: Detailed 1-10 scale scoring with risk level assessment
- Risk Assessment: Comprehensive analysis across multiple risk dimensions
- Interactive Charts & Visualizations: D3.js knowledge graphs, radar charts, and financial visualizations
- Knowledge Graph: Interactive network visualization of startup ecosystem connections
- Liquid Glass UI: Modern glassmorphism design with animated components
- Radial Dock Navigation: Interactive circular navigation with 8 key features
- Movie Reel Slideshows: Animated vertical slideshows showcasing platform capabilities
- Symbol Search: Real-time search with FMP API integration (debounced search after 2 characters)
- Comprehensive Company Data:
- Company profile and overview
- Financial statements (Income Statement, Balance Sheet)
- Key metrics and KPIs
- Employee count and historical data
- Market capitalization trends
- Share float and liquidity data
- Key executives information
- Dividend history
- Press releases and latest news
- Quick Search: Top 10 companies accessible with one click
- Data Availability Status: Visual indicators showing which data sections are available
- Commodities Overview: Real-time pricing for 40 major commodities (Gold, Silver, Oil, etc.)
- Top Gainers & Losers: Daily top 10 stock movers with bar charts
- Treasury Rates: US Treasury yield curves across all maturities
- Economic Indicators:
- GDP and Real GDP per Capita
- Inflation rates
- Unemployment rates
- Recession probabilities
- Sector & Industry Performance: Historical performance tracking and P/E ratios
- Interactive Charts: All data visualized with Chart.js
- General Market News: Latest financial news with images and sources
- Stock News: Company-specific news updates
- Crypto News: Cryptocurrency market updates
- Forex News: Foreign exchange market news
- Insider Trading: SEC Form 4 filings and insider transaction data
- Crowdfunding Campaigns: Latest Regulation CF offerings
- Equity Offerings: Form D filings and fundraising updates
- Acquisition Ownership: Beneficial ownership disclosures (Schedule 13D/13G)
- Quick Search: Top 50 companies for instant access to acquisition data
- Day-Level Browser Caching: Intelligent caching to reduce API calls
- Portfolio Management: Track all your startup investments
- Investment Metrics:
- Investment amount, equity percentage, valuation
- Funding rounds and investment types
- ROI calculations
- Status tracking (Active, Exited, Failed)
- Investment Updates: Track additional rounds, valuation changes, and exits
- Dashboard Analytics: Visual overview of portfolio performance
- Search & Filter: Find investments by startup name or investor
- Sorting: Sort by date, amount, or status
- LinkedIn Profile Analysis: Upload founder LinkedIn PDFs for AI-powered evaluation
- Comprehensive Scoring:
- Overall founder score (1-10)
- Education quality assessment
- Work experience evaluation
- Leadership potential
- Technical expertise
- Startup experience
- Domain expertise
- Risk Assessment: Red flags, yellow flags, and strengths identification
- Actionable Insights: Specific recommendations and concerns
- Gmail Integration: Connect Gmail accounts for email analysis
- Email Pitch Analysis: AI-powered evaluation of pitch emails
- Startup Extraction: Automatically extract startup details from emails
- Report Generation: Create reports directly from email content
- Attachment Support: Handle email attachments in report creation
- Meeting Recording Upload: Upload and analyze meeting recordings (MP4, WebM, MOV)
- Transcript Generation: Automatic transcription of meetings using AI
- AI Summary: Get key insights, action items, and decisions from meetings
- Interactive Results: Scrollable transcript and summary sections (80% viewport height)
- Download Reports: Export transcript and summary as separate text files
- Email Sharing: Send formatted HTML email reports with professional templates
- Bottom Dock Interface: Floating action dock with download and email buttons
- Integration with Reports: Link meeting insights to startup reports
- PDF Export: Download reports as professional PDFs
- PPTX Export: Generate PowerPoint presentations from reports
- Email Sharing: Share reports via email with formatted HTML
- Download Files: Access uploaded documents and analysis files
- Interactive Chat: Ask questions about your report data
- Chat History: Persistent conversation history for each report
- Contextual Responses: AI responses based on specific report data
- Source Citations: AI lists sources used to answer questions
- PitchLense Branded Chat: Custom AI avatar with PitchLense logo
- Enhanced UI: Black text on yellow backgrounds for better readability
- LLM Guardrails:
- Confidence scoring (40-100%)
- Hallucination detection
- Source citation validation
- Content moderation
- Chrome Extension: Analyze pitches directly from web pages
- Quick Analysis: One-click analysis of startup websites
- Gmail Integration: Analyze pitch emails in Gmail
- Extension Download: Download pre-configured extension directly from the app
- Content Moderation: Google Cloud Natural Language API integration
- Rate Limiting: 10 requests per minute for LLM endpoints
- Response Caching: Intelligent caching (5-30 minutes) to reduce API calls
- Browser-Level Caching: Day-level caching for market data
- Secure Authentication: PBKDF2 password hashing with salt
- JWT Tokens: HttpOnly cookies for session management
- No Debug Logs: Production-ready with no sensitive data in logs
- CSP Headers: Content Security Policy for XSS protection
- Dark Theme: Professional dark mode design throughout
- Liquid Glass Design: Modern glassmorphism with frosted glass effects
- Animated Components: Smooth animations and transitions
- Radial Navigation: Interactive circular dock with connecting lines
- Movie Reel Effects: Vertical scrolling slideshows with sprocket hole effects
- Team Showcase: Professional team section with hover effects
- Tech Stack Display: Animated technology showcase with staggered animations
- Responsive Design: Mobile and desktop friendly
- Loading States: Smooth loading animations
- Error Handling: User-friendly error messages with SweetAlert2
- Tooltips: Contextual help and information
- Centralized Navigation: Consistent navbar across all pages
- Node.js (v14 or higher)
- npm or yarn
- MySQL 8.0+ or Google Cloud SQL
- Google Cloud Platform account (for Gemini AI, Storage, and Natural Language API)
- Install backend dependencies
cd backend
npm install- Set up MySQL database
Run the database schema:
mysql -u your_user -p pitchlense < backend/database.sqlOr import into Cloud SQL via the GCP Console.
- Set up environment variables
Create a backend/.env file with the following variables:
# Google AI/Gemini API
GEMINI_API_KEY=your_gemini_api_key
# Financial Modeling Prep API
FMP_API_KEY=your_fmp_api_key
# Google Cloud Storage
BUCKET=your_gcs_bucket_name
GCS_BUCKET=your_gcs_bucket_name
# Google Cloud Project
GOOGLE_CLOUD_PROJECT=your_project_id
# Cloud Run deployment URL
CLOUD_RUN_URL=your_cloud_run_endpoint_url
# Application environment
NODE_ENV=production
# Google Cloud credentials (for service account)
GOOGLE_APPLICATION_CREDENTIALS=path/to/service-account-key.json
# Database configuration (MySQL/Cloud SQL)
DB_USER=your_database_user
DB_PASSWORD=your_database_password
DB_HOST=your_database_host
DB_NAME=pitchlense
DB_PORT=3306
DB_SSL=true
# For Cloud SQL Unix socket connection:
# INSTANCE_UNIX_SOCKET=/cloudsql/PROJECT:REGION:INSTANCE
# JWT Secret (change in production!)
JWT_SECRET=your_secure_jwt_secret
# Email configuration (for email sharing)
GMAIL_USER=your_gmail@gmail.com
GMAIL_APP_PASSWORD=your_gmail_app_password
IMAP_USER=your_email@gmail.com
IMAP_PASSWORD=your_imap_password
IMAP_HOST=imap.gmail.com
IMAP_PORT=993
SMTP_USER=your_email@gmail.com
SMTP_PASSWORD=your_smtp_password
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587| Variable | Description | Required |
|---|---|---|
GEMINI_API_KEY |
Google Gemini AI API key for document analysis | β |
FMP_API_KEY |
Financial Modeling Prep API key for market data | β |
BUCKET / GCS_BUCKET |
Google Cloud Storage bucket name for file storage | β |
GOOGLE_CLOUD_PROJECT |
Your Google Cloud Project ID | β |
CLOUD_RUN_URL |
Cloud Run service URL for AI processing | β |
NODE_ENV |
Application environment (production/development) | β |
GOOGLE_APPLICATION_CREDENTIALS |
Path to Google Cloud service account key | β |
DB_USER |
MySQL database username | β |
DB_PASSWORD |
MySQL database password | β |
DB_HOST |
MySQL database host (Cloud SQL instance) | β |
DB_NAME |
MySQL database name (default: pitchlense) | β |
DB_PORT |
MySQL database port (default: 3306) | β |
DB_SSL |
Enable SSL for database connection (true/false) | β |
INSTANCE_UNIX_SOCKET |
Cloud SQL Unix socket path (alternative to TCP) | βͺ |
JWT_SECRET |
Secret key for JWT token signing | β |
GMAIL_USER / IMAP_USER / SMTP_USER |
Email credentials for Gmail integration | βͺ |
GMAIL_APP_PASSWORD / IMAP_PASSWORD / SMTP_PASSWORD |
Email app passwords | βͺ |
- Run the server
cd backend
npm start
# Server will start on http://localhost:3000- Access the application
Open your browser and navigate to http://localhost:3000
The application uses MySQL 8.0+ or Google Cloud SQL:
-
Create the database:
CREATE DATABASE IF NOT EXISTS pitchlense CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-
Run the schema file:
mysql -u your_user -p pitchlense < backend/database.sql -
The schema creates 6 tables:
users- User accounts and authenticationreports- Startup analysis reportsuploads- File uploads and documentschats- Q&A chat history with AIinvestments- Investment portfolio trackinginvestment_updates- Investment update history
-
The server will automatically:
- Check for missing tables on startup
- Create necessary indexes
- Handle foreign key constraints
For Google Cloud SQL, you can use either:
- TCP connection: Set
DB_HOST,DB_PORT,DB_SSL=true - Unix socket: Set
INSTANCE_UNIX_SOCKET=/cloudsql/PROJECT:REGION:INSTANCE
For frontend development, edit files in frontend/ and refresh your browser.
Frontend Stack:
- Tailwind CSS via CDN with custom theme
- Chart.js for data visualizations
- D3.js for knowledge graphs
- SweetAlert2 for modals and alerts
- Marked.js for markdown rendering
- jsPDF & PptxGenJS for exports
Backend Stack:
- Express.js web framework
- MySQL2 for database operations
- Google Gemini AI for analysis
- Google Cloud Natural Language for moderation
- Axios for external API calls
- Multer for file uploads
- Nodemailer for email functionality
PitchLense/
βββ frontend/
β βββ index.html # Main landing page
β βββ auth.html # Authentication (login/signup)
β βββ create-report.html # Report creation with file upload
β βββ view-report.html # Reports listing with search/filter
β βββ report.html # Individual report with analysis
β βββ search.html # Real-time company search & details
β βββ market.html # Market performance dashboard
β βββ news.html # Market news & intelligence
β βββ investment.html # Investment portfolio tracking
β βββ founder-dna.html # Founder LinkedIn analysis
β βββ email.html # Gmail integration
β βββ meeting-assistant.html # Meeting recording analysis
β βββ networking.html # Networking features (coming soon)
β βββ extension.html # Browser extension download
β βββ main.jsx # React components
β βββ styles.css # Custom styles and theme
β βββ static/
β βββ navbar.js # Centralized navigation
β βββ cache-util.js # Browser caching utilities
β βββ news.js # News page functionality
β βββ search.js # Search page functionality
β βββ investment.js # Investment tracking functionality
β βββ *.svg # Logo and icons
βββ backend/
β βββ server.js # Express server with all API routes
β βββ database.sql # Complete database schema
β βββ package.json # Backend dependencies
β βββ .env # Environment variables (create this)
βββ extension/
β βββ manifest.json # Chrome extension manifest
β βββ popup.html # Extension popup UI
β βββ background.js # Extension background script
β βββ content.js # Content script for page analysis
β βββ gmail-content.js # Gmail integration script
βββ docker-compose.yml # Docker configuration
βββ Dockerfile # Container setup
βββ nginx.conf # Nginx reverse proxy config
βββ deploy.sh # Deployment automation script
βββ DEPLOYMENT.md # Deployment guide
βββ CONTRIBUTING.md # Contribution guidelines
βββ README.md # This file
POST /api/auth/signup- User registrationPOST /api/auth/login- User loginPOST /api/auth/logout- User logoutGET /api/auth/me- Get current user info
GET /api/reports- List user reports (with pagination, search, filters)POST /api/reports- Create new report with file uploadsGET /api/reports/:id- Get single reportGET /api/reports/:id/data- Get report analysis data from GCSGET /api/reports/:id/uploads- Get report uploaded filesGET /api/reports/:id/uploads/:index/download- Download specific filePOST /api/reports/share-email- Share report via emailPATCH /api/reports/:id/pin- Pin/unpin reportDELETE /api/reports/:id- Soft delete report
POST /api/qna/ask- Ask question about report (with LLM guardrails)GET /api/qna/history/:reportId- Get chat history for report
POST /api/analyze- Analyze pitch content (for extension)POST /api/analyze-email- Analyze email pitch contentPOST /api/analyze-founder- Analyze founder LinkedIn PDF
GET /api/news?type=general|stock|crypto|forex- Get market newsGET /api/news/insider-trades- Get insider trading dataGET /api/news/crowdfunding- Get crowdfunding campaignsGET /api/news/equity-offerings- Get equity offerings (Form D)GET /api/news/acquisition-ownership- Get beneficial ownership data
GET /api/search/fmp?query=AAPL- Real-time symbol searchGET /api/company/profile/:symbol- Company profile dataGET /api/company/financials/:symbol- Financial statements & metricsGET /api/company/additional/:symbol- Employee count, executives, dividendsGET /api/company/news/:symbol- Company press releases
POST /api/investments- Create new investmentGET /api/investments- List user investments (with filters, search, sorting)GET /api/investments/:id- Get investment detailsPUT /api/investments/:id- Update investmentDELETE /api/investments/:id- Soft delete investmentPOST /api/investments/:id/updates- Add investment updateGET /api/investments/:id/updates- Get investment update historyGET /api/investments/:id/metrics- Get calculated investment metrics
POST /api/emails/fetch- Fetch emails from GmailPOST /api/emails/send- Send email via GmailPOST /api/emails/create-report- Create report from emailGET /api/emails/attachment/:uid/:filename- Download email attachment
GET /api/extension/download- Download Chrome extension as zip
GET /health- Health check endpointGET /api/github/repos- Search GitHub repositoriesGET /api/hackernews/top- Get top Hacker News stories
/- Landing page with project overview and hero section/auth.html- Authentication (login/signup) with secure PBKDF2 hashing/create-report.html- Multi-file upload with drag & drop/view-report.html- Reports dashboard with search, filter, and pagination/report.html- Comprehensive report view:- Growth potential scoring & breakdown
- Startup analysis by category
- Interactive knowledge graph (D3.js)
- File viewer (PDF, images, PPTX support)
- AI-powered Q&A chat
- PDF/PPTX export
- Email sharing
/search.html- Real-time company search with comprehensive financial data/market.html- Market performance dashboard with charts/news.html- Market news, insider trades, crowdfunding, equity offerings
/investment.html- Portfolio tracking and investment management/founder-dna.html- LinkedIn profile analysis for founders/email.html- Gmail integration for pitch email analysis/meeting-assistant.html- Meeting recording analysis/networking.html- Networking features (coming soon)
/extension.html- Download browser extension
- HTML5, CSS3, JavaScript (ES6+): Modern web standards
- Tailwind CSS: Utility-first CSS framework (CDN)
- Chart.js: Interactive charts and graphs
- D3.js: Knowledge graph visualizations
- SweetAlert2: Beautiful alerts and modals
- Marked.js: Markdown rendering for AI responses
- jsPDF & PptxGenJS: Export functionality
- Node.js & Express.js: Server framework
- MySQL2: Database driver with connection pooling
- Google Gemini AI: AI-powered analysis and Q&A
- Google Cloud Natural Language: Content moderation
- Google Cloud Storage: File storage
- Financial Modeling Prep (FMP): Market data API
- Axios: HTTP client for API calls
- Multer: File upload handling
- Nodemailer: Email functionality
- JWT: Secure authentication
- bcryptjs: Password hashing
- MySQL 8.0+: Primary database (Cloud SQL compatible)
- 6 Tables: users, reports, uploads, chats, investments, investment_updates
- Foreign Keys: Proper relational constraints
- Indexes: Optimized queries on common columns
- UTF8MB4: Full Unicode support
- PBKDF2: Client-side password hashing
- JWT with httpOnly cookies: Secure session management
- Content Security Policy (CSP): XSS protection
- Rate Limiting: Prevents API abuse
- LLM Guardrails: AI response validation
- Input Sanitization: Prevents injection attacks
- Liquid Glass Theme: Modern glassmorphism design with frosted glass effects
- Radial Dock Navigation: Interactive circular navigation with 8 key features and connecting lines
- Movie Reel Slideshows: Animated vertical slideshows showcasing platform capabilities
- Team Showcase: Professional team section with hover effects and social links
- Tech Stack Animation: Staggered animations for technology showcase
- Enhanced Landing Page: Creative, animated, and innovative content presentation
- Enhanced File Support: MP4, WebM, MOV format support (up to 100MB)
- Scrollable Results: 80% viewport height for transcript and summary sections
- Dual File Downloads: Separate transcript.txt and summary.txt files
- Professional Email Templates: HTML-formatted email reports with branding
- Bottom Dock Interface: Floating action dock with download and email buttons
- Email Modal: Interactive email input with validation and sending status
- PitchLense Branding: Custom AI avatar with PitchLense logo
- Improved Readability: Black text on yellow backgrounds for better contrast
- Enhanced Tooltips: Email addresses shown in hover tooltips
- Professional Presentation: Consistent branding throughout
- Integrated Financial Modeling Prep (FMP) API for real-time market data
- Added comprehensive company search with 15+ data endpoints
- Implemented market performance dashboard with commodities, treasury rates, economic indicators
- Added market news tabs: General, Stock, Crypto, Forex news
- Added insider trading, crowdfunding, and equity offering tracking
- Full investment portfolio management system
- Track investment amounts, equity, valuations, and ROI
- Investment update history with additional rounds tracking
- Dashboard with analytics and visualizations
- Founder DNA analysis from LinkedIn PDFs
- Email pitch analysis with Gmail integration
- Meeting assistant for call/meeting recordings
- Interactive knowledge graphs for ecosystem visualization
- Day-level browser caching for market data
- Server-side response caching (5-30 minutes)
- Debounced search to reduce API calls
- Parallel API calls with Promise.allSettled
- Removed all debug console.log statements (~420+ cleaned)
- Added LLM guardrails with confidence scoring
- Content moderation with Google Cloud Natural Language API
- Production-ready with no sensitive data exposure
- Centralized navbar across all pages
- Real-time search with instant results
- Quick search buttons for top companies
- Data availability indicators
- Enhanced error handling with graceful fallbacks
- PDF viewer improvements for Microsoft Edge
- MySQL/Cloud SQL: Complete migration from SQLite
- 6 Tables: Comprehensive schema with foreign keys
- Connection Pooling: Enhanced performance and scalability
- User Data Isolation: Secure multi-tenant architecture
- Consolidated Schema: Single database.sql file for easy setup
- Hack2Skill - Google Hackathon: Developed as part of the prestigious Hack2Skill - Google Hackathon
- Team Members:
- Aman Ulla: Full Stack AI Engineer, Architect
- GitHub: connectaman
- LinkedIn: connectaman
- Blog: Hashnode
- Email: connectamanulla@gmail.com
- Srinivas Alva: Backend Developer & Data Scientist
- Aman Ulla: Full Stack AI Engineer, Architect
- Tech Stack: React, Node.js, Python, Gemini, GCP Cloud, Docker, GitHub, Perplexity, SerpAPI, Vertex AI
- Project Links:
This project is licensed under the MIT License - see the LICENSE file for details.
- β Commercial use allowed
- β Modification allowed
- β Distribution allowed
- β Private use allowed
- β No liability or warranty provided
The MIT License is a permissive free software license that allows you to use, modify, and distribute the software with minimal restrictions.
We welcome contributions to PitchLense! Please see our Contributing Guidelines for detailed information on how to contribute.
- Fork the repository on GitHub
- Clone your fork locally:
git clone https://github.com/your-username/PitchLense.git cd PitchLense - Create a feature branch:
git checkout -b feature/your-feature-name
- Make your changes and test thoroughly
- Submit a pull request with a clear description
- π Bug fixes - Fix issues and improve stability
- β¨ New features - Add new functionality
- π Documentation - Improve or add documentation
- π¨ UI/UX improvements - Enhance the user interface
- β‘ Performance - Optimize application performance
- π§ͺ Testing - Add or improve test coverage
- Install dependencies:
cd backend && npm install - Set up environment variables (see Quickstart section)
- Run the server:
npm run start - Open
http://localhost:3000in your browser
For more detailed information, please read our Contributing Guidelines.
For support and questions, please refer to the built-in documentation in the application or create an issue in the repository.