Inspiration

Networking is the most effective way to land internships and jobs, but the process is painful. You spend hours researching people, writing cold messages that mostly get ignored, and losing track of who replied what.

LinkedIn dominates professional networking, but its outreach tools are basic. You get a text box and a send button. There is no intelligence around who to contact, what to say, or how to follow up. I wanted to explore what networking looks like when AI handles the strategy and personalization, not just the delivery.

What it does

AI Networking Copilot walks you through a complete outreach workflow:

  1. Define your goal - Describe what you're looking for (internship, mentorship, research collab) and your background
  2. Discover contacts - AI ranks 500 professionals by relevance, giving each a match score and reason
  3. Generate messages - Pick a template and tone, and AI writes personalized outreach referencing each contact's specific role, skills, and company
  4. Send and track - Review drafts, edit inline, approve, and batch send
  5. Manage conversations - A WhatsApp-style chat interface with AI-generated replies, sentiment classification, and context-aware follow-up suggestions
  6. Analyze results - Dashboard with reply rates, sentiment charts, and per-campaign breakdowns

How we built it

The entire app runs in a single Python process with zero external services besides Groq for LLM inference.

  • FastAPI serves both the API and HTML pages
  • Jinja2 + HTMX + Pico CSS for the frontend with no JavaScript framework and no build step. All dynamic interactions use HTMX to swap HTML fragments
  • SQLite + SQLAlchemy for the database with 6 ORM models covering profiles, goals, templates, messages, replies, and send config
  • Groq (Llama 3.3 70B) powers 6 distinct LLM call sites: profile ranking, message generation, synthetic reply generation, reply classification, follow-up suggestions, and profile generation
  • Chart.js for dashboard visualizations

Everything runs on free tiers. Total cost: $0.

Challenges we ran into

  • Rate limits - Groq's free tier has strict limits (~30 req/min). I batched profile ranking into a single LLM call for 50 profiles and added retry with exponential backoff
  • LLM output parsing - Getting structured JSON back from the LLM reliably required Groq's JSON mode plus fallback parsing for edge cases
  • Conversation continuity - Making multi-round AI conversations feel natural meant tracking sentiment evolution and knowing when to conclude a thread
  • No JS framework - Building a WhatsApp-style chat interface with just HTMX and server-rendered HTML required creative use of form posts and redirects

Accomplishments that we're proud of

  • Built a full end-to-end product solo in 36 hours with a complete user flow from goal creation to conversation management
  • 6 distinct LLM call sites that each serve a different purpose, all routed through a single client wrapper with retry logic
  • The chat interface feels like a real messaging app despite being entirely server-rendered with zero client-side JavaScript state
  • The app works immediately on a fresh install with seeded demo data so there is never an empty state

What we learned

  • HTMX is surprisingly powerful for building interactive UIs without client-side JavaScript
  • A single LLM call with good prompting can replace complex ranking algorithms
  • Designing realistic synthetic conversations taught me a lot about how professional networking actually works
  • Keeping the stack simple (one process, one database file, no build step) made it possible to ship a complete product solo

What's next for AI Networking Copilot

  • Real integrations - Connect to LinkedIn and email APIs to move beyond simulation and become a standalone networking tool that does not depend on LinkedIn's limited built-in outreach
  • Real contact database - Replace synthetic profiles with real professional data from public APIs
  • Smarter scheduling - Warmup sending, time-zone-aware delivery, and A/B testing different message templates
  • Response analytics - Track which templates, tones, and ask types get the best reply rates across campaigns
  • Multi-user support - User accounts, team campaigns, and shared contact pools

Built With

Share this project:

Updates