A gamified platform for learning and mastering no-code development through interactive challenges.
NoCodeJam is a hackathon-style platform where developers can:
- Complete no-code development challenges
- Earn XP points and unlock badges
- Compete on leaderboards
- Learn popular no-code tools (Lovable, Bolt, Windsurf, Cursor, etc.)
- Build real-world applications without traditional coding
- Onboarding System: Multi-step guided tutorial for new users with progress tracking
- Challenge System: Browse and complete challenges across different difficulty levels
- Gamification: Earn XP, collect badges, and climb leaderboards
- Learning Resources: Tutorials and guides for popular no-code platforms
- Community: User profiles, submission reviews, and social features
- Admin Panel: Challenge creation and submission management
- Frontend: React + TypeScript + Vite
- UI: Radix UI + Tailwind CSS
- Backend: Supabase (Auth + Database)
- Deployment: Vercel
-
Install dependencies:
npm install
-
Configure environment variables (frontend):
Important: The
.env.localfile is not tracked in GitHub for security reasons. You need to obtain this file from Scott or Jesse to run the project locally.Place the
.env.localfile in the project root. It should contain:VITE_SUPABASE_URL=https://YOUR_PROJECT_REF.supabase.co VITE_SUPABASE_ANON_KEY=YOUR_SUPABASE_ANON_KEY
Alternatively, you can create your own by getting these values from Supabase Dashboard → Project Settings → API.
-
Start the development server:
npm run dev
-
Open http://localhost:5173 in your browser
🌐 Live Site: https://nocodejam2.vercel.app/
The live site is automatically deployed via Vercel when changes are merged to the prod branch.
-
Merge to Production: Merge your changes from
maintoprodgit checkout prod git merge main git push origin prod
-
Automatic Deployment: Vercel automatically detects the push to
prodand triggers the deployment pipeline- Builds the application
- Runs any configured tests
- Deploys to production
- Updates the live site at https://nocodejam2.vercel.app/
-
Monitor Deployment: Check the Vercel dashboard for deployment status and logs
Note: Always ensure your code is tested and reviewed before merging to prod. The deployment happens automatically and will update the live site immediately.
- Onboarding: Step-by-step tutorial wizard with progress tracking (
/onboarding/[step]) - Dashboard: Personal progress, recent submissions, and profile overview
- Challenges: Browse and filter challenges by difficulty
- Leaderboard: See top developers and your ranking
- Learn: Tutorials and resources for no-code platforms
- Profile: Manage your profile and view achievements
The platform features a comprehensive onboarding system that guides new users through their first no-code development experience:
- Multi-Step Wizard: Progressive tutorial with clear instructions
- Video Integration: YouTube videos embedded for visual learning
- Submission System: Users submit work for each step (URLs or text responses)
- Progress Tracking: Automatic saving and restoration of user progress
- Smart Navigation: Auto-redirect to current step when returning
- Form Validation: Client-side validation for submissions
- Frontend: React components with TypeScript
- Backend: Supabase Edge Functions for progress tracking
- Database: PostgreSQL with RLS policies for security
The functions under supabase/functions/* read these from their runtime environment:
SUPABASE_URLSUPABASE_ANON_KEYSUPABASE_SERVICE_ROLE_KEY(required for admin writes, e.g.update-onboarding-progress)
These are configured in Supabase (function secrets / project env), not in the frontend .env.local.
- API Endpoints:
get-onboarding-steps: Fetches tutorial stepsget-onboarding-progress: Tracks user completionsubmit-onboarding-step: Handles step submissionsset-onboarding-visibility: Manages onboarding card visibility
- Users see onboarding card on challenges page (if not hidden)
- Click to start onboarding wizard
- Progress through steps with video content and instructions
- Submit work for each step (validated on client and server)
- Automatic progression tracking and step unlocking
- Return to exact step if leaving and coming back
- Final completion creates master submission for admin review
- Admin reviews and approves/rejects complete onboarding
- Master Submissions: Complete onboarding creates parent submission for review
- Step Aggregation: Individual step submissions linked via
parent_submission_id - Review Interface: Admin panel shows complete onboarding journey
- Approval Workflow: Single approval affects entire onboarding completion