diff --git a/src/components/About.tsx b/src/components/About.tsx
index 34c5dc7..b6324f4 100644
--- a/src/components/About.tsx
+++ b/src/components/About.tsx
@@ -6,9 +6,15 @@ interface AboutProps {
settings: SiteSettings;
experience: Experience[];
education?: Education[];
+ sectionTag?: string;
}
-export default function About({ settings, experience, education = [] }: AboutProps) {
+export default function About({
+ settings,
+ experience,
+ education = [],
+ sectionTag = '01 // Profile & Background'
+}: AboutProps) {
const paragraphs = (settings.biography && settings.biography.length > 0)
? settings.biography
: [];
@@ -29,7 +35,7 @@ export default function About({ settings, experience, education = [] }: AboutPro
- 04 // Profile & Background
+ {sectionTag}
About & Background
diff --git a/src/components/Certifications.tsx b/src/components/Certifications.tsx
index c2a838a..8ce3fee 100644
--- a/src/components/Certifications.tsx
+++ b/src/components/Certifications.tsx
@@ -6,11 +6,12 @@ import haptic from '../lib/haptics';
interface Props {
certifications?: Certification[];
extraCerts?: Certification[];
+ sectionTag?: string;
}
type FilterMode = 'all' | 'certificates' | 'badges';
-export default function Certifications({ certifications, extraCerts = [] }: Props) {
+export default function Certifications({ certifications, extraCerts = [], sectionTag = '04 // Certifications' }: Props) {
const baseCerts = (certifications && certifications.length > 0) ? certifications : mockCertifications;
const allCerts = [...baseCerts, ...extraCerts];
@@ -324,7 +325,7 @@ export default function Certifications({ certifications, extraCerts = [] }: Prop
- 03 // Certifications
+ {sectionTag}
Verified Credentials & Certifications
diff --git a/src/components/Projects.tsx b/src/components/Projects.tsx
index 093cbda..966b715 100644
--- a/src/components/Projects.tsx
+++ b/src/components/Projects.tsx
@@ -6,9 +6,15 @@ interface ProjectsProps {
initialProjects: Project[];
showArchiveLink?: boolean;
limit?: number;
+ sectionTag?: string;
}
-export default function Projects({ initialProjects, showArchiveLink = true, limit }: ProjectsProps) {
+export default function Projects({
+ initialProjects,
+ showArchiveLink = true,
+ limit,
+ sectionTag = '02 // Projects'
+}: ProjectsProps) {
const [filter, setFilter] = useState('All');
const [selectedProject, setSelectedProject] = useState(null);
const [activeImage, setActiveImage] = useState('');
@@ -68,7 +74,7 @@ export default function Projects({ initialProjects, showArchiveLink = true, limi
- 01 // Projects
+ {sectionTag}
Featured Work
diff --git a/src/components/Skills.tsx b/src/components/Skills.tsx
index 4b65b60..30e7090 100644
--- a/src/components/Skills.tsx
+++ b/src/components/Skills.tsx
@@ -4,6 +4,7 @@ import ScrollReveal from './ScrollReveal';
interface SkillsProps {
skills: Skill[];
+ sectionTag?: string;
}
const getCategoryIcon = (category: string) => {
@@ -50,7 +51,7 @@ const getCategoryIcon = (category: string) => {
);
};
-export default function Skills({ skills }: SkillsProps) {
+export default function Skills({ skills, sectionTag = '03 // Tech Stack' }: SkillsProps) {
if (!skills || skills.length === 0) {
return null;
}
@@ -91,7 +92,7 @@ export default function Skills({ skills }: SkillsProps) {
- 02 // Tech Stack
+ {sectionTag}
Technologies & Tools
@@ -134,28 +135,12 @@ export default function Skills({ skills }: SkillsProps) {
{categorySkills.map((skill) => (
-
-
- {skill.name}
-
- {typeof skill.proficiency === 'number' && skill.proficiency > 0 && (
-
- {skill.proficiency}%
-
- )}
-
-
- {/* Minimal Proficiency Meter if defined */}
- {typeof skill.proficiency === 'number' && skill.proficiency > 0 && (
-
- )}
+
+ {skill.name}
+
+
))}
diff --git a/src/lib/data.ts b/src/lib/data.ts
index d5a4091..b44f88d 100644
--- a/src/lib/data.ts
+++ b/src/lib/data.ts
@@ -22,7 +22,7 @@ export interface Project {
export interface Skill {
name: string;
category: 'Frontend' | 'Backend' | 'Mobile' | 'Database' | 'DevOps' | 'AI/ML' | 'Tools' | 'Cybersecurity' | string;
- proficiency: number; // 0-100
+ proficiency?: number; // optional (deprecated)
icon?: string;
}
@@ -403,7 +403,6 @@ export async function getSkills(): Promise {
return skills.map((s: any) => ({
name: s.name || 'Skill',
category: s.category || 'Tools',
- proficiency: typeof s.proficiency === 'number' ? s.proficiency : 85,
icon: s.icon
}));
} catch (error) {
diff --git a/src/pages/about.astro b/src/pages/about.astro
index 643ba31..c6255a2 100644
--- a/src/pages/about.astro
+++ b/src/pages/about.astro
@@ -15,7 +15,7 @@ const socialLinks = await getSocialLinks();
diff --git a/src/pages/api/chat.ts b/src/pages/api/chat.ts
index 594a784..5fe4a09 100644
--- a/src/pages/api/chat.ts
+++ b/src/pages/api/chat.ts
@@ -284,7 +284,7 @@ export const POST: APIRoute = async ({ request }) => {
const catSkills = skills.filter(s => (s.category || 'Core') === cat).map(s => s.name);
return `• ${cat}: ${catSkills.join(', ')}`;
}).join('\n') +
- `\n\nYou can review the full interactive matrix in the Skills Matrix section.`;
+ `\n\nYou can review the full breakdown in the Technologies & Tools section.`;
} else if (query.includes('experience') || query.includes('job') || query.includes('career') || query.includes('intern') || query.includes('role')) {
reply = `Professional Experience:\n\n` +
diff --git a/src/pages/index.astro b/src/pages/index.astro
index fa3f47f..bb70276 100644
--- a/src/pages/index.astro
+++ b/src/pages/index.astro
@@ -57,14 +57,14 @@ const socialLinks = await getSocialLinks();
client:load
/>
+
+
-
-