-
-
Your networking pipeline in one view. Track messages, replies, and sentiment. Always know where each conversation stands.
-
Describe your goal in plain English. AI finds the best contacts, drafts personalized outreach, and manages every reply.
-
Stop guessing who to reach out to. Every contact is AI-scored and ranked by relevance, with skills and reasons at a glance.
-
You set the strategy, the AI writes the words. Choose a template, set the tone, and customize how each section reads.
-
Three personalized messages, three people, zero copy-paste. Every message sounds like you wrote it. Review, edit, send.
-
Replies sorted by sentiment so you know who to follow up with first. Green means interested, red means move on.
-
Full conversation threads with an AI co-pilot. Every reply gets a suggested response you can edit, regenerate, or send.
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:
- Define your goal - Describe what you're looking for (internship, mentorship, research collab) and your background
- Discover contacts - AI ranks 500 professionals by relevance, giving each a match score and reason
- Generate messages - Pick a template and tone, and AI writes personalized outreach referencing each contact's specific role, skills, and company
- Send and track - Review drafts, edit inline, approve, and batch send
- Manage conversations - A WhatsApp-style chat interface with AI-generated replies, sentiment classification, and context-aware follow-up suggestions
- 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
- fastapi
- groq
- htmx
- javascript
- jinja
- llama-3.3
- pico-css
- python
- sqlalchemy
- sqlite
Log in or sign up for Devpost to join the conversation.