v3.1.0 - Public Profiles & Community Hub
Excited to announce CodeSplit v3.1.0. This update delivers a major overhaul to user profiles, introduces a unique username system, and launches the new Community Templates Hub.
New Features
Public Profiles & Usernames
- Unique Handles – Claim your unique
@username- Alphanumeric validation (3–20 characters)
- Atomic claiming system ensures global uniqueness
- Public Profile Page – Share your work at
/u/@username - Privacy Control – Toggle profiles between Public and Private
- Smart Routing – Supports both
/u/@usernameand/u/USER_ID - Read-Only View – Visitors can view your stats and featured projects
Profile Page Redesign
New Stats Dashboard
- Track Total Projects, Featured Count, and Membership Duration
- Top Languages – Visual progress bars showing your most-used languages (HTML, CSS, JS) across all projects
Rich Social Links
- Add your GitHub, LinkedIn, and Personal Website to your profile
Featured Work Cards
- Large Preview Cards – 16:9 aspect ratio with auto-generated gradient backgrounds
- Smart Tagging – Automatically detects tags like
React,API,Animated, andResponsivebased on your code - Description Extraction – Automatically extracts project descriptions from your HTML
Community Hub
- Community Templates – Explore a curated collection of starter templates
- Live Preview – Open interactive previews in a modal before using a template
- One-Click Fork – “Use This Template” instantly creates a new project from a selected template
Technical Improvements
useProfileHook – Enhanced with language statistics calculation and centralized data fetching- Atomic Transactions – Implemented Firebase transactions for safe username claiming and race-condition prevention
- Security Rules – Updated Firebase Realtime Database rules to secure the new
usernamescollection - Performance – Debounced username availability checks to reduce database reads
Bug Fixes
- Fixed “Profile not found” error when accessing profiles via username URLs
- Resolved race conditions when switching usernames by automatically releasing old handles
- Improved error handling for non-existent profiles