diff --git a/artifacts/joachim-portfolio/src/components/competencies.tsx b/artifacts/joachim-portfolio/src/components/competencies.tsx index f2138a5..1bbd903 100644 --- a/artifacts/joachim-portfolio/src/components/competencies.tsx +++ b/artifacts/joachim-portfolio/src/components/competencies.tsx @@ -29,7 +29,7 @@ const skills = [ }, { icon: Cpu, - title: "KI & Vibe-Coding", + title: "KI & Automation", desc: "n8n, Claude Code, ChatGPT, RAG-Systeme, Pinecone, OpenAI, Ollama, API-Automation", color: "bg-violet-50 text-violet-600 border-violet-100", }, diff --git a/artifacts/joachim-portfolio/src/components/navbar.tsx b/artifacts/joachim-portfolio/src/components/navbar.tsx index c918c43..e9f3420 100644 --- a/artifacts/joachim-portfolio/src/components/navbar.tsx +++ b/artifacts/joachim-portfolio/src/components/navbar.tsx @@ -17,6 +17,7 @@ export function Navbar() { { name: "Projekte", href: "#projects" }, { name: "Über mich", href: "#bio" }, { name: "Erfahrung", href: "#experience" }, + { name: "Skills", href: "#skills" }, { name: "Kontakt", href: "#contact" }, ]; diff --git a/artifacts/joachim-portfolio/src/components/skills.tsx b/artifacts/joachim-portfolio/src/components/skills.tsx new file mode 100644 index 0000000..921ee25 --- /dev/null +++ b/artifacts/joachim-portfolio/src/components/skills.tsx @@ -0,0 +1,203 @@ +import { motion } from "framer-motion"; +import { ExternalLink, BookOpen, ShieldCheck } from "lucide-react"; + +type Category = { + label: string; + tags: string[]; + color: string; +}; + +const categories: Category[] = [ + { + label: "Betriebssysteme", + tags: ["AIX", "Solaris", "Ubuntu / Debian", "Red Hat", "HP-UX", "Windows Server"], + color: "bg-slate-100 text-slate-700", + }, + { + label: "Middleware & Webserver", + tags: ["Apache2", "Tomcat", "JBoss", "WebSphere", "BEA WebLogic", "ColdFusion", "Nginx"], + color: "bg-blue-50 text-blue-700", + }, + { + label: "Container & Automatisierung", + tags: ["Docker", "Docker Compose", "Ansible", "Gitlab CI/CD", "Artifactory", "Bitbucket"], + color: "bg-sky-50 text-sky-700", + }, + { + label: "Monitoring", + tags: ["Grafana", "Prometheus", "Loki", "Nagios", "Cacti", "JMX-Monitoring"], + color: "bg-orange-50 text-orange-700", + }, + { + label: "Datenbanken", + tags: ["Oracle", "MySQL", "MariaDB", "MSSQL"], + color: "bg-teal-50 text-teal-700", + }, + { + label: "KI & Automation", + tags: ["n8n", "OpenAI API", "Ollama", "Pinecone", "RAG-Systeme", "Claude Code", "ChatGPT"], + color: "bg-violet-50 text-violet-700", + }, + { + label: "Programmierung & Scripting", + tags: ["Shell / Bash", "Perl", "PHP", "Python", "HTML", "CSS"], + color: "bg-green-50 text-green-700", + }, + { + label: "Kollaboration & Dokumentation", + tags: ["Confluence", "Jira", "draw.io", "Visio", "ServiceNow", "Nextcloud"], + color: "bg-rose-50 text-rose-700", + }, +]; + +const methodikBadges = [ + { label: "ITIL v3/v4", strong: true }, + { label: "BSI-Grundschutz", strong: true }, + { label: "ITSM / Service Management", strong: false }, + { label: "Betriebshandbücher & Runbooks", strong: false }, + { label: "Change Management", strong: false }, + { label: "Incident & Problem Management", strong: false }, +]; + +const softSkills = [ + "Analytisches Denken", + "Belastbarkeit in kritischen Umgebungen", + "Strukturierte Kommunikation", + "Eigenverantwortliches Arbeiten", + "Einarbeitung in neue Domänen", + "Dokumentationsqualität", +]; + +export function Skills() { + return ( +
+ +
+

+ Skills & Technologien +

+

+ Vollständige Technologie-Matrix +

+

+ Eingesetzte Technologien aus 30+ Jahren Projektpraxis — von Unix-Systemen der ersten Stunde bis zur aktuellen KI-Toolchain. +

+
+ +
+ {categories.map((cat, index) => ( + +

+ {cat.label} +

+
+ {cat.tags.map((tag) => ( + + {tag} + + ))} +
+
+ ))} +
+ +
+ +
+ +

Methodik & Compliance

+
+
+ {methodikBadges.map((b) => ( + + {b.label} + + ))} +
+
+ + +

Arbeitsweise & Soft Skills

+
+ {softSkills.map((s) => ( + + {s} + + ))} +
+
+
+ + +
+ +
+
+

300+ Fachartikel auf blog.unixweb.de

+

+ Praxiswissen zu Linux, Apache, Docker, Ansible, KI-Automation und mehr — seit über 10 Jahren. +

+
+ +
+
+
+ ); +} diff --git a/artifacts/joachim-portfolio/src/pages/home.tsx b/artifacts/joachim-portfolio/src/pages/home.tsx index b9c3acd..58ab0cb 100644 --- a/artifacts/joachim-portfolio/src/pages/home.tsx +++ b/artifacts/joachim-portfolio/src/pages/home.tsx @@ -4,6 +4,7 @@ import { Projects } from "@/components/projects"; import { Strengths } from "@/components/strengths"; import { Bio } from "@/components/bio"; import { Experience } from "@/components/experience"; +import { Skills } from "@/components/skills"; import { Contact } from "@/components/contact"; import { Navbar } from "@/components/navbar"; @@ -37,6 +38,10 @@ export default function Home() { +
+ +
+