Skip to content

EmilioMonteLuna/PopInEventNetworkingAIProj

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

4 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿค– PopIn Event Networking AI Backend

Python FastAPI License Tests

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.

๐ŸŽฏ What This Backend Provides

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

๐Ÿš€ 5-Minute Quick Start - Try It Now!

Step 1: Get the System Running (2 minutes)

# 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.py

You should see: Server will be available at: http://localhost:8000

Step 2: Open the Interactive Demo (1 minute)

  1. Go to: http://localhost:8000/docs
  2. You'll see: A beautiful API interface with all the tools ready to use

Step 3: Try It With Sample Data (2 minutes)

  1. Open the demo notebook: jupyter notebook demo_organized_final.ipynb
  2. Click "Run All" to see the AI in action with sample tech conference data
  3. Watch: The AI automatically find perfect networking matches and create cluster maps!

๐ŸŽ‰ That's it! You now have a working AI networking system.

๐Ÿ“‹ Complete Project Presentation

๐ŸŽฏ View Full Client Presentation

Comprehensive overview including business case, technical architecture, demo instructions, and integration strategy for PopIn's mobile app.


๐Ÿ“‹ How PopIn Integrates This Backend - Step by Step

๐Ÿ”ฅ Option 1: API Integration (Production Use)

For PopIn's development team integrating with their mobile app:

  1. 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}
    )
  2. 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
  3. 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
  4. 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

๐ŸŽฎ Option 2: Development & Testing Demo

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.ipynb

What 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

๐Ÿ”ง Option 3: Direct API Testing

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)

โœจ What Makes This System Special

๐Ÿง  Smart AI That Explains Its Decisions

  • 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"

๐ŸŽฏ Multiple Matching Factors

  • 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"

๐Ÿ•ธ๏ธ Visual Network Maps

  • 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

๐Ÿ“Š Actionable Analytics

  • 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

๐Ÿ”ง Troubleshooting & Common Issues

โ“ "Server won't start"

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.py

โ“ "No recommendations generated"

Problem: Not enough attendee data Solution: You need at least 3-5 attendees with interests and goals filled in for the AI to work properly.

โ“ "CSV upload fails"

Problem: Wrong CSV format Solution: Download the template from /api/v1/import/csv-template and match that exact format.

โ“ "Jupyter notebook won't open"

Problem: Jupyter not installed Solution:

pip install jupyter
jupyter notebook demo_organized_final.ipynb

โ“ "Visualizations don't show"

Problem: Missing Plotly Solution:

pip install plotly
# Restart the server
python main.py

๐Ÿš€ For Developers - Technical Details

System Architecture

๐ŸŒ 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)

Key API Endpoints

  • 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

Run Tests

pytest tests/ --cov=. --cov-report=html

Deploy with Docker

docker build -t popin-networking-ai .
docker run -p 8000:8000 popin-networking-ai

๐Ÿ“ˆ Business Value for PopIn

Enhanced PopIn App Features:

  • 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

PopIn User Experience Improvements:

  • 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

PopIn Business Benefits:

  • 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

๐Ÿ“ž Support & Questions

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?

  1. Fork the repository
  2. Make your improvements
  3. Add tests for new features
  4. Submit a pull request

๐Ÿ† Project Stats

  • ๐Ÿ•’ 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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors