feat: Add skill category descriptions, update favicon and site title, and include new images.
This commit is contained in:
@@ -7,6 +7,7 @@ export interface SkillDetail {
|
||||
|
||||
export interface SkillCategory {
|
||||
category: string;
|
||||
description?: string;
|
||||
skills: SkillDetail[];
|
||||
}
|
||||
|
||||
@@ -65,6 +66,16 @@ export default function SkillCard({ category, isExpanded, onToggle }: SkillCardP
|
||||
transition={{ duration: 0.3 }}
|
||||
style={{ borderTop: "1px solid rgba(255,255,255,0.2)", paddingTop: "20px" }}
|
||||
>
|
||||
{category.description && (
|
||||
<p style={{
|
||||
color: "rgba(255, 255, 255, 0.8)",
|
||||
marginBottom: "20px",
|
||||
fontSize: "1rem",
|
||||
lineHeight: "1.5"
|
||||
}}>
|
||||
{category.description}
|
||||
</p>
|
||||
)}
|
||||
<div style={{ display: "grid", gridTemplateColumns: "repeat(auto-fit, minmax(280px, 1fr))", gap: "15px" }}>
|
||||
{category.skills.map((skill) => (
|
||||
<div key={skill.name} style={{ display: "flex", flexDirection: "column", gap: "5px" }}>
|
||||
|
||||
@@ -10,6 +10,7 @@ interface ProfessionalSkill {
|
||||
const TECHNICAL_SKILLS: SkillCategory[] = [
|
||||
{
|
||||
category: "Languages",
|
||||
description: "Core programming languages I have utilized across professional roles, academic coursework, and personal projects.",
|
||||
skills: [
|
||||
{ name: "JavaScript (ES6+)", description: "Used for frontend logic in 'Digital Resume', WordPress plugins at 'Allan's Landscaping', and the University of Saskatchewan class 'Full Stack Web Programming'." },
|
||||
{ name: "TypeScript", description: "Primary language for 'Digital Resume' and 'Nutrien' cloud apps" },
|
||||
@@ -25,6 +26,7 @@ const TECHNICAL_SKILLS: SkillCategory[] = [
|
||||
},
|
||||
{
|
||||
category: "Frameworks/Libraries",
|
||||
description: "Key frameworks and libraries that power my applications, enabling efficient and scalable development.",
|
||||
skills: [
|
||||
{ name: "React", description: "Built UI for 'Digital Resume', 'Nutrien' tools, and projects for the University of Saskatchewan class 'Full Stack Web Programming'." },
|
||||
{ name: "Express.js", description: "Minimalist web framework for Node.js servers. Used for early Server Testing" },
|
||||
@@ -34,6 +36,7 @@ const TECHNICAL_SKILLS: SkillCategory[] = [
|
||||
},
|
||||
{
|
||||
category: "Databases",
|
||||
description: "Data storage solutions I have implemented for varied use cases, from relational structure to flexible document stores.",
|
||||
skills: [
|
||||
{ name: "PostgreSQL", description: "Backend database for self-hosted services like Authentik and Immich. Used both professionally and at the University of Saskatchewan for various classes." },
|
||||
{ name: "CouchDB", description: "Seamless multi-master sync capability database (No-SQL). Used for 'full stack web programming' class at the University of Saskatchewan." }
|
||||
@@ -41,6 +44,7 @@ const TECHNICAL_SKILLS: SkillCategory[] = [
|
||||
},
|
||||
{
|
||||
category: "DevOps & Tools",
|
||||
description: "Tools and practices I employ to automate workflows, manage infrastructure, and ensure reliable deployments.",
|
||||
skills: [
|
||||
{ name: "Docker", description: "Containerized the 'Digital Resume', 'Gitea Workers', and 20+ 'self-hosted' services." },
|
||||
{ name: "CircleCI", description: "Managed CI/CD pipelines and deployment workflows at 'Nutrien'." },
|
||||
@@ -51,7 +55,8 @@ const TECHNICAL_SKILLS: SkillCategory[] = [
|
||||
]
|
||||
},
|
||||
{
|
||||
category: "AWS Technologies (Nutrien Internship)",
|
||||
category: "AWS Technologies",
|
||||
description: "Cloud services I extensively utilized during my internship at Nutrien to build serverless and scalable solutions.",
|
||||
skills: [
|
||||
{ name: "S3", description: "Utilized for scalable object storage and artifact management." },
|
||||
{ name: "Cloudfront", description: "Configured content delivery for refined user experience." },
|
||||
@@ -66,6 +71,7 @@ const TECHNICAL_SKILLS: SkillCategory[] = [
|
||||
},
|
||||
{
|
||||
category: "Concepts",
|
||||
description: "Fundamental software engineering principles and methodologies that guide my architectural decisions and development process.",
|
||||
skills: [
|
||||
{ name: "RESTful APIs", description: "Designed and consumed APIs for 'Digital Resume', 'Nutrien', and the University of Saskatchewan class 'Mobile & Cloud Computing'." },
|
||||
{ name: "Agile/Scrum", description: "Participated in iterative delivery and sprint planning at 'Nutrien'." },
|
||||
|
||||
@@ -48,7 +48,7 @@ const WORK_EXPERIENCES = [
|
||||
"Leveraged Python and OpenCV to control the simulator, ensuring accurate performance evaluations.",
|
||||
"Utilized C# to integrate controls into the testing framework, streamlining the automation process."
|
||||
],
|
||||
image: "/metaImage.png",
|
||||
image: "/images/work/cnh.png",
|
||||
highlighted: true
|
||||
},
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user