Skip to content

Merchant6/compnay_lens

Repository files navigation

CompanyLens

CompanyLens is a simple Laravel 11 app for public-source company and contact discovery.

The app accepts a company name and mailing address, then searches free public sources to return up to five likely company or organization matches. Each result includes evidence links, source status, confidence, likely domains, contact information, and possible decision-maker contacts found from public website pages.

The mailing address is used to disambiguate SMBs with similar names and to improve local-source matching. For example, ABC Plumbing may exist in many cities, but ABC Plumbing, 123 Main St, Austin, TX helps narrow Google Maps, Yelp, BBB, Yellow Pages, state registry, and website-address evidence toward the correct business.

What It Does

  • Searches public company and organization sources:
    • SEC EDGAR company data
    • Wikidata
    • GitHub public organizations
    • DNS and RDAP domain records
  • Adds reproducible public lookup links for:
    • Google, Google Maps, Bing, DuckDuckGo
    • SEC Form D
    • BBB, Yelp, Yellow Pages
    • Crunchbase preview
    • WHOIS, certificate transparency, Hunter public search
    • public social and package-platform searches
    • selected state business registries
  • Extracts contact data from likely company websites:
    • addresses
    • emails
    • phone numbers
    • contact pages
  • Finds possible decision-maker contacts using deterministic role/name patterns:
    • owner
    • founder
    • CEO/CFO
    • controller
    • accounts payable
    • office or billing manager
  • Shows a console-style progress box while enrichment runs.

The app does not use paid enrichment providers and does not scrape LinkedIn.

Requirements

  • PHP 8.2+
  • Composer
  • MySQL for normal local usage
  • Node is not required for the current Blade/Tailwind CDN setup

Required PHP extensions include curl, dom, json, mbstring, and database extensions such as pdo_mysql.

Local Setup

Install dependencies:

composer install

Create your environment file:

cp .env.example .env
php artisan key:generate

Create a MySQL database:

CREATE DATABASE company_lens;

Update .env if needed:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=company_lens
DB_USERNAME=root
DB_PASSWORD=

Run migrations:

php artisan migrate

Start the app:

php artisan serve

Open:

http://127.0.0.1:8000

Running Tests

php artisan test

Tests use SQLite in memory through phpunit.xml, so they do not require MySQL.

Notes

  • External lookup failures are logged to Laravel logs and shown to users only as standard source statuses.
  • Website contact extraction is limited to a small public page set:
    • /
    • /contact
    • /contact-us
    • /about
    • /about-us
    • /support
    • /help
  • Results are capped to the top five matches.
  • Confidence is calculated per result based on source strength, identifiers, evidence links, and contact evidence.

About

Public-source company discovery tool built with Laravel 11. Searches filings, open data, domain records, and public web pages to find company matches and contact info.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages