This guide explains how to edit each data file to customize your portfolio.
Edit your resume/CV download link:
{
"fileName": "valentino-phiri-resume.pdf",
"url": "https://drive.google.com/file/d/YOUR_RESUME_FILE_ID/view",
"downloadUrl": "https://drive.google.com/uc?export=download&id=YOUR_RESUME_FILE_ID",
"lastUpdated": "2026-05-04"
}How to setup:
- Upload your resume to Google Drive
- Right-click → Share → Get link (Anyone with link can view)
- Extract the file ID from the URL:
https://drive.google.com/file/d/YOUR_FILE_ID/view - Replace
YOUR_RESUME_FILE_IDwith the actual ID - Update
lastUpdateddate
Add your work experience and education:
[
{
"id": 1,
"type": "experience", // or "education"
"role": "Your Role",
"company": "Company Name",
"startDate": "2023",
"endDate": "Present",
"description": "Brief description of your role",
"highlights": [
"Achievement 1",
"Achievement 2",
"Achievement 3"
]
}
]Notes:
- Use "Present" for current roles
typeshould be either "experience" or "education"- Add highlights as bullet points
- Entries appear in timeline order
Add blog articles:
[
{
"id": 1,
"title": "Article Title",
"excerpt": "Short description (1-2 sentences)",
"content": "Full article content (optional for now)",
"category": "Web Development", // Create any category
"tags": ["React", "NextJS", "Tailwind"],
"date": "2026-04-15",
"readTime": 8, // Estimated minutes to read
"image": "/images/article-image.png", // or null
"url": "https://link-to-full-article.com",
"featured": true // Shows in featured section
}
]Tips:
- Categories auto-filter in the UI
featured: trueshows articles first- Can link to external blogs or LinkedIn posts
- Use ISO format for dates (YYYY-MM-DD)
Add your open source contributions:
[
{
"id": 1,
"name": "Project Name",
"description": "What the project does",
"url": "https://github.com/username/repo",
"stars": 45, // GitHub stars count
"forks": 12, // GitHub forks count
"language": "JavaScript",
"topics": ["tag1", "tag2", "tag3"],
"featured": true // Shows first
}
]Where to find stars/forks:
- Go to your GitHub repo
- Stars count is on the right side
- Click "Forks" to see fork count
Add testimonials from clients or colleagues:
[
{
"id": 1,
"author": "Person Name",
"role": "Job Title",
"company": "Company Name",
"testimonial": "Their quote about working with you",
"image": "/path/to/image.jpg", // or null
"link": "https://linkedin.com/in/person", // or null
"featured": true // Shows prominently
}
]Notes:
featured: trueshows only featured testimonials- Images should be square (ideally 256x256px)
- Link to their LinkedIn profile or website (optional)
Add your achievements:
[
{
"id": 1,
"title": "Achievement Name",
"description": "Brief description",
"icon": "🚀", // Use any emoji
"date": "2026-02-15",
"category": "milestone" // "milestone", "skill", or "community"
}
]Categories:
milestone- Major accomplishments (e.g., projects going viral)skill- Technical skills or expertisecommunity- Community contributions
Emoji Ideas:
- 🚀 Launches, growth, viral
- ⚡ Performance, speed, efficiency
- 🎮 Game development
- 🌐 Web, global
- 🔧 Tools, building
- 🏆 Awards, achievements
- 🎯 Goals, focus
- 💡 Ideas, innovation
Add metrics for your projects (shown on project cards):
{
"Project Title": {
"github_stars": 234,
"github_forks": 89,
"live_users": 8900,
"monthly_visitors": 25000,
"uptime": 99.95,
"average_rating": 4.9,
"reviews_count": 156,
"build_time_days": 14,
"featured": true
}
}Optional Fields (use 0 or omit if not applicable):
github_stars- GitHub repository starsgithub_forks- GitHub repository forkslive_users- Active users on the platformmonthly_visitors- Monthly trafficuptime- Percentage (e.g., 99.9)average_rating- Rating out of 5reviews_count- Number of user reviewsbuild_time_days- Days to builddownloads- Number of downloadsapi_calls_monthly- API usage
Notes:
- Only fields with non-zero values will display
- Project title must match exactly with Projects.tsx
- This creates social proof on your project cards
- Open the file from
src/data/ - Edit the JSON data
- Keep the JSON structure valid (commas, brackets, quotes)
- Save the file
- The changes appear immediately in development
- Always use double quotes for strings
- Commas between array items and object properties
- Valid dates: YYYY-MM-DD format
- No trailing commas
- ❌ Missing commas between items
- ❌ Using single quotes instead of double quotes
- ❌ Unmatched brackets or braces
- ❌ Project names not matching exactly
- Update
resume.jsonwith your resume link - Add 3-5 entries to
experience.json - Add 3-4 blog posts to
blog.json - Add your open source projects to
openSource.json - Add 2-3 testimonials to
testimonials.json - Add 5-6 achievements to
achievements.json - Update
projectStats.jsonwith project metrics
JSON errors won't display?
- Check for syntax errors in the file
- Use a JSON validator: https://jsonlint.com
Data not showing in the UI?
- Ensure the file has correct structure
- Check browser console for errors (F12)
- Restart the development server
Can't find where to edit?
- All data files are in
src/data/folder - Edit any
.jsonfile to update your portfolio
Refer to the example data already in each file - they show the correct format!