From 0a1c4702f72d449d95e768d478ba8fa7e43ff13d Mon Sep 17 00:00:00 2001 From: Mike Karl Date: Wed, 22 Apr 2026 15:40:44 +0200 Subject: [PATCH] reboot --- .gitignore | 1 + README.md | 90 -- app/about/page.tsx | 56 - app/components/Header.tsx | 9 - app/components/NavItem.tsx | 25 - app/components/Navbar.tsx | 9 - app/components/Section.tsx | 9 - app/components/SectionContent.tsx | 9 - app/components/SectionTitle.tsx | 9 - app/contact/page.tsx | 23 - app/favicon.ico | Bin 15406 -> 0 bytes app/globals.css | 27 - app/images/logo.png | Bin 129217 -> 0 bytes app/layout.tsx | 42 - app/not-found.tsx | 21 - app/page.tsx | 44 - app/projects/page.tsx | 7 - next.config.ts | 6 +- package-lock.json | 1856 ++++++++++++++++-------- package.json | 37 +- postcss.config.mjs | 5 +- public/assets/debugger-view.jpg | Bin 0 -> 61239 bytes public/assets/emulator-display.jpg | Bin 0 -> 165984 bytes public/assets/emulator-screenshot.jpg | Bin 0 -> 47066 bytes public/assets/raycaster-screenshot.jpg | Bin 0 -> 34165 bytes public/assets/raytracer-cornell.jpg | Bin 0 -> 30701 bytes public/assets/raytracer-metal.jpg | Bin 0 -> 46927 bytes public/assets/raytracer-render.jpg | Bin 0 -> 52484 bytes public/favicon.svg | 4 + src/app/about/page.tsx | 133 ++ src/app/contact/page.tsx | 93 ++ src/app/globals.css | 105 ++ src/app/hobbies/page.tsx | 69 + src/app/layout.tsx | 56 + src/app/page.tsx | 19 + src/app/project/emulator/page.tsx | 23 + src/app/project/raycaster/page.tsx | 23 + src/app/project/raytracer/page.tsx | 23 + src/app/projects/page.tsx | 74 + src/app/template.tsx | 5 + src/app/timeline/page.tsx | 55 + src/components/Footer.tsx | 16 + src/components/Navigation.tsx | 124 ++ src/components/PageTransition.tsx | 38 + src/components/ParticleGrid.tsx | 123 ++ src/components/PreviewBanner.tsx | 9 + src/components/ProjectPageLayout.tsx | 229 +++ src/data/about.ts | 59 + src/data/contact.ts | 20 + src/data/hobbies.ts | 38 + src/data/projects.ts | 207 +++ src/data/site.ts | 33 + src/data/timeline.ts | 59 + src/global.d.ts | 4 + src/hooks/useScrollReveal.ts | 64 + src/lib/icons.tsx | 91 ++ src/sections/AboutSection.tsx | 45 + src/sections/ContactSection.tsx | 38 + src/sections/HeroSection.tsx | 103 ++ src/sections/HobbiesSection.tsx | 52 + src/sections/ProjectsSection.tsx | 65 + src/sections/TimelineSection.tsx | 73 + tsconfig.json | 30 +- 63 files changed, 3515 insertions(+), 972 deletions(-) delete mode 100644 README.md delete mode 100644 app/about/page.tsx delete mode 100644 app/components/Header.tsx delete mode 100644 app/components/NavItem.tsx delete mode 100644 app/components/Navbar.tsx delete mode 100644 app/components/Section.tsx delete mode 100644 app/components/SectionContent.tsx delete mode 100644 app/components/SectionTitle.tsx delete mode 100644 app/contact/page.tsx delete mode 100644 app/favicon.ico delete mode 100644 app/globals.css delete mode 100644 app/images/logo.png delete mode 100644 app/layout.tsx delete mode 100644 app/not-found.tsx delete mode 100644 app/page.tsx delete mode 100644 app/projects/page.tsx create mode 100644 public/assets/debugger-view.jpg create mode 100644 public/assets/emulator-display.jpg create mode 100644 public/assets/emulator-screenshot.jpg create mode 100644 public/assets/raycaster-screenshot.jpg create mode 100644 public/assets/raytracer-cornell.jpg create mode 100644 public/assets/raytracer-metal.jpg create mode 100644 public/assets/raytracer-render.jpg create mode 100644 public/favicon.svg create mode 100644 src/app/about/page.tsx create mode 100644 src/app/contact/page.tsx create mode 100644 src/app/globals.css create mode 100644 src/app/hobbies/page.tsx create mode 100644 src/app/layout.tsx create mode 100644 src/app/page.tsx create mode 100644 src/app/project/emulator/page.tsx create mode 100644 src/app/project/raycaster/page.tsx create mode 100644 src/app/project/raytracer/page.tsx create mode 100644 src/app/projects/page.tsx create mode 100644 src/app/template.tsx create mode 100644 src/app/timeline/page.tsx create mode 100644 src/components/Footer.tsx create mode 100644 src/components/Navigation.tsx create mode 100644 src/components/PageTransition.tsx create mode 100644 src/components/ParticleGrid.tsx create mode 100644 src/components/PreviewBanner.tsx create mode 100644 src/components/ProjectPageLayout.tsx create mode 100644 src/data/about.ts create mode 100644 src/data/contact.ts create mode 100644 src/data/hobbies.ts create mode 100644 src/data/projects.ts create mode 100644 src/data/site.ts create mode 100644 src/data/timeline.ts create mode 100644 src/global.d.ts create mode 100644 src/hooks/useScrollReveal.ts create mode 100644 src/lib/icons.tsx create mode 100644 src/sections/AboutSection.tsx create mode 100644 src/sections/ContactSection.tsx create mode 100644 src/sections/HeroSection.tsx create mode 100644 src/sections/HobbiesSection.tsx create mode 100644 src/sections/ProjectsSection.tsx create mode 100644 src/sections/TimelineSection.tsx diff --git a/.gitignore b/.gitignore index 5ef6a52..b831ca9 100644 --- a/.gitignore +++ b/.gitignore @@ -16,6 +16,7 @@ # next.js /.next/ /out/ +/dist/ # production /build diff --git a/README.md b/README.md deleted file mode 100644 index eb82ada..0000000 --- a/README.md +++ /dev/null @@ -1,90 +0,0 @@ -### 1. Home / Landing - -**Goal:** instant context - -* Name + role - *“Software Developer focused on X”* -* 1-line value statement - *“I build reliable backend systems and clean UIs.”* -* Primary CTA: **View Projects** or **GitHub** - ---- - -### 2. Projects (most important page) - -**This is where hiring decisions start.** - -For each project: - -* **What it is** (1 sentence) -* **Tech stack** -* **Your role** (solo / team / size) -* **Key challenges & decisions** -* **What you’d improve next** - -Examples: - -* “Self-hosted document management system (Docker, Python, PostgreSQL)” -* “Matrix server setup & federation experiments” -* “WPF app solving UI threading issues” - -👉 3–5 *good* projects beat 10 shallow ones. - ---- - -### 3. About (technical, not fluffy) - -Think “senior dev intro”, not life story. - -Include: - -* What kind of problems you enjoy solving -* How you approach learning & debugging -* What environments you work best in - -Keep it to ~2 short paragraphs. - ---- - -### 4. Skills / Tech Stack - -**Grouped, not buzzword soup.** - -Example: - -* **Languages:** … -* **Frameworks:** … -* **Infrastructure / DevOps:** Docker, Linux, CI/CD -* **Databases:** … -* **Concepts:** REST, async, threading, security basics - -Bonus points: - -* “Comfortable with” vs “Familiar with” - ---- - -### 5. Experience - -* Jobs, freelance, serious hobby projects -* Focus on **impact**, not duties - -Example: - -> “Maintained and extended internal tooling used by X users” - ---- - -### 6. Resume (PDF) - -* One click download -* Matches the portfolio (no contradictions) - ---- - -### 7. Contact - -* Email -* GitHub -* LinkedIn -* (Optional) location / timezone \ No newline at end of file diff --git a/app/about/page.tsx b/app/about/page.tsx deleted file mode 100644 index a026bca..0000000 --- a/app/about/page.tsx +++ /dev/null @@ -1,56 +0,0 @@ -import Link from "next/link"; - -export default function Page() { - return ( -
-

Über mich

-
-

Softwareentwickler:

-

- Bei der Softwareentwicklung ist es mein Anspruch, ein System zu bauen, das nicht einfach nur - funktioniert, sondern robust, flexibel und zukunftorientiert ist. Mir ist wichtig sicherzustellen, - das Features auf einem soliden Fundament aufbauen. Dafür bleibe ich immer am Ball, um neue Ansätze - zu erlernen und die Trends der Branche im Auge zu behalten. Ich verbinde meine Expertise in - verschiedenen Teilgebieten der Informatik um eine sauber integrierte Lösung für die vor mir - liegenden Probleme zu finden. -
- Ich arbeite strukturiert und betrachte das große Ganze, kann mich allerdings auch an Details festbeißen, - sollte der Bedarf bestehen. -
- Mein Ziel ist es Software zu bauen, die dem Nutzer aus dem Weg geht und eine Umgebung zu schaffen, - in der sowohl Endnutzer als auch Entwickler so einfach wie möglich vorran kommen können. -
- Dies gilt sowohl für meine professionelle Arbeit als auch für side projects. -
- - Zu meinen Projekten - - -

-
-
-

Motorradfahrer:

-

- Der 1. April ist immer einer der besten Tage im Jahr. Die neue Motorradsaison beginnt. Als Kind fuhr - ich oft bei anderen mit und wusste immer schon, dass ich einmal den Führerschein machen würde. - Nach vielen Jahren, in denen ich weder Zeit noch Geld hatte, machte ich 2023 den A-Klasse Schein. - Mit meiner geliebten Kawa fahre ich häufig meine Haustrecke über den Arber. Seit letztem Jahr auch - mit Sozia. -

-
-
-

Astrofotograf:

-

- Was als P-Seminar während der Oberstufe begannt, entwickelte sich über die Jahre in ein richtiges - Hobby. Der Weltraum ist so ein unbegreifliches Konzept, dass es fast surreal erscheint, wie viel - eine einfache Kamera doch einfangen kann. Viele Nächte verbringe ich mit Stativ und DSLR draußen - auf einer weiten Wiese, um am nächsten Tag aufgeregt am PC die Ergebnisse zu betrachten. Mein - Lieblingsmotiv ist der Orion Nebel, da er selbst mit dem bloßen Auge erkennbar ist. Ein so tolles - Motiv, das auf das untrainierte Auge nur wie ein weiterer Stern aussieht. Für die nächsten Jahre - habe ich mir vorgenommen, auf ein Teleskop mit Star-Tracker aufzurüsten und so noch viele weitere - Beobachtungsziele in meinen Katalog aufzunehmen. -

-
-
- ); -} diff --git a/app/components/Header.tsx b/app/components/Header.tsx deleted file mode 100644 index fdeeca2..0000000 --- a/app/components/Header.tsx +++ /dev/null @@ -1,9 +0,0 @@ -export default function Header({ - children, -}: Readonly<{ - children: React.ReactNode; -}>) { - return
- {children} -
-} \ No newline at end of file diff --git a/app/components/NavItem.tsx b/app/components/NavItem.tsx deleted file mode 100644 index cd85040..0000000 --- a/app/components/NavItem.tsx +++ /dev/null @@ -1,25 +0,0 @@ -'use client' -import Link from "next/link"; -import { usePathname } from "next/navigation"; - -export default function NavItem({ - children, - href -}: Readonly<{ - children: React.ReactNode; - href: string; -}>) { - const highlighted = usePathname() == href; - return ( - - {children} -