How kb-dhanush/smartleadgen works
SmartLeadGen is a Streamlit app that takes a user’s industry or topic, generates business leads with Gemini, enriches leads with website contact details from FireCrawl, and presents the results for viewing or CSV download. The main workflow is documented and visible in the sampled source. The graph separates generation, response parsing, enrichment, and presentation; several responsibilities share a source file. External services are shown only where the code calls them.
Main entry points: main.py Lead workflow · streamlit_app.py Streamlit interface · firecrawler.py Website scraping
Components 10
User interface
- Streamlit interface
streamlit_app.py - Results and CSV
streamlit_app.py
Lead workflow
- Lead workflow
main.py - Lead generation
main.py - Response parsing
main.py - Lead enrichment
main.py - Website scraping
firecrawler.py
External services
- Gemini
- FireCrawl API
Other components
- Lead requester
Connections 13
- Lead requester → Streamlit interface: enters interest
- Streamlit interface → Lead workflow: requests leads
- Lead workflow → Lead generation: generates leads
- Lead generation → Gemini: invokes model
- Gemini → Response parsing: returns text
- Response parsing → Lead workflow: returns leads
- Lead workflow → Lead enrichment: enriches leads
- Lead enrichment → Website scraping: scrapes websites
- Website scraping → FireCrawl API: sends scrape request
- FireCrawl API → Website scraping: returns page data
- Lead enrichment → Lead workflow: returns enriched leads
- Lead workflow → Streamlit interface: returns leads
- Streamlit interface → Results and CSV: displays and exports