Deal Sourcing Tool Development

Job ID: 38942275

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

Project Overview
We are building a robust, scalable online origination tool for private equity deal sourcing. The tool will centralise company data scraped from Yellow Pages and True Local, enrich it with email addresses using Hunter.io, and provide a user-friendly interface to search, view, and export data. It will integrate with tools such as Outlook, a CRM (Affinity PE), and Company360 for seamless deal origination workflows.

We have existing Python scripts for scraping data from Yellow Pages and True Local. Now, we need an experienced developer or team to help us complete the project by handling data consolidation, enrichment, frontend and backend development, and integration.

Scope of Work

1. Import Scraped Data into SQL Database
Objective: Consolidate all scraped data into a centralised SQL database for storage and easy access.

- Export data from the completed Python scripts (Yellow Pages and True Local) in CSV format.
- Clean and deduplicate the data (e.g., using `Company Name + Location` as a unique identifier).
- Import the cleaned data into a SQL database with the following schema:
```sql
CREATE TABLE companies (
id SERIAL PRIMARY KEY,
company_name TEXT NOT NULL,
industry TEXT,
location TEXT,
phone TEXT,
website TEXT,
hunter_email TEXT,
hunter_email_type TEXT,
hunter_confidence INT,
hunter_verified BOOLEAN DEFAULT FALSE,
source TEXT,
date_scraped DATE,
UNIQUE (company_name, location)
);
```
- Track imported data in a `scrape_history` table to avoid duplication:
```sql
CREATE TABLE scrape_history (
id SERIAL PRIMARY KEY,
industry TEXT,
location TEXT,
date_scraped DATE
);
```

2. Hunter.io Integration for Email Enrichment
Objective: Automatically retrieve email addresses from company websites to enrich the data.

- Extract domains from the `website` field for companies without an email (`hunter_email IS NULL`).
- Use Hunter.io’s API to query domains and retrieve:
- Email address.
- Email type (e.g., "generic" or "personal").
- Confidence score.
- Update the `companies` table with enriched email data.
- Log API calls in a `hunter_api_logs` table for auditing:
```sql
CREATE TABLE hunter_api_logs (
id SERIAL PRIMARY KEY,
company_id INT REFERENCES companies(id),
domain TEXT,
email TEXT,
response JSONB,
date_searched TIMESTAMP DEFAULT NOW()
);
```

3. Develop Live Scraping Feature
Objective: Enable on-demand scraping for new industries or locations.

- Build a backend scraping service that accepts parameters (e.g., Industry, Location) via an API.
- Check the `scrape_history` table before initiating scraping to prevent duplication.
- Store new results directly in the `companies` table and update the `scrape_history` table.

4. Build / Use a Searchable Tool
Objective: Provide a user-friendly interface to search, filter, and view company data.

- Design a search interface with filters for:
- Industry
- Name
- Location (city, suburb, state)
- No. Employees
- Year founded
- Confidence Score (for Hunter.io emails)
- Display results in a clean, paginated table format with options to:
- Export results to CSV or Excel.
- View detailed company profiles, including enriched email data
- use AI and Outlook integration to email the contact

5. Finalise Backend Functionality
Objective: Ensure robust backend logic for managing data and integrations.

- Set up APIs for CRUD operations (Create, Read, Update, Delete) on the `companies` table.
- Build endpoints for:
- Interacting with Hunter.io.
- Supporting frontend features like live search and export.
- Triggering live scraping services.

6. Design the Web Interface
Objective: Create a professional and intuitive web application for the tool.

- Use modern frontend frameworks (e.g., React.js or Angular) to build the UI.
- Implement responsive design for desktop and mobile devices.
- Ensure seamless integration with backend APIs for real-time data access.

7. Host the Tool on the Web
Objective: Make the tool accessible online.

- Deploy the backend and database on a cloud platform (e.g., AWS, Google Cloud, or Azure).
- Use a CDN (Content Delivery Network) to host the frontend for fast loading.
- Secure the application with HTTPS and authentication mechanisms (e.g., OAuth2).

8. Integrations and Deployment
Objective: Finalise integrations and deploy the tool.

- **Outlook Integration**:
- Draft and send emails.
- Tag and track email replies to company which is displayed when clicking a company profile.
- automate follow up email if no response
- reply and organise meetings
- outreach based on criteria e,g. Industry and location, no. Emails a day etc.
- turn AI off and on
- Use AI to manage
- **CRM Integration** (Affinity PE):
- Automatically update CRM records with enriched data and outreach activity.
- **Company360 Integration**:
- Retrieve financial and director details for companies.
- Conduct final testing and deploy the tool to production.

9. Integrate custom news filtering based on criteria which is displayed on the interfsce
---

What We Provide
- Python scripts for scraping data from Yellow Pages and True Local.
- Access to API's

---

Final Deliverable
- A centralised, online tool for managing, enriching, and visualising company data, complete with live scraping, email enrichment, and integrations for deal origination.

---

Skills Required
- Python (for data processing and API integration).
- SQL (database design and management).
- Web development (React.js, Angular, or similar frontend frameworks).
- Cloud hosting (AWS, Google Cloud, or Azure).
- API integration (Hunter.io, Outlook, CRM, and Company360).

---

Timeline
Expected completion within 6-10 weeks.

---

Budget
Please provide your proposal with an estimated cost and timeline.
Related categories: Python PostgreSQL React.js API Cloud