Skip to content

akash-kumar5/Shelly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Shelly – Automated Lead Generation & Cold Outreach Platform

Turn a single Google Maps search query into 100+ targeted cold emails automatically.

Shelly is an end-to-end automation system that discovers businesses, extracts contact emails from their websites, builds structured lead datasets, and sends personalized cold emails — all from a simple dashboard.

Built for freelancers, agencies, and growth hackers who care about speed and scale.


🚀 What Shelly Does

From one search query:

  1. Scrapes businesses from Google Maps
  2. Extracts their websites
  3. Crawls each site to find email addresses
  4. Stores structured leads in CSV
  5. Sends automated cold emails
  6. Tracks runs & history in a dashboard

No manual research. No copy-paste. No chaos.


🧠 Why This Exists

Manual lead generation is slow, boring, and error-prone.

Shelly automates the entire sales prospecting pipeline and reduces:

  • Lead research time → 95%
  • Outreach setup → 90%
  • Human mistakes → near zero

This project is also used as a real freelancing automation tool to deliver business process automation solutions to clients.


🖥️ Dashboard Features

  • New run creation
  • Live lead preview
  • Email sending control
  • Run history tracking
  • CSV export
  • Error-tolerant scraping workflow

Built with Streamlit for rapid interaction.


⚙️ Tech Stack

  • Language: Python 3
  • UI: Streamlit
  • Scraping: Requests + BeautifulSoup
  • Email: SMTP (Gmail / custom providers)
  • Data: CSV based storage
  • Environment: dotenv

🧩 Project Structure

flowchart TD
    A[Shelly Project]

    A --> B[core]
    A --> C[ui]
    A --> D[runs]
    A --> E[app.py]
    A --> F[requirements.txt]
    A --> G.env

    B --> B1[maps_scraper.py]
    B --> B2[email_scraper.py]
    B --> B3[auto_mail.py]
    B --> B4[run_manager.py]

    C --> C1[new_run.py]
    C --> C2[preview_leads.py]
    C --> C3[sending.py]
    C --> C4[history.py]

    D --> D1["run_YYYY_MM_DD_HH_MM_SS"]


Loading

How it works (Pipeline)

flowchart LR
    A[User Search Query] --> B[Google Maps Scraper]

    B --> C[Business Listings]
    C --> D[Website Collector]

    D --> E[Website Crawler]
    E --> F[Email Extractor]

    F --> G[Lead Normalizer]
    G --> H[CSV Dataset]

    H --> I[Email Automation Engine]
    I --> J[SMTP Server]
    J --> K[Target Businesses]

    H --> L[Dashboard Preview]
    I --> M[Run History & Logs]
Loading

Each stage is modular and fault-tolerant.


📊 Performance (Typical)

  • 150–300 leads per hour (network dependent)
  • 60–80% valid email detection
  • Handles hundreds of websites per run

🧪 Setup Instructions

1. Clone

git clone https://github.com/yourusername/shelly.git
cd shelly

Install dependecies

pip install -r requirements.txt

Configure env

EMAIL=your_email@gmail.com
PASSWORD=your_app_password
SMTP_SERVER=smtp.gmail.com
SMTP_PORT=587

Run

streamlit run app.py

Example Use Cases


  • Freelancers building client lists

  • Digital agencies prospecting local businesses

  • SaaS sales teams

  • Startup founders validating markets

  • Growth hackers & marketers

Ethical Usage


This tool is for:

  • B2B outreach

  • Business communication

  • Automation research

Do not use for:

  • Spam campaigns

  • Illegal data harvesting

  • Violating platform terms

User is responsible for compliance with local laws (GDPR, CAN-SPAM, etc).

Roadmap


Planned upgrades:

  • Email templates with variables

  • Multi-threaded scraping

  • Proxy support

  • Email bounce detection

  • PostgreSQL storage

  • Docker deployment

  • SaaS version

👨‍💻 Author

Built by Akash Kumar Python Developer | Automation Engineer

About

End-to-end automation platform for scraping Google Maps leads, extracting emails, and running cold outreach campaigns from a single dashboard.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages