Project Info
Inspiration
We saw Segment, a past YC company, and thought, what if we took that idea further? Segmind reimagines customer analytics with AI, turning fragmented data into real-time insights and automatically generated campaigns.
What it does
Segmind analyzes customer behavior, segments audiences with AI, and auto-generates personalized campaigns that actually convert. It’s like ChatGPT for your marketing data.
How we built it
We used FastAPI, React, and PostgreSQL with GPT-powered insight generation and clustering models built on Scikit-learn. The result is a real-time, full-stack marketing intelligence platform.
Challenges we ran into
Balancing automation with interpretability was tough, we wanted the AI to feel smart and transparent. Integrating live insights without overwhelming users was another key design challenge.
Accomplishments we're proud of
We built a production-ready AI dashboard in under 48 hours that generates real campaigns and visualizes segment behavior live. The UX feels like something a real startup could ship.
What we learned
Great AI tools aren’t just about accuracy, they’re about clarity, trust, and speed. We learned how to merge data science with great design.
What's next
We’re improving our customer analytics engine to capture deeper behavioral patterns and lifetime value predictions. Next, we’ll finish training custom ad-generation models to create hyper-personalized, conversion-optimized campaigns at scale.
Segmind MVP - Customer Messaging Platform
A modern customer messaging and segmentation platform with multi-channel support (SMS, Email, WhatsApp, Push).
Quick Start - Two Ways to Run
Option 1: Using Docker (Recommended - No Setup Required!)
Requirements
- Docker Desktop installed (Download here)
Run with Docker
Windows:
start-docker.bat
Mac/Linux:
./start-docker.sh
That's it! Docker handles everything:
- ✅ No Python version issues
- ✅ No Node.js version issues
- ✅ No venv problems
- ✅ No dependency conflicts
- ✅ Works the same on every machine
Visit http://localhost:3000 after containers start.
Option 2: Run Locally with Python
Requirements
- Python 3.7+ installed
- Node.js 14+ installed
Run Locally
python run.py
Then choose option 2.
Note: If you're having issues with the Python script (infinite loops, venv problems), use Docker instead!
Why Docker is Better
With Docker:
- Zero Setup: Just install Docker and run
- No Python/Node Version Conflicts: Container has the right versions
- No Venv Issues: Everything runs in isolated containers
- Cross-Platform: Same command works on Windows, Mac, Linux
- Clean System: Nothing installed on your machine
- Easy Cleanup: Just stop containers and delete them
Docker Commands
Start the app:
docker-compose up
Stop the app:
docker-compose down
Rebuild after code changes:
docker-compose up --build
View logs:
docker-compose logs backend
docker-compose logs frontend
Clean everything:
docker-compose down -v --remove-orphans
URLs
Once running, access:
- Frontend Dashboard: http://localhost:3000
- Backend API: http://localhost:8000
- API Documentation: http://localhost:8000/docs
Features
- 📊 Real-time customer segmentation
- 📨 Multi-channel messaging (SMS, Email, WhatsApp, Push)
- 📈 Analytics and ROI tracking
- 🎯 Targeted campaign management
- 🔄 Real-time metrics dashboard
- 🚀 Fast, modern tech stack (FastAPI + Next.js)
- 📧 Email generation from analytics
Customer Segments
The platform tracks 5 key customer segments:
- High Converters (6.5%) - Premium customers with high conversion rates
- Window Shoppers (35.4%) - High browse rate, low purchase rate
- Cart Abandoners (20.3%) - Started checkout but didn't complete
- Loyal Customers (9.7%) - Repeat purchasers
- At Risk (28.1%) - Haven't engaged recently
Project Structure
.
├── segmind/
│ ├── backend/
│ │ ├── main.py # FastAPI entrypoint
│ │ ├── requirements.txt # Backend dependencies
│ │ ├── routes/
│ │ │ ├── analytics.py # Analytics endpoints
│ │ │ └── segments.py # Customer segments endpoints
│ │ └── tests/ # Backend tests
│ └── frontend/ # Next.js frontend application
├── docker-compose.yml # Docker orchestration
├── Dockerfile.backend # Backend container config
├── Dockerfile.frontend # Frontend container config
├── start-docker.sh # Unix Docker starter
├── start-docker.bat # Windows Docker starter
└── .env # Environment configuration
Troubleshooting
Docker Issues
- Make sure Docker Desktop is running
- Check ports 3000 and 8000 are free
- Try
docker-compose downthendocker-compose up --build
Local Python Issues
- If venv loops infinitely → Use Docker instead
- If dependencies fail → Use Docker instead
- If versions conflict → Use Docker instead
Key Metrics Displayed
- Total Messages: 156,789 messages sent
- Total Customers: 44,054 tracked customers
- Revenue Attributed: $2,847,593.45
- Engagement Rate: 24.7% average
- Channel Performance: ROI by channel (SMS, Email, WhatsApp, Push)
Development
The app auto-reloads on code changes:
- Backend: Edit
backend_api.pyand it auto-reloads - Frontend: Edit files in
segmind/frontend/and it auto-reloads
No need to restart containers!# Contribution test - PatrickGaied
Analysis
View
Metric
- 19
- 17
- 1
- 1
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CSSIn code
- FastAPIIn code
- JavaScriptIn code
- Next.jsIn code
- PythonIn code
- ReactIn code
- RedisIn code
- SupabaseIn code
- Tailwind CSSIn code
- TypeScriptIn code
- C++Claimed
10 of 11 appear in the indexed code. 1 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
1.1 MB
Source files
92
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
PatrickGaied/Twilio
134 files · 9.1 MB · @ 20401fe
Structure
Interface
37 files · 28%Screens, components and styles rendered to the user.
API & routing
20 files · 15%Request entry points: routes, handlers and controllers.
Application logic
36 files · 27%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- TypeScript76%
- Python20%
- Markdown3%
- JavaScript1%
- CSS1%
- Shell0%
- Other (1)0%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
segmind/frontend/package.json
npm · 21- @radix-ui/react-dialog
- @radix-ui/react-select
- @radix-ui/react-tabs
- @types/node
- @types/react
- @types/react-dom
- autoprefixer
- axios
- class-variance-authority
- clsx
- lucide-react
- next
- postcss
- react
- react-dom
- recharts
- tailwind-merge
- tailwindcss
- +3 more
segmind/requirements.txt
pypi · 16- celery
- fastapi
- httpx
- jinja2
- numpy
- pandas
- passlib[bcrypt]
- psycopg2-binary
- pydantic
- python-dotenv
- python-jose[cryptography]
- python-multipart
- redis
- requests
- sqlalchemy
- uvicorn[standard]
segmind/backend/requirements.txt
pypi · 10- chromadb
- fastapi
- google-genai
- numpy
- pillow
- python-dotenv
- python-multipart
- requests
- supabase
- uvicorn[standard]
requirements.txt
pypi · 6- chromadb
- google-generativeai
- pandas
- pillow
- python-dotenv
- requests
segmind/frontend/requirements.txt
pypi · 1- requests
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.