EntangleMe
We built Entangleme to explore how quantum teleportation could work as a message transfer system. It uses Qiskit to simulate teleporting qubit states and connects it to a simple web interface—where one user sends a bit and the other receives it.
Install / Use
/learn @Invariants0/EntangleMeREADME
EntangleMe 🌀
A messaging app using Quantum Teleportation
EntangleMe is a revolutionary messaging application that simulates quantum teleportation for secure message transfer. Built during CQHack25, this project demonstrates how quantum computing principles can be applied to real-world communication systems using Qiskit for quantum circuit simulation and FastAPI + React for the web interface.
🌟 Live Demo
- 🔗 Frontend Application: https://entangleme.vercel.app/
- 🔗 Backend API: https://entangleme.onrender.com/
- 📚 API Documentation: https://entangleme.onrender.com/docs
🛠 Tech Stack
📚 Documentation
📖 Core Documentation
- 📄 Complete Project Documentation - Overview and setup guide
- 🏗 System Architecture & Implementation - Detailed technical architecture
- ⚛️ Quantum Implementation Guide - Quantum computing implementation details
- 🔬 Quantum Simulation Proof - Proof of real quantum implementation
- 🎨 Quantum Visualization System - Frontend quantum visualization components
- 🔄 Quantum Circuit Diagrams - Detailed circuit diagrams and explanations
🔧 Setup & Configuration
- ⚙️ Setup Guide - Complete installation and setup instructions
- 🎯 Classiq + IonQ Setup - Quantum hardware integration setup
🐛 Testing & Troubleshooting
- 🔧 Testing & Troubleshooting Guide - Common issues, solutions, and debugging information
🚀 Quick Start
Prerequisites
- Python 3.10+
- Node.js 18+
- Git
Local Development
-
Clone the repository
git clone https://github.com/dev-Ninjaa/EntangleMe.git cd EntangleMe -
Backend Setup
cd backend python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -r requirements.txt python run.py -
Frontend Setup
cd frontend npm install npm run dev -
Access the application
- Frontend: http://localhost:5173
- Backend: http://localhost:8000
- API Docs: http://localhost:8000/docs
🏭 Production Deployment
Backend (Render)
- ✅ Deployed: https://entangleme.onrender.com/
- 📊 Status: Active and running
Frontend (Vercel)
- ✅ Deployed: https://entangleme.vercel.app/
- 🎨 Status: Live with quantum visualization
Environment Variables
Backend (Render)
HOST=0.0.0.0
PORT=8000
DEBUG=False
SECRET_KEY=your-super-secret-key
DATABASE_URL=your-database-url
REDIS_URL=your-redis-url
Frontend (Vercel)
VITE_API_URL=https://entangleme.onrender.com/api/v1
⚛️ Core Concept
EntangleMe follows actual quantum teleportation principles:
Entangle → Encode → Measure → Send Classical Bits → Apply Corrections
This is the same foundation used in quantum internet and secure quantum communication.
🎯 How It Works
- Quantum Teleportation: Simulates quantum teleportation of
0or1using IBM Quantum via Qiskit - FastAPI Backend: RESTful API endpoints for quantum operations and real-time chat
- React Frontend: Modern TypeScript-based interface with real-time quantum visualization
- Real-time Chat: WebSocket-based messaging with quantum state visualization
- Quantum Visualization: Interactive circuit diagrams, state evolution, and teleportation flow
🌟 Why EntangleMe Matters?
1. Quantum-Resistant Messaging
By transforming our simulated teleportation pipeline into a true QKD channel, EntangleMe can use the randomly generated measurement outcomes as shared secret keys. After each teleportation, those key bits encrypt classical payloads—guaranteeing that any eavesdropping attempt is immediately detectable.
2. Hybrid Quantum-Classical Workflows
Not all users have direct access to quantum hardware. EntangleMe's modular FastAPI and frontend architecture can be deployed as serverless functions or at the network edge, running lightweight quantum simulations close to the user.
3. On-Ramp to the Quantum Internet
As quantum repeaters and entanglement distribution networks become available, EntangleMe's "simulator-swap" design lets us replace Qiskit's backend with live hardware with minimal code changes.
⚛️ We Also Used: Classiq to Auto-Generate Teleportation Circuits
To simplify or scale the quantum backend, we explored using Classiq, a high-level quantum algorithm synthesis platform. Instead of building the quantum circuit manually, Classiq lets us define intent, and it builds the optimized circuit for us.
🎨 Features
✨ Core Features
- ⚛️ Real Quantum Teleportation: Actual Qiskit quantum circuits for teleportation
- 🔐 Secure Communication: Quantum-based security principles
- 💬 Real-time Chat: Instant messaging with quantum state transmission
- 🎯 Interactive Visualization: Quantum circuit diagrams and state evolution
- 🔄 Bell Pair Entanglement: Real quantum entanglement simulation
- 📊 Success Probability: Quantum measurement outcome analysis
🎨 Frontend Features
- 🌊 Modern UI: Beautiful quantum-themed design with animations
- 📱 Responsive Design: Works on desktop and mobile devices
- ⚡ Real-time Updates: Live message polling and status updates
- 🎭 Quantum Dashboard: Comprehensive quantum visualization system
- 🎪 Interactive Components: Animated quantum circuits and states
🔧 Backend Features
- 🚀 FastAPI: High-performance async API framework
- 🗄️ SQLite Database: Lightweight data persistence
- 🔄 WebSocket Support: Real-time communication capabilities
- 📚 Auto Documentation: Swagger/OpenAPI documentation
- 🧪 Testing: Comprehensive test coverage
🏗 Project Structure
EntangleMe/
├── 📁 backend/ # FastAPI backend
│ ├── 📁 app/
│ │ ├── 📁 api/ # API endpoints
│ │ ├── 📁 core/ # Configuration
│ │ ├── 📁 database/ # Database layer
│ │ ├── 📁 models/ # Data models
│ │ ├── 📁 schemas/ # Pydantic schemas
│ │ ├── 📁 services/ # Business logic
│ │ └── main.py # FastAPI app
│ ├── requirements.txt # Python dependencies
│ └── run.py # Entry point
├── 📁 frontend/ # React frontend
│ ├── 📁 src/
│ │ ├── 📁 components/ # React components
│ │ ├── 📁 api/ # API client
│ │ ├── 📁 types/ # TypeScript types
│ │ └── main.tsx # React app
│ ├── package.json # Node.js dependencies
│ └── vite.config.ts # Vite configuration
├── 📁 docs/ # Project documentation
│ ├── 📄 EntangleMe.md # System architecture
│ ├── 📄 QUANTUM_*.md # Quantum implementation docs
│ ├── 📄 CLASSIQ_*.md # Quantum hardware setup
│ └── 📄 docs.md # Overview documentation
├── 📄 README.md # This file
├── 📄 SETUP.md # Setup guide
└── 📄 LICENSE # MIT License
👨💻 Team Members
| Role | Name | GitHub Profile | |-------------|--------------|----------------| | 🧠 Lead | Md Athar Jamal Makki | @atharhive | | 🎨 Frontend | Akshad Jogi | @akshad-exe | | 🛠 Backend | Ayush Sarkar | @dev-Ninjaa |
🔗 External Links
- 🎯 Prototype Website: https://entangleme.vercel.app/
- 🎬 Demo Video: https://youtu.be/0y06cFS6Wwo
- 🏆 Devpost Project: https://devpost.com/software/entangleme
- 🎪 Hackathon: https://cqhack25.devpost.com/
📚 Resources
Quantum Computing
- 📘 Qiskit Teleportation Notebook
- ▶️ Qiskit YouTube Tutorial
- ⚛️ [Classiq Documentation]
