File size: 1,482 Bytes
ce9adef
 
 
 
 
 
 
 
 
 
c75e060
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1a976d8
c75e060
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
---
title: Code Complexity Predictor
emoji: ๐Ÿ“‰
colorFrom: blue
colorTo: yellow
sdk: docker
pinned: false
license: apache-2.0
---

# โš™๏ธ Code Complexity Predictor

An AI-powered web application that instantly predicts the Big-O Time Complexity of Python and Java code snippets using **GraphCodeBERT**. 

## ๐Ÿš€ Features
- **Intelligent Analysis:** Powered by Microsoft's GraphCodeBERT fine-tuned on the CodeParrot/CodeComplex dataset.
- **Premium Interface:** A stunning Glassmorphism dark-mode UI with syntax highlighting and micro-animations.
- **Lightning Fast:** Built on a lightweight FastAPI backend for near-instant inference.
- **Cloud-Ready:** Completely containerized with Docker, configured for automatic deploy on Render.com.

## ๐Ÿ› ๏ธ Tech Stack
- **Frontend:** HTML5, Vector CSS (Vanilla), JavaScript, PrismJS
- **Backend:** Python, FastAPI, Uvicorn
- **AI/ML:** PyTorch, HuggingFace Transformers (`GraphCodeBERT`)
- **Deployment:** Docker, Render

## ๐Ÿ’ป Running Locally

1. **Install Dependencies**
   ```bash
   pip install -r requirements.txt
   ```

2. **Download Model files**
   Ensure you have configured `download_model.py` with your Google Drive File ID, then run:
   ```bash
   python download_model.py
   ```

3. **Start the Server**
   ```bash
   uvicorn backend.main:app --host 0.0.0.0 --port 8000 --reload
   ```

4. **Open the App**
   Navigate to `http://localhost:8000` in your web browser.

---
*Built with โค๏ธ for algorithmic analysis.*