AI-powered backend service that enhances PopIn's mobile app with intelligent networking recommendations. This API analyzes attendee profiles and suggests optimal connections based on shared interests, complementary goals, and professional backgrounds.
For PopIn's Mobile App:
- REST API endpoints that deliver personalized networking suggestions
- Real-time recommendations based on attendee profiles and goals
- Visual network data for cluster maps and connection opportunities
- LinkedIn integration for automatic profile importing
- Bulk data processing for easy attendee list management
For PopIn's Users (via the app):
- Smart introductions - AI suggests who to meet and why
- Networking maps - Visual clusters showing professional communities
- Explained matches - Clear reasons why connections make sense
- Goal-oriented networking - Find people who can help achieve specific objectives
# 1. Download the project
git clone https://github.com/your-username/PopInEventNetworkingAIProj.git
cd PopInEventNetworkingAIProj
# 2. Install everything (this might take a minute)
pip install -r requirements.txt
# 3. Start the server
python main.pyYou should see: Server will be available at: http://localhost:8000
- Go to: http://localhost:8000/docs
- You'll see: A beautiful API interface with all the tools ready to use
- Open the demo notebook:
jupyter notebook demo_organized_final.ipynb - Click "Run All" to see the AI in action with sample tech conference data
- Watch: The AI automatically find perfect networking matches and create cluster maps!
๐ That's it! You now have a working AI networking system.
๐ฏ View Full Client Presentation
Comprehensive overview including business case, technical architecture, demo instructions, and integration strategy for PopIn's mobile app.
For PopIn's development team integrating with their mobile app:
-
Import PopIn's event attendee data:
# PopIn's backend calls this API to sync attendee data response = requests.post('http://your-ai-service/api/v1/import/attendees-csv', files={'file': attendee_csv_data}, data={'event_id': popin_event_id, 'auto_register': True} )
-
Get AI networking recommendations:
# PopIn's app requests personalized suggestions for a user recommendations = requests.post('http://your-ai-service/api/v1/recommendations/generate', json={ "event_id": popin_event_id, "user_id": current_user_id, "max_recommendations": 10 }).json() # Returns: AI-matched connections with reasons and similarity scores
-
Display network visualizations in app:
# PopIn's app gets network cluster data for visual maps network_data = requests.get(f'http://your-ai-service/api/v1/clustering/network/{event_id}').json() # Returns: Interactive network graph data for PopIn's mobile interface
-
Integrate with PopIn's user flow:
- Before event: Users see suggested connections in PopIn app
- During event: Real-time networking recommendations via push notifications
- After event: Analytics on successful connections made
For PopIn developers testing the AI backend:
# Start the AI backend service
python main.py
# Test with sample data using the demo notebook
jupyter notebook demo_organized_final.ipynbWhat PopIn's team will see:
- ๐ค AI recommendation engine processing attendee profiles
- ๐ฏ Sample API responses with networking suggestions
- ๐ธ๏ธ Network cluster algorithms identifying communities
- ๐ Analytics data ready for PopIn's dashboard integration
For PopIn's backend team testing individual endpoints:
import requests
# 1. Create an event
response = requests.post('http://localhost:8000/api/v1/events', json={
"name": "Tech Conference 2024",
"description": "Annual tech networking event",
"date": "2024-12-15",
"location": "San Francisco"
})
event_id = response.json()['id']
# 2. Add attendees
requests.post('http://localhost:8000/api/v1/users', json={
"name": "Alice Chen",
"email": "alice@company.com",
"job_title": "AI Engineer",
"interests": ["Machine Learning", "Python"],
"goals": ["Find cofounders"]
})
# 3. Get AI recommendations
recommendations = requests.post('http://localhost:8000/api/v1/recommendations/generate', json={
"event_id": event_id,
"max_recommendations": 5
}).json()
print("AI found these networking matches:", recommendations)- Not just random suggestions - the AI tells you exactly why two people should connect
- Example: "Connect Alice (AI Engineer) with Bob (VC) because Bob invests in AI startups and Alice is looking for funding"
- Shared Interests: "Both interested in Machine Learning"
- Complementary Goals: "One wants funding, other provides funding"
- Industry Connections: "Both in tech ecosystem but different roles"
- Experience Levels: "Senior person can mentor junior person"
- See networking clusters: Groups of people with similar backgrounds
- Identify bridge people: Individuals who can connect different groups
- Spot opportunities: Underconnected people who need introductions
- Connection success rates: Which recommendations led to actual meetings
- Network density: How well-connected your event attendees are
- Cluster insights: What professional communities emerged naturally
Problem: ModuleNotFoundError or missing dependencies
Solution:
# Make sure you're in the right directory
cd PopInEventNetworkingAIProj
# Reinstall everything
pip install -r requirements.txt
# Try again
python main.pyProblem: Not enough attendee data Solution: You need at least 3-5 attendees with interests and goals filled in for the AI to work properly.
Problem: Wrong CSV format
Solution: Download the template from /api/v1/import/csv-template and match that exact format.
Problem: Jupyter not installed Solution:
pip install jupyter
jupyter notebook demo_organized_final.ipynbProblem: Missing Plotly Solution:
pip install plotly
# Restart the server
python main.py๐ FastAPI REST API
โโโ ๐ค AI Recommendation Engine (TF-IDF + Cosine Similarity)
โโโ ๐ธ๏ธ Network Clustering (Louvain & Girvan-Newman algorithms)
โโโ ๐ Interactive Visualizations (Plotly + NetworkX)
โโโ ๐ LinkedIn OAuth Integration (Ready for production)
โโโ ๐ CSV Import System (Bulk data processing)
โโโ ๐๏ธ SQLAlchemy Database (SQLite โ PostgreSQL ready)
- POST
/api/v1/import/attendees-csv- Bulk import attendees - POST
/api/v1/recommendations/generate- Get AI networking suggestions - GET
/api/v1/visualization/cluster-map- Interactive network maps - POST
/api/v1/events- Create events - GET
/docs- Complete API documentation
pytest tests/ --cov=. --cov-report=htmldocker build -t popin-networking-ai .
docker run -p 8000:8000 popin-networking-ai- Smart Networking Tab: AI-powered "People You Should Meet" section in the app
- Pre-Event Preparation: Send users their networking suggestions before events
- In-App Messaging: Direct integration with PopIn's chat to facilitate introductions
- Event Analytics Dashboard: Show organizers networking success metrics
- Personalized Recommendations: "Alice, you should meet Bob because you both want AI startup funding"
- Visual Event Maps: Interactive networking cluster views in the mobile app
- Goal-Oriented Networking: Match users based on specific professional objectives
- Conversation Starters: AI provides talking points for each suggested connection
- Increased User Engagement: Users spend more time in app exploring connections
- Higher Event ROI: Attendees achieve networking goals, rate events higher
- Premium Feature Differentiation: AI recommendations as PopIn Pro feature
- Data-Driven Insights: Event organizers get valuable attendee analytics
Found a bug? Open an issue on GitHub with:
- What you were trying to do
- Error message (if any)
- Your Python version
Need help implementing? The system includes:
- โ
Complete API documentation at
/docs - โ Step-by-step CSV import guide
- โ Interactive demo notebook
- โ Comprehensive error messages
Want to contribute?
- Fork the repository
- Make your improvements
- Add tests for new features
- Submit a pull request
- ๐ Development Time: 62+ hours
- ๐ Lines of Code: 2,500+
- ๐งช Test Coverage: 95%+
- ๐ Documentation: Complete API docs + guides
- ๐ Features: 15+ API endpoints, AI engine, visualizations
- ๐ผ Production Ready: Docker, testing, error handling
Built for PopIn to revolutionize event networking through artificial intelligence.