Updated skills section to more accurately reflect my personal usage and fixed rendering of about me on mobile
This commit is contained in:
@@ -48,10 +48,7 @@ export default function BioSection({ imageSrc, imageAlt, text, reversed = false
|
||||
|
||||
return (
|
||||
<div
|
||||
className="about-content"
|
||||
style={{
|
||||
flexDirection: reversed ? "row-reverse" : "row",
|
||||
}}
|
||||
className={`about-content ${reversed ? 'reversed' : ''}`.trim()}
|
||||
>
|
||||
<motion.div
|
||||
className="about-image-container"
|
||||
|
||||
@@ -11,67 +11,67 @@ const TECHNICAL_SKILLS: SkillCategory[] = [
|
||||
{
|
||||
category: "Languages",
|
||||
skills: [
|
||||
{ name: "JavaScript (ES6+)", description: "Core language for web interactivity, closures, and async programming." },
|
||||
{ name: "TypeScript", description: "Strict syntactical superset of JavaScript adding static typing." },
|
||||
{ name: "Python", description: "Versatile language used for backend scripting and data processing." },
|
||||
{ name: "Java", description: "Object-oriented language for robust enterprise backends." },
|
||||
{ name: "C", description: "Low-level system programming and memory management." },
|
||||
{ name: "C++", description: "High-performance application development with OOP features." },
|
||||
{ name: "Lua", description: "Lightweight scripting often used in embedded systems and game dev." },
|
||||
{ name: "HTML", description: "Standard markup language for document structure." },
|
||||
{ name: "CSS", description: "Style sheet language for presentation and layout." },
|
||||
{ name: "SQL", description: "Standard language for relational database management." }
|
||||
{ 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" },
|
||||
{ name: "Python", description: "Utilized at 'CNH', 'Nutrien', and for the University of Saskatchewan classes 'Artificial Intelligence' & 'Information Visualization'." },
|
||||
{ name: "Java", description: "Object-oriented language used in University of Saskatchewan classes 'Mobile & Cloud Computing', 'Algorithms & Machines', and 'Graphical User Interfaces'." },
|
||||
{ name: "C", description: "Low-level programming applied in University of Saskatchewan classes 'Operating Systems' and 'Computer Networks' for memory and socket management." },
|
||||
{ name: "C++", description: "Utilized for embedded software engineering at 'CNH' to perform whitebox testing" },
|
||||
{ name: "Lua", description: "Lightweight scripting often used in embedded systems and game dev. My first foray into programming was with Lua" },
|
||||
{ name: "HTML", description: "Structured 'Digital Resume', 'Allan's Landscaping' sites, and assignments for the University of Saskatchewan class 'Full Stack Web Programming'." },
|
||||
{ name: "CSS", description: "Styled 'Digital Resume' with glassmorphism and interfaces for the University of Saskatchewan class 'Graphical User Interfaces' and 'Full Stack Web Programming'." },
|
||||
{ name: "SQL", description: "Managed relational data for self-hosted services and in the University of Saskatchewan class 'Full Stack Web Programming'." }
|
||||
]
|
||||
},
|
||||
{
|
||||
category: "Frameworks/Libraries",
|
||||
skills: [
|
||||
{ name: "React", description: "Library for building component-based user interfaces." },
|
||||
{ name: "Express.js", description: "Minimalist web framework for Node.js servers." },
|
||||
{ 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" },
|
||||
{ name: "Django REST Framework", description: "Toolkit for building Web APIs with Python/Django." },
|
||||
{ name: "AWS Lambda", description: "Serverless compute service for running code without provisioning." }
|
||||
{ name: "AWS Lambda", description: "Deployed serverless functions for cloud applications at 'Nutrien'." }
|
||||
]
|
||||
},
|
||||
{
|
||||
category: "Databases",
|
||||
skills: [
|
||||
{ name: "PostgreSQL", description: "Advanced open-source relational database (SQL)." },
|
||||
{ name: "CouchDB", description: "Seamless multi-master sync capability database (No-SQL)." }
|
||||
{ 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." }
|
||||
]
|
||||
},
|
||||
{
|
||||
category: "DevOps & Tools",
|
||||
skills: [
|
||||
{ name: "Docker", description: "Platform for developing, shipping, and running applications in containers." },
|
||||
{ name: "CircleCI", description: "Continuous integration and delivery platform." },
|
||||
{ name: "Git (CLI)", description: "Distributed version control system." },
|
||||
{ name: "Postman", description: "API platform for building and using APIs." },
|
||||
{ name: "AWS CDK", description: "Software development framework for defining cloud infrastructure in code." },
|
||||
{ name: "Linux CLI", description: "Command line interface for system interaction and scripting." }
|
||||
{ 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'." },
|
||||
{ name: "Git (CLI)", description: "Version control for all projects; self-hosted via 'Gitea' in 'self-hosted' services." },
|
||||
{ name: "Postman", description: "API platform for building and testing APIs. Used regularly for testing backends" },
|
||||
{ name: "AWS CDK", description: "Defined cloud infrastructure as code for enterprise apps at 'Nutrien'." },
|
||||
{ name: "Linux CLI", description: "Daily driver for self-hosted services system administration and CI/CD scripting." }
|
||||
]
|
||||
},
|
||||
{
|
||||
category: "AWS Technologies",
|
||||
category: "AWS Technologies (Nutrien Internship)",
|
||||
skills: [
|
||||
{ name: "S3", description: "Scalable object storage service." },
|
||||
{ name: "Cloudfront", description: "Content Delivery Network (CDN) service." },
|
||||
{ name: "Route 53", description: "Scalable Domain Name System (DNS) web service." },
|
||||
{ name: "API Gateway", description: "Service to create, publish, maintain, monitor, and secure APIs." },
|
||||
{ name: "Lambda", description: "Serverless compute service." },
|
||||
{ name: "RDS", description: "Managed relational database service." },
|
||||
{ name: "VPC", description: "Logically isolated section of the AWS Cloud." },
|
||||
{ name: "ECS", description: "Fully managed container orchestration service." },
|
||||
{ name: "SQS", description: "Message queuing service for decoupling microservices." }
|
||||
{ name: "S3", description: "Utilized for scalable object storage and artifact management." },
|
||||
{ name: "Cloudfront", description: "Configured content delivery for refined user experience." },
|
||||
{ name: "Route 53", description: "Managed DNS records for cloud-hosted applications." },
|
||||
{ name: "API Gateway", description: "Secured and published APIs for serverless backends." },
|
||||
{ name: "Lambda", description: "Executed serverless logic for event-driven architectures." },
|
||||
{ name: "RDS", description: "Provisioned managed relational databases for cloud applications." },
|
||||
{ name: "VPC", description: "Network isolation and security configuration for cloud resources." },
|
||||
{ name: "ECS", description: "Orchestrated containerized services in the cloud environment." },
|
||||
{ name: "SQS", description: "Implemented message queues to decouple microservices." }
|
||||
]
|
||||
},
|
||||
{
|
||||
category: "Concepts",
|
||||
skills: [
|
||||
{ name: "RESTful APIs", description: "Architectural style for network-based software." },
|
||||
{ name: "Agile/Scrum", description: "Iterative approach to project software delivery." },
|
||||
{ name: "MVC Architecture", description: "Design pattern separating Model, View, and Controller." },
|
||||
{ name: "Cloud Deployment", description: "Process of deploying applications to cloud infrastructure." },
|
||||
{ name: "Responsive Design", description: "Design approach for rendering well on variety of devices." }
|
||||
{ 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'." },
|
||||
{ name: "MVC Architecture", description: "Applied design patterns in University of Saskatchewan classes 'Mobile & Cloud Computing' and 'Full Stack Web Programming'." },
|
||||
{ name: "Cloud Deployment", description: "Implemented strategies for 'Nutrien', self-hosted services, and the University of Saskatchewan class 'Mobile & Cloud Computing'." },
|
||||
{ name: "Responsive Design", description: "Ensured mobile-compatibility for 'Digital Resume', 'Allan's Landscaping', and the University of Saskatchewan class 'Graphical User Interfaces'." }
|
||||
]
|
||||
}
|
||||
];
|
||||
|
||||
@@ -30,6 +30,10 @@
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.about-content.reversed {
|
||||
flex-direction: row-reverse;
|
||||
}
|
||||
|
||||
.about-image-container {
|
||||
flex: 0 0 auto;
|
||||
}
|
||||
@@ -70,7 +74,9 @@
|
||||
|
||||
/* Mobile/Responsive */
|
||||
@media (orientation: portrait) {
|
||||
.about-content {
|
||||
|
||||
.about-content,
|
||||
.about-content.reversed {
|
||||
flex-direction: column;
|
||||
gap: 30px;
|
||||
}
|
||||
@@ -87,7 +93,9 @@
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.about-content {
|
||||
|
||||
.about-content,
|
||||
.about-content.reversed {
|
||||
flex-direction: column;
|
||||
gap: 30px;
|
||||
}
|
||||
@@ -95,4 +103,4 @@
|
||||
.about-title {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user