// Page sections: Now/About, Work, Career, Methods, Contact, Footer const Container = ({ children, style }) => (
{children}
); const SectionHeader = ({ no, label, title }) => (
§ {no}
{label}

{title}

); // — Jetzt / About ———————————————————————————————————————————————— const Jetzt = () => { const d = window.CV_DATA; return (
Jetzt gerade} />
Live · seit Januar 2025
Gründungs­berater
Hochschule Offenburg — Open Game and Fablab

Ich begleite gründungs­interessierte Teams, konzipiere Innovations­workshops und kümmere mich um Community-Events rund ums Lab. Was mich dabei antreibt: wenn ein Gespräch jemanden ins Denken — und dann ins Handeln — bringt.

{['Design Thinking', 'Coaching', 'Workshop-Design', 'Community-Building'].map(s => ( {s} ))}
Beta · seit Juni 2025
Mit­gründer
CodeCuisine — Webhandwerk für KMU

Mit Louis baue ich gerade CodeCuisine auf — eine Web-Agentur für kleine Unternehmen. Wir fangen mit Websites an. Wo es hingeht, werden wir sehen.

{['WordPress', 'Wireframing', 'Kundenakquise', 'Prozessdesign'].map(s => ( {s} ))}
{/* Verfügbarkeit row */}
Lass uns reden
Du willst über KI, Gründung oder Web reden? Schreib mir.
Schreib mir ↗
); }; const tagStyle = { fontFamily: '"JetBrains Mono", monospace', fontSize: '10.5px', padding: '3px 9px', borderRadius: '999px', border: '1px solid var(--line)', background: 'color-mix(in srgb, var(--bg) 60%, transparent)', color: 'var(--ink)', letterSpacing: '0.02em', }; // — Arbeit / Selected work ———————————————————————————————————————— const Arbeit = () => { const featured = [ { tag: '2025 — laufend', title: 'CodeCuisine', kind: 'Mitgründung · Web-Studio für KMU', role: 'Mitgründer · Kundenkontakt · Web', context: 'Viele kleine Unternehmen in der Region brauchen Websites, die mehr leisten als ein One-Pager, kommen aber mit klassischen Agentur-Preisen nicht zurecht. Wir bauen pragmatisch, transparent und im engen Takt mit den Kund:innen.', contribution: [ 'Akquise & Erstgespräche mit Interessierten', 'Wireframes und Prototypen in Figma', 'Umsetzung auf WordPress, Übergabe & Einweisung', 'Aufbau unserer Marke und internen Prozesse', ], outcome: 'Erste Kunden gewonnen, Workflow steht — und das Studio wächst mit jedem Projekt.', tags: ['WordPress', 'Wireframing', 'Kundenakquise', 'SEO', 'Prozessdesign'], accent: 'terra', }, { tag: '2026 — im Aufbau', title: 'Voice Agent · Gastronomie', kind: 'Startup · KI & Automation', role: 'Konzept · Entwicklung · ElevenLabs', context: 'Wer in einem vollen Restaurant gearbeitet hat, weiß: Der Flaschenhals ist selten die Küche — sondern die Kommunikation dazwischen. Bestellungen gehen verloren. Kellner rennen. Gäste warten.', contribution: [ 'Voice Agent mit ElevenLabs entwickelt', 'n8n-Orchestrierung aufgebaut', 'Prototype läuft intern — Output via Slack, bald Küchendisplay', 'Louis Heffner baut die Webapp drumherum', ], outcome: 'Prototype läuft. Erster Restauranttest in Kürze.', tags: ['KI', 'ElevenLabs', 'n8n', 'Gastronomie', 'Automation'], accent: 'moss', }, ]; const compact = [ { tag: '2023 — laufend', title: 'OGFLab Community', kind: 'Programm · Hochschule Offenburg', blurb: 'Vom Junior Mentor zum Berater. Workshops, Coachings und Community-Events für studentische Gründungsteams im Open Game and Fablab.', tags: ['Design Thinking', 'Moderation', 'Eventorganisation'], accent: 'ink', }, { tag: '2023 — 2024 · Bachelorprojekt', title: 'FirstBeat', kind: 'Serious Game · Lernspiel mit Songs', blurb: 'Lerninhalte über Spiel und Musik verankern — eigenes Konzept, eigene Songs, klickbarer Prototyp in Figma. Geschäftsmodell entwickelt, Customer Interviews geführt.', tags: ['Game Design', 'Figma', 'Lean Startup', 'Songwriting'], accent: 'terra', }, ]; return (
Arbeit, die zählt} /> {/* Featured — full case studies */}
{featured.map((p, i) => (
))}
{/* Subhead */}
· Weitere Arbeit
{/* Compact */}
{compact.map((p, i) => (
))}
); }; const FeatureCard = ({ p, idx }) => { const [hover, setHover] = React.useState(false); const accentMap = { terra: { bg: 'color-mix(in srgb, #c4533a 6%, var(--paper))', stroke: '#c4533a' }, moss: { bg: 'color-mix(in srgb, #3a5a3e 6%, var(--paper))', stroke: '#3a5a3e' }, ink: { bg: 'var(--paper)', stroke: 'var(--ink)' }, }; const a = accentMap[p.accent]; return (
setHover(true)} onMouseLeave={() => setHover(false)} style={{ background: a.bg, border: '1px solid var(--line)', borderRadius: '20px', overflow: 'hidden', transition: 'transform .3s cubic-bezier(.2,.7,.3,1), box-shadow .3s', transform: hover ? 'translateY(-4px)' : 'translateY(0)', boxShadow: hover ? '0 22px 50px rgba(26,24,18,0.1)' : '0 0 0 rgba(0,0,0,0)', cursor: 'pointer', display: 'flex', flexDirection: 'column', width: '100%', }}> {/* Typo header */}
{p.title.split(' ')[0]}
Case № 0{idx + 1}
{p.tag}

{p.title}

{p.kind}
{p.role}

{p.context}

↳ Was ich beigetragen habe
    {p.contribution.map((c, i) => (
  • {c}
  • ))}
Ergebnis {p.outcome}
{p.tags.map(t => {t})}
); }; const ProjectCard = ({ p, idx }) => { const [hover, setHover] = React.useState(false); const accentMap = { terra: { bg: 'color-mix(in srgb, #c4533a 8%, var(--paper))', stroke: '#c4533a' }, moss: { bg: 'color-mix(in srgb, #3a5a3e 8%, var(--paper))', stroke: '#3a5a3e' }, ink: { bg: 'var(--paper)', stroke: 'var(--ink)' }, }; const a = accentMap[p.accent]; return (
setHover(true)} onMouseLeave={() => setHover(false)} style={{ background: a.bg, border: '1px solid var(--line)', borderRadius: '16px', overflow: 'hidden', transition: 'transform .3s cubic-bezier(.2,.7,.3,1), box-shadow .3s', transform: hover ? 'translateY(-4px)' : 'translateY(0)', boxShadow: hover ? '0 18px 40px rgba(26,24,18,0.08)' : '0 0 0 rgba(0,0,0,0)', cursor: 'pointer', display: 'flex', flexDirection: 'column', width: '100%', }}> {/* "image" placeholder — typographic composition */}
{p.title.split('')[0]}{p.title.split('')[1]}
№ 0{idx + 1}
{p.tag}

{p.title}

{p.kind}

{p.tags.map(t => {t})}
); }; // — Karriere / Teaser ———————————————————————————————————————— const Karriere = () => { const d = window.CV_DATA; const highlight = d.experience.slice(0, 3); return (
Karriere auf einen Blick} /> {/* Stats bar */}
{[ { label: 'Berufserfahrung', value: 'seit 2011' }, { label: 'Studium', value: 'B.Sc. Medien & Informationswesen' }, { label: 'Sprachen', value: 'DE · TR · EN' }, ].map((s, i) => (
{s.label}
{s.value}
))}
{/* Top 3 roles */}
{highlight.map((e, i) => (
{e.from} — {e.to}
{e.role}
{e.orgShort} · {e.place}
))}
{/* CTA */}
Vollständiges Profil — Lebenslauf & Methoden ↗
); }; // — Methoden / Skills ———————————————————————————————————————— const Methoden = () => { const d = window.CV_DATA; const groups = [ { title: 'Methoden', items: ['Design Thinking', 'Workshop-Facilitation', 'Lean Startup', 'Customer Interviews', 'Business Model Canvas', 'Prozess Mapping', 'Coaching'], }, { title: 'Tech & Werkzeuge', items: ['WordPress', 'Figma', 'n8n Automation', 'Adobe Premiere', 'Adobe Audition', 'SEO Grundlagen', 'Python (Grundlagen)', 'Rasa'], }, { title: 'Sprachen', items: ['Deutsch · Muttersprache', 'Türkisch · Muttersprache', 'Englisch · Fließend'], }, ]; return (
Methoden & Werkzeuge} />
{groups.map(g => (
{g.title}
    {g.items.map(it => (
  • {it}
  • ))}
))}
{/* Certs & initiatives */}
{[ { title: 'Zertifikate', items: d.certificates, icon: '◆' }, { title: 'Initiativen', items: d.initiatives, icon: '●' }, ].map(g => (
{g.title}
{g.items.map((it, i) => (
{g.icon}{it}
))}
))}
); }; // — Notizen / Blog ——————————————————————————————————————————— const Notizen = () => { const posts = [ { date: '24. Mai 26', read: '3 Min', kind: 'Reflexion', title: 'Grübeln kostet mehr als Scheitern', blurb: 'Ich habe heute gemerkt, dass ich in der Zeit, die ich mit Nachdenken verbringe, schon drei Dinge hätte ausprobieren können.', tags: ['Mindset', 'Notiz', 'Freiburg'], }, { date: '28. Mär 26', read: '4 Min', kind: 'Werkstatt', title: 'WordPress reicht — und zwar öfter, als man denkt', blurb: 'Warum für 80% der KMU, mit denen ich bei CodeCuisine spreche, der klassische Stack völlig genug ist — und wo wir trotzdem weitergehen.', tags: ['WordPress', 'KMU', 'Studio'], }, { date: '14. Mär 26', read: '5 Min', kind: 'Werdegang', title: 'Was Hotelfach mit Gründungsberatung zu tun hat', blurb: 'Empfangs\u00adschalter, Beschwerden, Sonderwünsche, Sprachen. Fast alles, was ich heute mit Teams übe, habe ich an einer Rezeption gelernt.', tags: ['Soft Skills', 'Werdegang', 'Reflexion'], }, { date: '02. Feb 26', read: '7 Min', kind: 'Werkzeug', title: 'n8n als kleines Studio-Brain', blurb: 'Drei Workflows, die CodeCuisine seit ein paar Monaten unauffällig am Laufen halten — vom ersten Lead bis zur Rechnung.', tags: ['n8n', 'Automation', 'Prozesse'], }, ]; const [featured, ...rest] = posts; return (
Notizen aus der Werkstatt} />
Neu {featured.date} · {featured.read} · {featured.kind}

{featured.title}

{featured.blurb}

{featured.tags.map(t => {t})}
Weiterlesen ↗
→ post / 01 {featured.read}
„Machen."
{rest.map((post, i) => (
{post.date}
{post.kind}
{post.title}
{post.blurb}
{post.tags.map(t => {t})}
{post.read}
))}
· Mehr im Archiv ·
); }; // — Kontakt / Contact ————————————————————————————————————————— const Kontakt = () => { const d = window.CV_DATA; return (
§ 05 · Kontakt

Lass uns reden.

Workshop-Idee, Web-Projekt für dein KMU, oder einfach mal Kaffee in Freiburg — schreib mir eine Mail oder ruf an. Ich melde mich meist innerhalb von 24 Stunden.

↘ Auch hier
LinkedIn — linkedin.com/in/tariktasci
Adresse — {d.address}
{d.location}
— Aktuell verfügbar für Q3/26
); }; const Footer = () => ( ); window.WebSections = { Jetzt, Arbeit, Karriere, Methoden, Notizen, Kontakt, Footer };