Automated Investment Report Generation System (AI to generate PPTX)

Job ID: 39637848

Budget: $1,500 – $3,000 USD

We are building a system that allows users to automatically generate high-quality, structured investment reports from financial documents such as company financials, investor presentations, pitch decks, and public filings.
The goal is to enable users to upload new documents for any company — even one not previously in the database — and produce a detailed, professional-grade investment report that follows one of our pre-defined report templates. These reports should include consistent sections, a similar level of detail, and matching charts, graphs, and formatting.
What the System Should Do
Allow On-Demand Document Upload
Users can upload one or more PDFs (e.g., earnings reports, pitch decks)
The system extracts and processes the content from these documents in real-time
User uploads their logo
Extract, Structure, and Store Document Content
Text is parsed from the PDF and broken into meaningful sections
Embeddings are generated from the content and stored in a vector database
Documents are tagged with metadata like company name, year, and document type
Generate a Custom Report Based on a Selected Template
The user selects from a library of investment report templates (these templates will be provided by the client - right now we have one template)
Each template includes a specific structure (section names), tone of writing, expected depth per section, and types of charts or tables to include
Use LLMs to Create the Report
The system uses Claude (and optionally GPT-4) to generate the report
As a note, I like Claude because of its long context window but I know GPT-4 does better on graph and chart generation
The LLM is guided by the selected template and retrieves only relevant chunks of uploaded content using RAG (retrieval-augmented generation)
Each section of the report is written separately, using the template’s instructions for depth and tone
Automatically Generate Visuals
The system extracts financial data (e.g., revenue, margins, growth rates) from the documents
It creates relevant charts and tables (e.g., bar charts of revenue, valuation comparisons) as specified by the template
Assemble and Format the Final Report
The text and visuals are inserted into a clean, branded layout that matches the template
The report is rendered as a polished PPTX, ready for download or sharing
Store and Track Reports
The system stores the generated report alongside metadata (e.g., company name, date)
Optionally, reports can be accessed via a user dashboard or sent by email

System Intelligence
The system uses Claude 3 Opus (or Sonnet) as the primary model due to its ability to follow structure, maintain tone, and generate long-form, coherent content
GPT-4 Turbo may be optionally used for fine-tuning sections or formatting complex tables
Perplexity API can be integrated for real-time data like competitor multiples or market trends
Outcomes
Users can quickly create consistent, investor-ready reports from new company documents
All reports follow a standardised structure and include similar depth and visuals

My suggested architecture but feel free to make adjustments as necessary

1. USER INTERFACE (Streamlit or Web App)
Main functions:
Upload PDF documents (financials, pitch decks, filings)
Upload logo
Input company metadata (name, year, sector – optional)
Select a report template (with preview)
Click “Generate Report”
Built with: Streamlit or Next.js + FastAPI

2. TEMPLATE LIBRARY (Blueprints)
Each report template is a full report blueprint, stored in JSON/YAML format:
Stored in: JSON files, Firestore, or lightweight DB
Used by:
Prompt builder (for Claude/GPT-4)
Chart generator
PDF assembler

3. DOCUMENT INGESTION PIPELINE
Triggered when a user uploads documents.
Steps:
Text Extraction: Unstructured.io or pdfplumber
Chunking: LangChain’s RecursiveCharacterTextSplitter
Embedding: OpenAI text-embedding-3-large or InstructorXL
Storage in Vector DB: Pinecone or Weaviate with metadata:
Purpose: Makes new content immediately searchable via vector search + metadata filters

4. REPORT GENERATION PIPELINE (RAG + Claude + GPT-4)
a. Prompt Builder (Template-Aware)
Builds prompts dynamically per section using the template.
b. Retriever Layer (LangChain)
Filters Pinecone DB using company metadata
Retrieves top-K relevant chunks per section
c. LLM Section Writer
Claude generates the section based on the prompt + context
Optional: GPT-4 refines or expands output
d. Chart/Table Generator
Uses extracted financial figures
Generates visuals using Plotly or Matplotlib
Matches visuals defined in the template (e.g., revenue bar chart)

5. SLIDE DECK ASSEMBLY ENGINE
Tool: python-pptx
Steps:
For each slide:
Add slide title
Add bullet points or narrative text (from Claude/GPT)
Embed chart/table visual
Apply consistent branding:
Logo, colors, fonts, headers/footers
Export final file:
.pptx (PowerPoint, editable)
.pdf (converted version for sharing)

6. REPORT DELIVERY & STORAGE
Download link shown to user
Optional:
Save to cloud storage (e.g. S3)
Save to “Report History” dashboard
Notify via email/slack

[User uploads PDFs + selects template]

[Document Ingestion: Extract → Chunk → Embed → Store in Pinecone]

[System reads template → Builds outline prompt → Uses Claude]

[Retrieves relevant content per section from vector DB]

[Claude/GPT-4 writes sections using template tone + content guide]

[Charts generated per template specs]

[Content + visuals inserted into formatted report layout]

[PPTX generated and served to user]