An interactive radial mind map for tracking and visualizing your professional skills. Built with React Flow and D3.js for a beautiful, space-themed skill visualization experience.
- Radial Skill Visualization - Skills arranged in a 360Β° circular layout around your profile
- Interactive Nodes - Click any skill to view details and edit ratings
- Mentor Mode Sidebar - Edit skill names, ratings (1-10), and add mentor notes
- Color-Coded Ratings - Visual indicators for skill levels:
- π΄ Red (1-4): Beginner
- π‘ Yellow (5-7): Intermediate
- π’ Green (8-10): Expert
- PNG Export - Capture your entire skill radar as a high-resolution image
- Persistent Storage - All data saved to localStorage
- Deep Space Theme - Beautiful dark mode with glow effects
- Framework: React 18 + TypeScript
- Build Tool: Vite
- Visualization: React Flow (@xyflow/react)
- Layout Algorithm: D3-hierarchy (radial tree layout)
- Styling: Tailwind CSS + shadcn/ui
- Export: html-to-image
- Node.js (v18 or higher recommended)
- npm, yarn, pnpm, or bun
# Clone the repository
git clone <your-repo-url>
cd personal-360-growth-radar
# Install dependencies
npm install
# or
yarn install
# or
pnpm install
# or
bun install# Start the development server
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun devThe app will be available at http://localhost:5173
# Create production build
npm run build
# Preview production build locally
npm run preview# Install Vercel CLI globally
npm install -g vercel
# Login to Vercel
vercel login
# Deploy (follow the prompts)
vercel
# Deploy to production
vercel --prod- Push your code to GitHub
- Go to vercel.com and sign in
- Click "New Project"
- Import your GitHub repository
- Vercel auto-detects Vite - just click "Deploy"
- Your app will be live in ~1 minute!
Build Settings (auto-detected):
- Build Command:
npm run build - Output Directory:
dist - Install Command:
npm install
# Install Netlify CLI globally
npm install -g netlify-cli
# Login to Netlify
netlify login
# Build the project first
npm run build
# Deploy to a draft URL (for testing)
netlify deploy
# Deploy to production
netlify deploy --prod- Push your code to GitHub/GitLab/Bitbucket
- Go to app.netlify.com
- Click "Add new site" β "Import an existing project"
- Connect your Git provider and select repository
- Configure build settings:
- Build command:
npm run build - Publish directory:
dist
- Build command:
- Click "Deploy site"
Create netlify.toml in your project root for consistent deployments:
[build]
command = "npm run build"
publish = "dist"
[[redirects]]
from = "/*"
to = "/index.html"
status = 200# Install gh-pages
npm install -D gh-pages
# Add to package.json scripts:
# "predeploy": "npm run build",
# "deploy": "gh-pages -d dist"
# Then run:
npm run deployNote: For GitHub Pages, update vite.config.ts:
export default defineConfig({
base: '/your-repo-name/',
// ... rest of config
})src/
βββ components/
β βββ radar/
β β βββ GrowthRadar.tsx # Main radar component
β β βββ CenterNode.tsx # Center profile node
β β βββ SkillNode.tsx # Individual skill nodes
β β βββ MentorSidebar.tsx # Edit panel sidebar
β β βββ RadarHeader.tsx # Header with export button
β βββ ui/ # shadcn/ui components
βββ context/
β βββ RadarContext.tsx # Global state management
βββ utils/
β βββ radialLayout.ts # D3 radial layout algorithm
βββ types/
β βββ skill.ts # TypeScript interfaces
βββ pages/
βββ Index.tsx # Main page
Edit the seed data in src/types/skill.ts:
export const SEED_DATA: RadarData = {
rootName: "Your Name",
skills: [
{
id: "skill-1",
label: "Your Skill Category",
rating: 7,
children: [/* sub-skills */],
},
// Add more skills...
],
};Update CSS variables in src/index.css:
:root {
--primary: 199 89% 48%; /* Main accent color */
--accent: 262 83% 58%; /* Secondary accent */
--rating-beginner: 0 72% 51%; /* Red for 1-4 */
--rating-intermediate: 38 92% 50%; /* Yellow for 5-7 */
--rating-expert: 142 71% 45%; /* Green for 8-10 */
}- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is open source and available under the MIT License.
Built with β€οΈ using Lovable