Code Monkey home page Code Monkey logo

leadpeak's Introduction

Leadpeak

What is Leadpeak

Leadpeak is a desktop application that allows for rapid lead collection and aggregation based on location and business type. This is especially useful when trying to collect leads for physical goods or service company.

For example:

  • A janitorial services company looking for local restaurants that they can provide their services to
  • A print shop looking to reach out to nearby notaries or lawyers offices to provide services
  • A food delivery service looking for restaurants that would like their food delivered through their service.
  • etc, etc, etc.

Getting Started With Leadpeak

You can get the most recent release here

  1. Install and Open the application and navigate to settings.
  2. Paste in your gmaps and hunter.io API Keys
  3. Get to collecting local leads ๐ŸŽ‰

Prerequisites

There are a few things you should know before you start using leadpeak to your leads...

Credentials & Accounts

To use Leadpeak you'll need to have both a google maps API key and a Hunter.io API key. Both of these can be acquired for free under relatively gracious free plans.

Legality & Additional Knowledge

All information that leadpeak collects and aggregates is 100% legally obtained and is collected from the public internet (either the google maps database or public websites where hunter.io has found further contact information).

That said, It's important that when using leadpeak, and the data it collects, that you're aware of the spam and cold emailing laws in your country/region. Leadpeak is meant to be used to automate the process of prospecting leads in your local area, not for mass spam campaigns and/or other illegal activity.

Links to spam and cold emailing laws :

These links are not meant to be legal advice, if you have genuine concerns about the legality and laws regarding cold emailing and email marketing in your country/region, contact a lawyer familiar with the applicable laws.

leadpeak's People

Contributors

dependabot[bot] avatar mykalmachon avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

leadpeak's Issues

Have to Double Click Settings to Open Them

Describe the bug
The settings modal requires a double click to open after the first time using the modal. This is not ideal.

The behaviour is due to the way I'm checking for modal open state. Will need to look further into props and prop expectations to fix this.

To Reproduce
Steps to reproduce the behavior:

  1. Click on the Settings button
  2. Close the Settings Menu
  3. Try clicking on the Settings button again
  4. Notice that you need to click twice to open the menu

Expected behavior
The settings menu should open on simply one click.

Screenshots
N/A

Desktop (please complete the following information):

  • Electron.js

String Padding On Exported Data

String Padding On Exported Data

When exporting data into a CSV a number of strings in the file have unnecessary ' ' "padding" due to the way the code splits the address into pieces. Most prominently, at the beginning of the fields, there is often an extra space or two.

This could be fixed with some string methods ala String.trim()

Rebuild Frontend

Rebuild Frontend

After trying to refactor the frontend It's become pretty obvious that the react frontend needs a rewrite.

Why rebuild the FrontEnd?

There are three main reasons to rebuild the frontend for this app...

  1. State-First Thinking : When I initially built the front end I didn't take nearly enough time to plan how state will be managed throughout the app. Currently, the state of the app is pretty rough and taped together. (see results management and the searchbar component). By restarting I should be able to better manage state through tools like content providers.
  2. Componentize from the Start : Most of the app is currently three components. They're essentially massive template files and they are difficult to maintain. Restarting will allow for me to componentize things from the start/.
  3. Scalability : By the virtues of the points above, building out new features in the app will be much easier if things are built with a stronger foundation

More Results Feature

More Results Feature / Next Page

Looking to implement a "get more results" button at the bottom of the list of results that will allow a user to get the next page of results from the google search API.

This can quite easily be accomplished by using google's "next_page_token" which is provided as a root query on any response that had more results than those that were included in the initial response.

See the Google Maps documentation on the subject here

Results Design

Results Design

The current UI only display a list of the results names. Ideally, the UI should have a more data rich card or element to give the user more information about the place at a glance.

A design and implementation process should be initiated and documented in this issue.

Add UI to display individual Result Categories

Add UI to display individual Result Categories

Add some UI to denote the assigned categories of the results returned from the google maps API.

Currently, there isn't anything showing this, and eventually, I would like to be able to filter by these so showing them in the UI is pretty important for transparency reasons

Hunter.io Support

Should have an optional integration with Hunter.io to allow for users to integrate using their api key and pull in all their email addresses.

Implement Details API for more information on leads

Implement Details API for more information on leads

By adding the Details API, Findr will be able to display and export more information on leads. More specifically, for a price (as per the googla maps API cost) the user will be able to get the following fields

  1. Phone Number for the lead
  2. Formatted Address and components of that address
  3. Website for the lead

Implementing this incurrs work on both the main and renderer process.

Onboarding Process

I would like to implement some sort of onboarding process for new users. This would make installation much more simple and streamlined as opposed to the current setup which is essentially a variables.env file.

This feature will be a necessity a little down the line: when there is an installer available, the average user won't want to / shouldn't need to edit the source to get findr to work.

Develop an Installer

Develop an Installer

Should develop an installer using electron-builder.

This will allow the app to be packaged for distribution on Windows & Linux.

I'll need to find a Mac OSX machine to build for the Mac OSX target.

Settings Modal / Page

Implementing a settings modal / page would be better than the current setup (which is just a settings dropdown). In doing this I would also want to implement some sort of settings persistence, most likely with electron settings

Selective Export

Selective Export

This feature would allow a user to selectively output data from the results list based on whether it was relevant to their needs or not.

This would allow deeper use cases and filtering on a direct user level as opposed to something like filtering in the search parameters before receiving your results.

This will most likely take quite a bit of work, most notably in the react front-end as a selection function will have to be implemented allowing users to select what is relevant in the UI

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.