Finsum is an innovative AI-powered platform designed to break down the complex world of financial statements and make company insights accessible to everyone.
Financial documents are notoriously complex:
- Filled with technical jargon
- Laden with intricate calculations
- Intimidating for those without a finance background
Finsum leverages cutting-edge AI to transform dense financial data into clear, digestible insights that anyone can understand.
- Select a company and get an AI-generated narrative of its financial journey
- Interactive financial metric visualizations
- Contextual AI chat to answer your specific questions
- Explore financial terms and concepts
- Receive beginner-friendly explanations
- Learn through simple analogies and plain language
- Streamlit
- Python
- Pandas, NumPy
- Web Scraping Tools (Selenium, BeautifulSoup)
- PDF Processing (PyMuPDF)
- OpenAI SDK (via OpenRouter)
- Langchain
- Transformers
- Sentence-Transformers
- Pinecone (Vector Database)
- PostgreSQL
- Local File Storage
- Plotly
- Matplotlib
- Seaborn
finsum/
│
├── .streamlit/ # Streamlit configuration
├── data/ # Processed company data
├── data_extraction/ # Scripts for raw data retrieval
├── data_preprocessing/ # Data cleaning and formatting scripts
├── pages/ # Streamlit application pages
├── pipeline/ # Intermediate data processing
├── prompts/ # LLM prompt templates
├── utils/ # Utility scripts
├── Welcome.py # Main Streamlit entry point
└── requirements.txt # Project dependencies
- Python 3.8+
- Git
- Chrome Browser (for web scraping)
-
Clone the repository:
git clone https://github.com/yourusername/finsum.git cd finsum -
Create a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Set up API Keys:
- OpenRouter API Key (for AI features)
- Pinecone API Key (for vector database)
Store these in
.streamlit/secrets.tomlor.env -
Install ChromeDriver:
- Download matching your Chrome version
- Update path in
data_extraction/extract_latest_news.py
streamlit run Welcome.py