Back to Projects

VertexCode

A LeetCode-like competitive coding platform with practice problems, multi-language code execution, leaderboards, submission history, and Stripe-based Pro subscriptions for reference solutions.

Role: Full-Stack Developer
Duration: Dec 2025

Tech Stack

reactjs iconReact
vite iconVite
react-router iconReact Router
redux-toolkit iconRedux Toolkit
tanstack-query iconTanStack Query
tailwindcss iconTailwind CSS
daisyui iconDaisyUI
monaco-editor iconMonaco Editor
express-js iconExpress.js
mongodb iconMongoDB
redis iconRedis
supabase iconSupabase
stripe iconStripe
nodemailer iconNodemailer
judge0 iconJudge0

Introduction

VertexCode is a full-stack competitive coding platform inspired by LeetCode. Users can practice problems, write and run code in multiple languages, submit solutions, track their progress, and compete on a global leaderboard. It also offers Pro subscriptions through Stripe, unlocking reference solutions and editorial content.

Key Features

  • Authentication: Signup, login, OTP email verification, and password reset.
  • JWT Auth: Token-based protected routes with automatic token refresh.
  • Profile Management: Avatar upload, bio, and progress tracking.
  • Problem Discovery: Difficulty filtering, search, and pagination.
  • Monaco Editor: Integrated code editor with multi-language support.
  • Run & Submit: Execute code against test cases and submit solutions.
  • Submission History: Track recently solved problems and past submissions.
  • Leaderboard: Global rankings with podium cards and avatars.
  • Pro Subscriptions: Monthly and yearly plans via Stripe Checkout.
  • Admin Dashboard: Create, update, and delete coding problems.

Technical Insights

  • Frontend: React 19 with Vite 7, React Router 7, Redux Toolkit + Redux Persist, TanStack Query, Tailwind CSS 4, DaisyUI 5, and Monaco Editor.
  • Forms & Validation: React Hook Form with Zod for client-side validation.
  • Backend: Express.js 5 with MongoDB and Mongoose for data persistence.
  • Caching & Storage: Redis for OTP and password reset caching; Supabase for avatar storage.
  • Payments: Stripe Checkout and webhooks for Pro subscriptions.
  • Code Execution: Judge0 via RapidAPI for running code in multiple languages.
  • Email: Nodemailer over Gmail SMTP for verification and reset emails.

Live Demo

Try it out at app-vertex-code.vercel.app.