βCode faster. Think deeper. Analyze smarter.β
TCAnalyzer is a full-stack web application built to demystify the performance of algorithms.
It provides developers, students, and coding enthusiasts with instant, clear analysis of time and space complexity directly in the browser β making it both a learning tool and a developer assistant.
π Live Demo: TCAnalyzer on Render
π§ Stack: React (Vite) Β· Node.js Β· Express Β· MongoDB Β· JWT Auth Β· Tailwind CSS
- Instantly compute Big-O notation for time and space complexity.
- Get a plain-English explanation of the reasoning and contributing code patterns.
- Supports JavaScript, Python, C++, and Java out of the box.
- Fully integrated JWT-based authentication for registration, login, and session management.
- Passwords are safely hashed using bcrypt.js before storage.
- Users can view all previous analyses in a dedicated history dashboard.
- Each analysis includes code snippets, complexity breakdown, and explanations.
- Manage your profile with editable fields for LeetCode ID, Codeforces ID, and other settings.
An interactive tutor for understanding how different code structures impact runtime and memory.
A companion tool to practice and verify your solutions for platforms like LeetCode and Codeforces.
A quick performance sanity check when optimizing algorithms or refactoring functions.
| Layer | Technology | Description |
|---|---|---|
| Frontend | React (Vite) + Tailwind CSS | Modern, responsive, component-based UI |
| Backend | Node.js + Express.js | RESTful API architecture with JWT auth |
| Database | MongoDB + Mongoose | Schema-based modeling for users & analyses |
| Authentication | JWT + bcrypt.js | Secure token-based login system |
| State Management | React Context API | Global state for user session & data |
| Deployment | Render | Backend β Web Service Β· Frontend β Static Site |
TCAnalyzer/ β βββ frontend/ # Frontend (React + Vite) β βββ src/ β β βββ components/ β β βββ pages/ β β βββ context/ β β βββ api/ β βββ public/ β βββ dist/ # Production build output β βββ backend/ # Backend (Node + Express) β βββ controllers/ β βββ routes/ β βββ models/ β βββ db.js β βββ authController.js β βββ server.js β βββ README.md git clone https://github.com/<your-username>/TCAnalyzer.git cd TCAnalyzercd backend npm installCreate a .env file inside /backend:
MONGO_DB_URI=your_mongodb_atlas_uri JWT_SECRET=your_jwt_secret PORT=5000Run the backend:
npm startThe server will run on http://localhost:5000
cd ../frontend npm installCreate a .env file inside /frontend:
VITE_API_BASE_URL=http://localhost:5000Run the frontend:
npm run dev- Push your code to GitHub.
- On Render Dashboard:
- New β Web Service
- Connect your repo.
- Root Directory:
backend - Build Command:
npm install - Start Command:
npm start
- Add environment variables:
MONGO_DB_URI=your_mongodb_atlas_uri JWT_SECRET=your_jwt_secret NODE_ENV=production
- Deploy β your backend URL will look like:
https://tcanalyzer-api.onrender.com
- Create New β Static Site on Render.
- Root Directory:
frontend - Build Command:
npm install && npm run build - Publish Directory:
dist - Add env var:
VITE_API_BASE_URL=https://tcanalyzer-api.onrender.com
- Add a
_redirectsfile in/client/public:/* /index.html 200 - Deploy β your frontend URL might look like:
https://tcanalyzer.onrender.com
In server.js:
import cors from "cors"; app.use(cors({ origin: process.env.CLIENT_URL || "*" }));Optionally add in .env:
CLIENT_URL=https://tcanalyzer.onrender.com- Modular Express API architecture with clean separation of controllers, routes, and middleware.
- React frontend using Vite for lightning-fast development and builds.
- Encrypted credentials using bcrypt.
- Stateless JWT-based sessions.
- Global auth context in React for seamless login state management.
- Built with Tailwind CSS for a responsive, custom look.
- Intuitive layout with dynamic content rendering and clean UX.
- CI/CD-ready structure with Render deployment.
.env-based environment management for dev and prod.- Works seamlessly with MongoDB Atlas for persistent cloud data.
want to add different modes of input in home page 1: the default one which is working right now 2: the file input from local system and code gets extracted into the text area 3: Direct code extraction from the latest solution submitted of user on leetcode and extracting code from the leetcode submission link 4: similar to keetcode but for codeforces
I need to learn web scraping or some alternative to implement this feature , however will try integrating this direct analysis from leetcode and codforces id of user
- Render β cloud hosting
- MongoDB Atlas β database
- Vite β frontend tooling
- Tailwind CSS β modern styling
- bcrypt.js & jsonwebtoken
π‘ TCAnalyzer bridges the gap between writing code and understanding it β making algorithm analysis accessible to everyone.