×
+
File
Edit
Selection
View
Go
Run
sebastian-koch — portfolio
DE
M↓README.md
TSabout.tsx
🖼portrait.jpg
{}experience.json
TSskills.ts
TSprojects.tsx
M↓contact.md
Sebastian Koch
EXPLORER
PORTFOLIO
M↓README.md
src
TSabout.tsx
TSskills.ts
assets
🖼portrait.jpg
{}experience.json
projects
TSeverythingapp.tsx
TSweddingplanner.tsx
M↓contact.md
PROBLEMS
OUTPUT
DEBUG CONSOLE
TERMINAL
PORTS
sebastian@portfolio ~ %
portfolio / README.md
1
# Sebastian Koch
2
 
3
> Ich baue moderne, schnelle Web-Apps – von der ersten Idee bis zum letzten Pixel.
4
 
5
## Senior Frontend Engineer
6
 
7
- 📍 Eichstetten am Kaiserstuhl
8
- 🗣 Deutsch (Muttersprache) · Englisch (fließend) · Typescript (fließend)
9
- 🟢 Verfügbar für neue Projekte
10
 
11
<!-- Tipp: links im Explorer durch die Dateien stöbern -->
portfolio / src / about.tsx
1
import { Developer } from "./types"
2
 
3
export const sebastian: Developer = {
4
name: "Sebastian Koch",
5
role: "Senior Frontend Engineer",
6
location: "Eichstetten am Kaiserstuhl",
7
bio: [
8
"Senior Frontend Engineer mit Leidenschaft für sauberen Code, durchdachte Interfaces und Performance. Aktuell entwickle ich eine Plattform für die Kommunikation im Energiemarkt.",
9
"Mein Weg führte von der Ausbildung zum Fachinformatiker über die Entwicklung eines kompletten Onlineshops bis hin zu komplexen Web-Plattformen – immer mit dem Anspruch, Dinge richtig zu machen.",
10
"In meinen privaten Projekten baue ich alles selbst: Frontend, eigenes Backend, Datenmodell und Deployment.",
11
],
12
languages: ["Deutsch (Muttersprache)", "Englisch (fließend)", "Typescript (fließend)"],
13
license: "Klasse B",
14
hobbies: ["Programmieren", "Schlagzeug spielen", "Ehrenamtliche Tätigkeit in der Guggemusik"],
15
available: true,
16
};
portfolio / assets / portrait.jpg
Sebastian Koch
portrait.jpg2832 × 3776Fit// das bin ich 👋
portfolio / experience.json
1
[
2
{
3
"type": "work",
4
"company": "Mako365 GmbH",
5
"role": "Senior Frontend Engineer",
6
"location": "Mannheim",
7
"period": "Mai 2025 – heute",
8
"highlights": [
9
"Entwicklung einer Plattform zur Kommunikation im Energiemarkt.",
10
"Planung, Konzeption und Umsetzung ganzheitlicher Prozesse."
11
]
12
},
13
{
14
"type": "work",
15
"company": "Alexander Bürkle GmbH",
16
"role": "Softwareentwickler",
17
"location": "Freiburg",
18
"period": "Feb. 2022 – Mai 2025",
19
"highlights": [
20
"Entwicklung eines Onlineshops mit React.js und TypeScript.",
21
"Automatisiertes Frontend-Testing mit Cypress.",
22
"QA / QS."
23
]
24
},
25
{
26
"type": "training",
27
"company": "EMIS Electrics GmbH, Waldkirch",
28
"role": "Ausbildung Fachinformatiker Anwendungsentwicklung",
29
"period": "Jan. 2020 – Feb. 2022",
30
"highlights": [
31
"Entwicklung, Gestaltung und Wartung von Vue.js-Applikationen. Umsetzung von Python-Backends, um Sensordaten zu verarbeiten und über eine API bereitzustellen."
32
]
33
},
34
{
35
"type": "education",
36
"company": "DHBW Karlsruhe",
37
"role": "3 Semester Studium Informatik",
38
"period": "Okt. 2018 – Nov. 2019"
39
},
40
{
41
"type": "education",
42
"company": "Max-Weber-Schule, Freiburg",
43
"role": "Fachhochschulreife Wirtschaftsinformatik",
44
"period": "Sep. 2016 – Juli 2018"
45
}
46
]
portfolio / src / skills.ts
1
// rated 1–5, honed on real projects
2
export const skills = {
3
"TypeScript / JavaScript": 5, // █████
4
"React.js": 4, // ████
5
"HTML / CSS": 4, // ████
6
"Cypress": 4, // ████
7
"Vue.js": 3, // ███░░
8
} as const;
9
 
10
export const stack = [
11
"Next.js", "Node.js", "Express", "Python", "Firebase", "Material UI", "styled-components", "Framer Motion", "Git"
12
];
portfolio / projects / index.tsx
1
// das Projekt, auf das ich am meisten stolz bin
2
export const everythingApp: Project = {
3
name: "EverythingApp",
4
tagline: "Eine App für alles – meine persönliche Super-App, inklusive eigenem Backend.",
5
description: "Eine als PWA gebaute Allround-App, die rund 20 Alltags-Tools unter einem Dach vereint: von Reiseplanung über Haushalt und Rezepte bis zur Zeiterfassung. Dahinter läuft ein eigenes Express-Backend, das die Firestore-Zugriffe absichert, Überstunden serverseitig berechnet und Mails verschickt; geplante Jobs und Push-Benachrichtigungen übernehmen Firebase Cloud Functions. Schreibvorgänge funktionieren offline und werden beim Reconnect feldweise zusammengeführt.",
6
stack: ["Next.js", "React", "TypeScript", "Express", "Node.js", "Firestore", "Cloud Functions", "Material UI", "styled-components", "i18next", "PWA", "Sentry", "Vercel", "Kotlin"],
7
backend: {
8
runtime: "Express 5 + TypeScript auf Node 22",
9
data: "Firestore über firebase-admin, Collection-Allowlist + Schema-Validierung",
10
auth: "Firebase-ID-Token + API-Token, serverseitiges Owner-Scoping",
11
jobs: "Firebase Cloud Functions (Cron): Push-Versand, Überstunden- & Buchungs-Checks",
12
types: "aus dem Backend generierte API-Typen, mit dem Frontend synchronisiert",
13
deploy: "Vercel · api.everythingapp.me",
14
},
15
features: [
16
"Reiseplaner mit Karten & Tagesplanung",
17
"Haushaltsplaner: Essensplan, Rezepte, Vorräte, Einkaufsliste",
18
"Zeiterfassung mit serverseitiger Überstundenberechnung",
19
"Kanban-Board, To-dos & Notizen",
20
"Habit-Tracker mit Statistiken",
21
"Wheel of Names, Umfragen & GameMaker",
22
"Push-Benachrichtigungen & geplante Jobs",
23
"Offline-Sync mit Merge beim Reconnect",
24
"Native Android-Widgets"
25
],
26
27
};
28
 
29
// privates Projekt – Details bleiben unter Verschluss, kein öffentlicher Link
30
export const weddingPlanner: Project = {
31
name: "Wedding Planner",
32
tagline: "Private Hochzeits-Web-App – Gäste, Sitzplan, Fotos.",
33
description: "Eine geschlossene Web-App für ein Hochzeitspaar: Gäste verwalten, Rückmeldungen einsammeln, den Sitzplan per Drag & Drop bauen und Fotos hochladen. Statt Logins gibt es personalisierte Zugangscodes mit QR-Deeplink; autorisiert wird ausschließlich über Firestore- und Storage-Security-Rules mit struktureller Validierung – bewusst ohne eigenes Backend.",
34
stack: ["Next.js", "React", "TypeScript", "Material UI", "styled-components", "Firestore", "Firebase Storage", "Security Rules", "PWA"],
35
features: [
36
"Gästeverwaltung mit Excel-Import/-Export",
37
"Personalisierte Zugangscodes & QR-Codes als Bulk-Download",
38
"Rückmeldungen inkl. Familien & Begleitungen",
39
"Drag-&-Drop-Sitzplan mit Raum-Editor und Export",
40
"Foto-Upload mit clientseitigem Resizing & Foto-Challenges",
41
"Budget-Übersicht, FAQ & Wunschliste",
42
"Feature-Flags zum Zu- und Abschalten von Bereichen"
43
],
44
};
portfolio / contact.md
1
# Lass uns reden
2
 
3
> Du hast ein Projekt, eine Idee oder eine offene Stelle? Schreib mir gern.
4
 
8
 
9
— Sebastian Koch · © 2026
main
0 0
open to work
Ln 12, Col 1
Spaces: 2
UTF-8
LF
Markdown