https://github.com/alikeldev/alikel-linkgen
(note : mostly catered to my personal use, but plan to make it generally usable by others in the future) tool that generates bulk LinkedIn, and domain search links in seconds. Prioritizes key domains (.com, .co.uk, .de, etc.), tracks search history, and exports data for sales/research teams targeting companies worldwide.
https://github.com/alikeldev/alikel-linkgen
Last synced: about 1 year ago
JSON representation
(note : mostly catered to my personal use, but plan to make it generally usable by others in the future) tool that generates bulk LinkedIn, and domain search links in seconds. Prioritizes key domains (.com, .co.uk, .de, etc.), tracks search history, and exports data for sales/research teams targeting companies worldwide.
- Host: GitHub
- URL: https://github.com/alikeldev/alikel-linkgen
- Owner: AliKelDev
- License: mit
- Created: 2025-01-21T15:42:57.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-27T15:31:59.000Z (about 1 year ago)
- Last Synced: 2025-03-27T16:37:05.068Z (about 1 year ago)
- Language: JavaScript
- Homepage: https://linkforge-alikeldev.netlify.app/
- Size: 874 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# LinkForge
**NOTE**: LinkForge requires a LinkedIn Sales Navigator license to be used purposefully.
**NOTE**: You can just use the demo link instead of installing it and running it locally: [https://linkforge-alikeldev.netlify.app/dashboard](https://linkforge-alikeldev.netlify.app/dashboard)
**NOTE**: It's mostly a personal tool to make my job easier, most updates are made to make my life easier haha





## Overview
LinkForge is a React-based automation tool designed to streamline the process of finding relevant professionals or specific individuals on LinkedIn, primarily using Sales Navigator. It allows for bulk generation of search URLs for companies or individuals, intelligent domain validation, role-specific search patterns, and AI-powered assistance.
**Who is this for?** Sales professionals, recruiters, and job seekers who need to efficiently find relevant contacts across multiple companies or locate specific known individuals in bulk.
### Key Features
- **Multi-Role Support:** Tailored workflows for Sales Teams, Recruiters, and Job Seekers.
- **Bulk Company Link Generation:** Generate targeted Sales Navigator searches for dozens of companies simultaneously.
- **Bulk Person Name Search:** Generate Sales Navigator searches for specific individuals by name, optionally filtering by a common company.
- **Combined Person Search:** Generate a single bulk search link using `OR` logic to find any of the entered individuals at once.
- **AI-Powered Assistant (Kei):** Get domain validation help, strategy planning, company analysis, and outreach advice.
- **Domain Checker Tool:** Visual grid preview and list view for validating company domain variations.
- **Company Size Buckets:** Classify companies with customizable size thresholds and manage these buckets.
- **Search History:** Cross-session persistence for both company and name searches (stored locally).
- **Export Capabilities:** Export current results or search history to CSV.
- **Rate-Limited Link Opening:** Safely open multiple generated links with configurable delays.
## Real-World Usage Scenarios
### Sales Workflow (Company Search)

As a tech sales professional:
1. Input target companies in bulk (e.g., "Quadient, CyberAgent, QBurst").
2. Select the "Sales Team" role.
3. Optionally, use the Bucket Selector to classify companies by size.
4. Click "Generate Links" to create targeted searches for relevant roles (Dev, Security, Finance, etc.).
5. Use "Open All Security Links" (or other types) to launch searches sequentially.
6. Ask Kei: "Analyze Quadient's security posture based on their likely tech stack."
7. Get insights to tailor outreach.
### Recruiter Workflow (Company Search)

As a technical recruiter:
1. Input target companies known for engineering excellence.
2. Select the "Recruiter" role.
3. Generate links focused on engineering talent, tech leaders, or finance candidates.
4. Use "Open All Tech Candidates Links" to build candidate pipelines.
5. Export results for your ATS or recruitment team.
### Job Seeker Workflow (Company Search)

As a job seeker looking for opportunities:
1. Input companies you're interested in working for.
2. Select the "Job Seeker" role.
3. Generate HR or Finance contact searches.
4. Use Kei to analyze companies and suggest tailored application strategies.
5. Build your targeted application list with relevant contacts.
### General Workflow (Person Name Search)


1. Switch to the "Name Search" mode on the dashboard.
2. Input a list of names (one per line, e.g., "John Smith", "Alice Leiser").
3. (Optional) Enter a common company name if you want to find these people specifically at that company.
4. Click "Generate Name Search Links".
5. Review the results:
- Use the individual "Open Link" buttons for each person.
- Use the "Open All Basic Search Links" or "Open All Targeted Search Links" buttons to check individuals sequentially.
- Use the "Open Bulk Search" link to see a combined view of results for *any* of the names entered.
6. Useful for verifying contacts, finding specific stakeholders, or reconnecting with known individuals.
## Core Features
### Bulk Link Generator (Company Search)
- Input unlimited company names at once.
- Role-specific search templates focus on relevant positions:
- **Sales**: Dev, Security, Finance, and Machine Identity decision-makers.
- **Recruiter**: Tech candidates, Tech leaders, Finance candidates.
- **Job Seeker**: HR contacts, Finance contacts.
- Automatic domain inference and selection via the Domain Checker.
- Export generated links and company data (including bucket) in CSV format.
### Domain Checker Tool

Quickly validate potential domains for a company:
- **Grid View:** Live website previews in configurable layouts (2x2, 3x3, 4x4). Ideal for quick visual checks.
- **List View:** Detailed management of domain statuses.
- **Status Tracking:** Mark domains as "exists", "not exists", or leave as "unknown".
- **Filtering:** View domains based on their status.
- **Export:** Save findings (domain, status, URL) to CSV.
- **New Window:** Open the grid view in a separate browser window for easier comparison (requires pop-ups enabled).
#### Using the Domain Checker
1. Click "Check Domains" on a generated company card.
2. View variations across common TLDs (.com, .io, .fr, etc.).
3. Toggle between grid and list views.
4. Mark validity status for each domain.
5. Export findings or simply close the modal (status is stored locally).
### Kei AI Assistant

Kei is your integrated AI research assistant (powered by Gemini, configurable if run locally):
- **Chat Interface:** Engage in conversations about specific companies or general strategies.
- **Multiple Personality Modes:** Adjust Kei's tone (Professional, Balanced, Creative).
- **Company Analysis:** Get insights on market position, potential tech stack, organizational structure, etc.
- **Domain Strategy:** Get recommendations on priority TLDs and branding implications.
- **Outreach Strategy:** Get advice on targeting roles, messaging angles, and competitive positioning.
- **Persistent History:** Conversations are saved locally by company for easy reference via a dropdown.
- **Contextual Awareness:** Kei understands the company and domain you are asking about.
### Person Name Search Generator
- Input a list of names (one per line).
- Optionally provide a common company name to narrow the search for both individual and combined links.
- Generates several types of links per batch:
- **Individual Basic Search:** A general LinkedIn search for each name entered.
- **Individual Targeted Search:** A LinkedIn search specifically looking for each name within the provided company context (only generated if a company is entered).
- **Combined Bulk Search:** A single search link using `OR` logic to find *any* of the entered names in one result set. Useful for quickly scanning for multiple contacts.
- Includes "Open All" buttons for individual basic and targeted searches.
- Provides "Open Bulk Search" and "Copy Link" buttons for the combined search.
- Maintains its own persistent search history (stored locally).
### Company Bucket Selector & Management

Classify companies based on estimated team sizes using fully customizable buckets:
- **Default Buckets:** Ranging from "Pre-Seed" to "Tech Giant" based on Dev & Security team sizes.
- **Customization:**
- **Edit buckets:** Modify names, thresholds, and colors.
- **Add buckets:** Create new categories.
- **Delete buckets:** Remove classifications.
- **Reset buckets:** Restore defaults.
- Helps tailor outreach based on company scale. Assigned bucket is included in CSV export.
### Link Management

- **Rate-Limited Opening:** Use the "Open All..." buttons with configurable delays (1-10 seconds) to open links sequentially without triggering LinkedIn's rate limits.
- **Progress Tracking:** Visual feedback when using the rate-limited opening feature.
- **Individual Opening:** Open any generated link directly.
- **Copy-to-Clipboard:** Quickly copy individual link URLs or descriptions.
## Technical Architecture
LinkForge leverages modern web technologies:
### Frontend
- **React 18.3:** Core UI library utilizing Hooks and Context.
- **Vite:** Fast build tool and development server.
- **Tailwind CSS:** Utility-first CSS framework for styling.
- **Framer Motion:** Declarative animations and transitions.
- **React Router:** Client-side routing for navigation (`WelcomePage`, `HomePage`).
### State Management
- **React Context API:** Used for global state like the current user role (`RoleContext`).
- **Local Storage:** Persists user data across sessions, including:
- Company search history and generated links per role.
- Name search history and generated links.
- Kei AI chat conversations by company.
- Custom company bucket configurations.
- User preferences (like AI personality mode).
### AI Integration
- **Netlify Functions:** Serverless backend (`ai-chat.js`) acting as a proxy to the AI API.
- **Google Gemini API:** Powers the Kei assistant (specifically Gemini Flash 2 by default in the Netlify function). Configurable if run locally.
- **Context Awareness:** The backend function receives company/domain context to tailor Kei's responses.
### Responsive Design
- Adapts to various screen sizes from mobile to desktop.
- Touch-friendly controls and mobile-optimized layouts.
## Installation & Configuration
(Unless you want to modify the way something works, using the deployed version is recommended: [https://linkforge-alikeldev.netlify.app/dashboard](https://linkforge-alikeldev.netlify.app/dashboard))
### Prerequisites
- **Node.js:** Version recommended by the `.nvmrc` file (Requires Node.js 18+). Check with `node -v`.
- **npm:** Comes with Node.js. Check with `npm -v`.
- **Git:** For cloning the repository.
- **(Optional) Gemini API Key:** Required *only* if you intend to run the application locally and use the Kei AI assistant. Needed for the Netlify Function to work.
### Setup
```bash
# Clone the repository
git clone https://github.com/AliKelDev/Alikel-Linkgen.git
cd Alikel-Linkgen
# Install recommended Node.js version (if you use nvm)
nvm use
# Install dependencies
npm install
# Set up environment variables for local development (only needed for AI)
cp .env.example .env
# Edit the .env file in the project root:
# Add your Google Gemini API key like this:
# GEMINI_API_KEY=your_api_key_here
# Start the development server (usually runs on http://localhost:3000)
npm run dev
# To build for production
npm run build
```
### Environment Variables
- `.env` file (in project root):
- `GEMINI_API_KEY`: Your API key for Google Gemini. This allows the `ai-chat.js` Netlify function (or its local development equivalent) to communicate with the AI model. *Note: Using the API may incur costs based on usage.*
## Development Guide
### Project Structure
```
src/
├── App.jsx # Main application component
├── main.jsx # Application entry point
├── assets/ # Static assets like SVGs
├── components/
│ ├── common/ # Shared UI components (e.g., RoleSelector)
│ ├── features/ # Feature-specific components
│ │ ├── linkGenerator/ # Company search feature
│ │ └── nameGenerator/ # Person name search feature
│ ├── AnimatedBackground.jsx # Main layout, includes header, sidebar logic
│ └── exportDropdown.jsx # Export functionality UI
├── contexts/
│ └── RoleContext.jsx # Manages user role state
├── pages/
│ ├── HomePage.jsx # Main dashboard page
│ └── WelcomePage.jsx # Landing/introduction page
├── utils/
│ ├── linkUtils/ # URL generation logic for company search by role
│ │ ├── sales.js
│ │ ├── recruiter.js
│ │ └── jobseeker.js
│ └── nameSearchUtils.js # URL generation logic for individual and bulk name search
└── index.css # Tailwind base styles and custom CSS
```
### Key Components
- `BulkLinkGenerator.jsx`: Interface for company search.
- `BulkNameSearch.jsx`: Interface for person name search.
- `GeneratedLinkCard.jsx`: Displays results for a single company search.
- `DomainCheckerModal.jsx`: Modal for validating company domains.
- `AIChatAssistant.jsx`: Kei AI chat interface.
- `BucketSelector.jsx`: Component for selecting and managing company size buckets.
- `RoleSelector.jsx`: Allows switching between Sales, Recruiter, Job Seeker roles.
- `AnimatedBackground.jsx`: Wraps the application, handles layout, sidebar, header, and manages the floating AI chat bubble/window.
- `HomePage.jsx`: Orchestrates the main dashboard view, including metrics and switching between company/name search.
### Development Commands
- `npm run dev`: Start the local development server.
- `npm run build`: Create a production-ready build in the `dist/` folder.
- `npm run lint`: Run ESLint to check code quality.
### Adding New Features
#### New Role Type
1. Add the new role key to `ROLES` and its configuration to `ROLE_CONFIGS` in `src/contexts/RoleContext.jsx`.
2. Create a corresponding link generation utility file in `src/utils/linkUtils/`.
3. Update UI components (like `RoleSelector.jsx`, potentially `BulkLinkGenerator.jsx`) to recognize and handle the new role.
4. Define the specific link types for the new role in `BulkLinkGenerator.jsx` (inside `ROLE_LINK_TYPES`).
#### New Search Template (within an existing role)
1. Add a new link generation function (e.g., `generateNewTypeLink`) in the relevant role file within `src/utils/linkUtils/`.
2. Update the `generateLinks` function in that same file to include the new type.
3. Add the new link type and label to the `ROLE_LINK_TYPES` constant in `BulkLinkGenerator.jsx`.
4. Ensure `GeneratedLinkCard.jsx` can display the new link type correctly (it should work automatically if the structure is consistent).
5. Add a corresponding "Open All..." button in `BulkLinkGenerator.jsx`.
## Advanced Usage Tips
### Market Segmentation Research
Use the **Company Bucket Selector** to estimate sizes for a list of companies, then export the results (which include the bucket classification) for market analysis or territory planning.
### Conference Preparation
1. Input companies attending an event into the **Bulk Link Generator**.
2. Generate links for key roles (e.g., Sales Leaders, Tech Leaders).
3. Use the **Domain Checker** to quickly find their main websites.
4. Use **Kei AI Assistant** to get quick summaries or potential talking points for each company.
### Competitive Analysis
1. Input competitors into the **Bulk Link Generator**.
2. Use the **Domain Checker** (especially the grid view) to analyze their web presence and branding consistency across TLDs.
3. Generate links for key departments (e.g., Sales, Engineering) to map their organizational structure.
4. Ask **Kei** to compare their likely strategies or tech stacks based on available information.
## What's Next
Planned improvements include:
- Ability for Kei to remember user-specific information across sessions (like preferred prompts, user's role, company, etc.) similar to profile creation.
- Exploring more advanced AI capabilities for Kei, potentially analysis of broader market trends or more specific profile analysis (maybe image analysis via Moondream if feasible).
- Adding more specific search templates based on user needs.
- Potentially exploring more agentic functions for Kei to perform multi-step tasks.
## License
This project is licensed under the MIT License - see the LICENSE file for details.
## Acknowledgements
- Developed by [AliKelDev](https://github.com/AliKelDev)
- Built with React, Vite, Tailwind CSS, and Netlify Functions.
**NOTE**: I am Alice, it's an Alias. Alice Leiser = Alikel = AKD = Jordan.M, so when Alice Leiser commits something, it's me.