Skip to main content
CodePlanet Docs

Public Profiles

Showcase your achievements

CodePlanet's public profile system allows you to showcase your coding achievements, build a professional portfolio, and connect with the developer community.

🌐 Public Profile Features

Profile Visibility

  • Username-based URLs: Access profiles at /u/username
  • Privacy Controls: Toggle profile visibility settings
  • Public vs Private Data: Granular control over what's shared
  • SEO Optimization: Search engine friendly profile pages

Profile Components

Personal Information

  • Display name and username
  • Bio/description
  • Location and timezone
  • Profile picture/avatar
  • Social media links (GitHub, LinkedIn, Twitter)

Coding Statistics

  • Problems solved count
  • Current and longest streaks
  • Experience points (XP) and level
  • Skill ratings by category
  • Problem-solving accuracy

Achievements Display

  • Earned certificates
  • Achievement badges
  • Competition rankings
  • Contribution metrics
  • Learning milestones

Activity Visualization

  • Coding activity heatmap
  • Problem-solving timeline
  • Skill progression charts
  • Weekly/monthly stats
  • Peak performance times

🎨 Profile Customization

Themes and Templates

  • Modern: Clean, professional design
  • Minimal: Simple and focused layout
  • Creative: Colorful and expressive
  • Dark Mode: Eye-friendly dark theme

Layout Options

  • Single column or multi-column layouts
  • Customizable section ordering
  • Featured projects highlighting
  • Skill showcase sections
  • Achievement galleries

Personal Branding

  • Custom profile URLs
  • Personal taglines
  • Featured skills display
  • Portfolio project showcase
  • Testimonial sections

🔧 Technical Implementation

Profile Data Structure

{
  "username": "john_doe",
  "display_name": "John Doe",
  "bio": "Full-stack developer passionate about AI and web technologies",
  "location": "San Francisco, CA",
  "avatar_url": "https://cdn.acodeplanet.tech/avatars/john_doe.jpg",
  "is_public": true,
  "social_links": {
    "github": "https://github.com/johndoe",
    "linkedin": "https://linkedin.com/in/johndoe",
    "twitter": "https://twitter.com/johndoe"
  },
  "coding_stats": {
    "problems_solved": 247,
    "current_streak": 15,
    "longest_streak": 42,
    "level": 12,
    "total_xp": 3450
  }
}

API Endpoints

# Get public profile
GET /api/public/profile/{username}
 
# Update profile settings
PUT /api/profile/settings
 
# Upload avatar
POST /api/profile/avatar
 
# Get profile statistics
GET /api/profile/stats/{username}

Frontend Integration

// Profile page component
import { useProfile } from '@/hooks/use-profile'
 
function PublicProfile({ username }) {
  const { profile, loading, error } = useProfile(username)
  
  if (loading) return <LoadingSpinner />
  if (error) return <ErrorPage error={error} />
  
  return (
    <div className="profile-container">
      <header className="profile-header">
        <img src={profile.avatar_url} alt={profile.display_name} />
        <h1>{profile.display_name}</h1>
        <p>{profile.bio}</p>
      </header>
      
      <StatsSection stats={profile.coding_stats} />
      <AchievementsSection achievements={profile.achievements} />
      <ActivityGraph activity={profile.activity_data} />
    </div>
  )
}

📊 Portfolio Features

Project Showcase

  • Featured Projects: Highlight your best work
  • Project Details: Descriptions, technologies used, live demos
  • GitHub Integration: Automatic project importing
  • Contribution Metrics: Commit statistics and impact

Skill Demonstrations

  • Coding Samples: Share code snippets and solutions
  • Technical Writing: Blog posts and tutorials
  • Problem Solutions: Showcase approach to complex problems
  • Learning Journey: Document skill progression

Professional Elements

  • Resume Integration: Export profile as resume
  • Portfolio PDF: Generate shareable portfolio documents
  • Contact Information: Professional contact methods
  • Availability Status: Hiring/open to opportunities indicators

🔒 Privacy and Security

Data Visibility Controls

  • Public Profile: Visible to everyone
  • Private Profile: Visible only to you and connections
  • Selective Sharing: Choose what data to display
  • Anonymous Mode: Hide identity while showing work

Security Measures

  • Data Encryption: All profile data encrypted at rest
  • Access Logging: Track profile views and interactions
  • Content Moderation: Automatic filtering of inappropriate content
  • Report System: Users can report problematic profiles

🚀 Performance Optimization

Caching Strategy

  • Profile Caching: 15-minute cache for public profiles
  • Image Optimization: Automatic resizing and compression
  • Lazy Loading: Load profile sections as needed
  • CDN Distribution: Global content delivery network

SEO Best Practices

  • Meta Tags: Proper title, description, and Open Graph tags
  • Structured Data: Schema.org markup for rich snippets
  • Sitemap Integration: Profile URLs in sitemap.xml
  • Mobile Optimization: Responsive design for all devices

📱 Mobile Experience

Responsive Design

  • Mobile-First Approach: Optimized for mobile devices
  • Touch-Friendly Interface: Easy navigation on touch screens
  • Fast Loading: Optimized assets for mobile networks
  • Offline Capability: Basic profile view when offline

Progressive Web App

  • Installable: Add profile to home screen
  • Push Notifications: Profile view notifications
  • Background Sync: Update profile data in background
  • App-like Experience: Native app feel in browser

🎯 Use Cases

Job Searching

  • Recruiter Discovery: Make your profile discoverable to recruiters
  • Skill Verification: Show real coding abilities and achievements
  • Portfolio Presentation: Professional showcase of your work
  • Contact Opportunities: Direct messaging from interested parties

Community Building

  • Networking: Connect with other developers
  • Mentorship: Offer or seek mentoring relationships
  • Collaboration: Find partners for projects
  • Knowledge Sharing: Share expertise and learning resources

Personal Branding

  • Professional Identity: Establish your developer brand
  • Thought Leadership: Share insights and expertise
  • Community Recognition: Build reputation through contributions
  • Career Documentation: Track and showcase professional growth

🛠️ Customization Examples

Developer Portfolio

// Portfolio template configuration
const portfolioConfig = {
  theme: 'modern',
  sections: [
    'about',
    'skills',
    'projects',
    'achievements',
    'activity',
    'contact'
  ],
  featuredProjects: [
    {
      title: "E-commerce Platform",
      description: "Full-stack online store with React and Node.js",
      technologies: ["React", "Node.js", "MongoDB", "Stripe"],
      github: "https://github.com/username/ecommerce",
      demo: "https://ecommerce-demo.com"
    }
  ]
}

Competitive Programming Profile

// Competitive programming focus
const cpProfileConfig = {
  theme: 'minimal',
  sections: [
    'stats',
    'problems',
    'contests',
    'solutions',
    'rankings'
  ],
  displayOptions: {
    showProblemRatings: true,
    showContestHistory: true,
    showSolutionQuality: true
  }
}

Public profiles on CodePlanet are designed to be powerful tools for professional development, community engagement, and career advancement in the tech industry.