Alp portrait

HEY, I'M ALPER.

and with a side-project habit and a camera.

Powered by passion and here to build genuinely authentic experiences.

Scroll to learn more about me

Selected work

Projects

Live Apps

goodwatch.app
aistack.to

AI Tools

getalfredo.com
curia.sh
github.com
github.com

Personal

github.com
github.com

Career

Engineer, founder, consultant

Professionally, I worked both in small startups and big tech. I began as a Frontend engineer with strong opinions and a knack for sharing knowledge. Started to lead small to big teams and being responsible for product goals and coordinated execution.

At the same time, I'm a freelance consultant. Working with fund tax compliance, intelligent traffic start-ups and robotics companies. I'm good at finding effective solutions to challenging problems, and I do that quickly.

alp:feat/coding → mainMerged

Coding

#7

I primarily code in Typescript. Depending on the task I also use Python and Rust. Always choose the right tool for the job. Most of the time that involves spinning up a new Tanstack Start project and self-hosting it on one of my Hetzner VPS.

Even in the age of LLM's I'm still driven by following good coding practices. The art of crafting an elegant solution to a complex problem just makes me happy. A good session is when I'm fully locked in and ship a new version at the end.

I self-host as much as I can to avoid serverless horrors. Hetzner Cloud is the best compromise between cost, performance and value.

cilinttests
claude coderun 07

AI

thought for 6s
readsrc/data/topics.ts
grep"agentic workflow"
edittopics.ts (+4 −1)

I love coding in my free time. Usually I use Claude Code to build my side projects. The pre-AI era feels so far away already, it's difficult to imagine to ever write everything by hand again. That also means that I'm constantly on the verge to optimize my agentic coding workflow.

I open sourced my Claude Code setup as a plugin because I genuinely think it has some unique qualities. First of all, it automatically classifies each task by complexity: S, M, L or XL. It then spawns an appropriate number of subagents to do research, planning, execution and reviewing.

Check it out:

Claude Code is my main driver and it costs me $200 per month. It's well worth it because it gets so much done for me. I created a page to share more details about their AI stack (aistack.to). It grows into a nice community of like-minded builders.

done · 3 tools · 12.4k tokens
❯ ask a follow-up…
claude ▾

Finance

I started 2016 with investing in stocks, ETF's and crypto. A very bumpy road, and I learned a lot in the process about trading psychology and strategies to cope with FOMO and FUD. I'm much more Zen than I was before.

I believe in portfolio diversification. Got some bucks in ETF's, stocks and crypto. I mostly invest in tech because i'm knowlegable in that field, but also in other areas.

Even held a presentation about this topic, but beware - it's in German.

GitHubTrading-Strategien und Psychologie

Family

the five of usKODAK·GOLD

Family. Love my wife and three kids. They are the reason I stay motivated to grow as a person. I'm proud of our relationship. Trust, friendship and closeness is what I experienced as a kid from my parents and I'm trying to offer the same to my family.

I like Magic the Gathering. Created an app that helps me building decks, printing them and playing with my kids.

boarding passAO 27
routeTHAISRMEXGRDEURJPN '27

Travel

Exploring other countries and cultures is an absolute joy to me. We love to visit places with different culture, history and climate. We went to Thailand, Isreal, Mexico, Grenada and all over Europe. There is so much more to see.

My favorite moments are when we witness the raw reality of what a place is about. Touristic attractions can be fun, but I mean the actual land and people. Geocaching is a great tool to find the best local spots - even in your home town.

Next destination: Japan 2027.

Movies & TV

I watched more than a thousand movies and shows, at least those that I can remember. I love intricate stories, unique visuals and immersive worlds. Kind of similar of what I value in a good game.

My all time favorites are The Matrix (too bad they never made any sequels), Fight Club and Breaking Bad. I like dark humor, epicness and unexpected twists.

I built GoodWatch because I didn't want to go to IMDB, Metacritic, Rotten Tomatoes and JustWatch every single time when I was contemplating what to watch next. It became my biggest side project and is now a personalized recommendation engine for each user's personal taste.

ALL-TIME FAVORITES

Games

I played many games. Spent countless hours with simulations, arcade, jump'n'run, shooters, RTS and indie games. If you like Duke Nukem, Gordon Freeman, Jade, Kerrigan, Guybrush Threepwood or Scorpion, we can be friends.

The THPS 2 soundtrack is still on my rotation.

I'm in the exploration phase to build the very first massive multiplayer coop game. you build a pyramid together with thousands of other players. it might it turn out that you were part of something very different.

currently playing Witcher 3 (yep i never finished it) and expedition 33. next up is probably Baldurs gate 3

Music

I'm into music that radiates infinite energy. From Metalcore, over Progrock to Liquid D'n'B and Tech House. Loudness and high production value spurs me.

If it's well produced and expertly played, there are good chances that I'll like it regardless of the genre.

Tune the Sky

Move the sun and moon arcs across the scroll journey.

Presets
☀ Sun
☾ Moon
Rhythm

Landscape gap between sections. Changes total scroll height - retune the sky-curve phases below so dusk/night stay on their sections.

Sky Curve
Phase 1 · noon → dusk
0.060 - 0.448
Phase 2 · dusk → night
0.453 - 0.787

2005 - today

Work
History

A short trail of where I have been employed.

  1. Since 2021
    Lead Engineer
    Genius Sports - London, UK (Remote from DE)

    Dynamic Sports Videos for Programmatic & Social.

    Technical leadership across data orchestration, live video rendering and internal tooling. People management focused on personal growth and more satisfaction at work.

    • Python
    • TypeScript
    • AWS
    • Kubernetes
    5 yrs ◆
  2. 2021
    Lead Frontend Engineer
    Spirable - London, UK (Remote from DE)

    Dynamic Ads for Social Media.

    • Python
    • TypeScript
    • React
    • Material UI
    0.8 yrs ◆
  3. 2019 - 2021
    Lead Frontend Engineer
    enercast - Kassel, Germany

    Wind/Solar Energy Forecasts.

    Performance optimization for charts with 1M data points at 60fps.

    • TypeScript
    • React
    • Redux
    • Highcharts
    2 yrs ◆
  4. 2013 - 2019
    Frontend Engineer
    Cisco Systems - Kassel, Germany

    Business SPA for Asset Management.

    Owning a complex frontend app that manages an arbitrary number of business assets.

    • Angular
    • Vue.js
    • GraphQL
    • Highcharts
    • D3
    6 yrs ◆
  5. 2012 - 2013
    Frontend Engineer
    Joulex - Kassel, Germany

    Energy Management Web Application.

    • Qooxdoo
    • Play
    • PostgreSQL
    1 yr ◆
  6. 2007 - 2012
    Founder
    Acama Systems

    Web agency building custom solutions.

    Building individual web solutions for customers across the automotive, finance and health sectors.

    • JavaScript
    • Java
    • PHP
    • MySQL
    5 yrs ◆
  7. 2005 - 2009
    Web Engineer
    miobambino

    E-commerce for children clothes with individual prints.

    • PHP
    • MySQL
    • JavaScript
    • HTML
    • CSS
    4 yrs ◆

Coding

From Early Days To Today

Three decades of tools, one year at a time. The rack shows what was running in the year you are standing in.

  1. 1993, age 10
    QBasic

    I started coding with QBasic when I was 10. I built text adventures, quirky gfx and other tools.

    Still remember the sound of the PC speaker.

    QBasic
  2. 1995, age 12
    Turbo Pascal

    Started with Turbo Pascal and later explored Free Pascal to create a simple graphics engine for RTS games.

    Turbo PascalFree Pascal
  3. 1996, age 13
    Fasttracker II

    I discovered Fasttracker II and started making music. I was fascinated by the tracker interface and the ability to create complex compositions with simple sounds.

    FastTrackerTurbo Pascal
  4. 1997, age 14
    Delphi GUI's

    Started learning Delphi at school. First time building real GUI's.

    At home I broke DOS and Windows every other week just to learn how operating systems worked.

    Delphi
  5. 1998, age 15
    SELFHTML on floppy disks

    At 16 I found my love for web development: HTML and CSS. There was no internet at home, so I had use the PC in the school library.

    I learned from SELFHTML and copied the pages onto floppies to continue at home.

    HTMLCSS
  6. 1999, age 16
    JavaScript

    Learning JavaScript was a revelation. I could make web pages interactive and dynamic. It was a whole new world.

    JavaScriptQBasic
  7. 2000, age 17
    Gaming at school

    I got the keys to the PC room at school. So I did what any responsible person would do: we played CS and StarCraft in the afternoons. My parents were proud I was staying late because they thought I was learning.

    Free Pascal
  8. 2002, age 19
    The whole world via 56k

    After finishing school, I was finally allowed to get internet at home. Mind. Blown.

    Delphi
  9. 2003, age 20
    Chatting and LAN parties

    I was admin in a bulletin board for my friends. We also talked on IRC and later ICQ.

    We met frequently at LAN parties. First experiences with networking technology.

    Oh, and I started studying computer science.

    IRCICQ
  10. 2004, age 21
    Learning Java

    I started learning Java in university. Never really liked it.

    Java
  11. 2005, age 22
    First paid work

    I got hired at a local photography studio. I was responsible for their website, internal tooling and online shop.

    This was my very first job as a web developer. I learned a lot about real life requirements.

    PHPMySQL
  12. 2006, age 23
    Second job

    A landed a second gig at a local photography studio. I was responsible for their website, internal tooling and online shop.

    Both jobs were part time, so I could still study while earning enough money to pay for rent.

    osCommerceIRC
  13. 2007, age 24
    Agency work

    Five students, creating their own web agency to build custom solutions.

    We built individual webapps and internal tools for customers across the automotive, finance and health sectors.

    ICQ
  14. 2008, age 25
    Assembly, Haskell and other curiosities

    Some uni courses forced me to learn Assembly and Haskell.

    I was surprisingly enjoying both of them, because it let me understand the inner workings of computers and programming languages better.

    AssemblyHaskell
  15. 2010, age 27
    Agency slowly stagnating

    Only two of us were left and we didn't have lots of motivation to keep growing.

    osCommerceFastTracker
  16. 2012, age 29
    First real job after graduation

    I joined a startup as a frontend engineer to build an energy management Webapp.

    If you never heard of Qooxdoo before, neither did I. Wasn't as bad as it sounds.

    QooxdooPlayPostgreSQLPHPJavaAssemblyHaskell
  17. 2013, age 30
    Joining Big Tech

    Startup got bought by Cisco and I learned a lot about corporate life.

    GraphQLAngularHighchartsD3QooxdooPlayMySQL
  18. 2014, age 31
    My own startup

    Started my own startup, building a platform for connecting communities.

    The meta-community. No, not like Reddit.

    ReactRedux
  19. 2015, age 32
    Growing Tech Stack

    We built like crazy. I learned so much during this time.

    MongoDBRedisElasticsearch
  20. 2017, age 34
    The blooming of JS frameworks

    Every other week a new JS framework was released. I tried them all.

    Reading docs became a hobby.

    Vue.jsAngular
  21. 2019, age 36
    Love for Types

    I learned how Types made everything easier and harder at the same time.

    Joined a new company that created wind/solar energy forecasts and did performance optimizations for charts with 1M data points at 60fps.

    PythonTypeScriptJavaScriptD3
  22. 2021, age 38
    Two languages, and a team

    New job at a company building dynamic ads for Social Media.

    Dynamic Sports Videos for Programmatic & Social.

    Transition from an engineer to a technical leadership role.

    DjangoAWSKubernetesReduxHighcharts
  23. 2022, age 39
    Started my side project era

    I built GoodWatch in two weeks and launched it to the public.

    I learned to love self-hosting and building my own infrastructure.

    My first attempt at open source and it's still alive.

    HetznerCoolifyNamecheap
  24. 2023, age 40
    Working with complex data flows

    Meanwhile at work: the need for robust data processing.

    FastAPIRabbitMQKafkaWindmillHugging Face
  25. 2024, age 41
    Millions of rows

    Goodwatch is now processing millions of streaming and movie data. I learned a lot about data pipelines.

    ChatGPTGeminiCrateDBQdrantTailwindHugging Face
  26. 2025, age 42
    The modern experimentation stack

    Started to try new languages and frameworks, while improving my monitoring stack.

    Claude CodeRustSpacetimeDBPosthogGrafana
  27. 2026, age 43
    How I work now

    When I spin up a new web apps, I usually build them with Tanstack Start, Tailwind and Convex.

    The art of crafting an elegant solution to a complex problem just makes me happy. A good session is when I'm fully locked in and ship a new version at the end.

    Tanstack StartConvex
GoodWatch
Visit

GoodWatch

#Web App#Entertainment

Discover, track, and share movies and TV shows effortlessly.

Problem

Streaming is fragmented. Friends recommend titles you forget by Friday and surface-level ratings hide whether a show is actually for you.

Solution

A recommendation engine that understands your personal taste. It combines 70+ attributes like adrenaline, dark humor, dialog quality or cinematography into a unique fingerprint for each title. It blends critic scores, audience signals and your own watch history into trustworthy picks.

Outcome

GoodWatch ships continuously to a growing community of cinephiles who want fewer aggregators and better matches.

Stack

  • React
  • Remix
  • PostgreSQL
  • TypeScript
  • Tailwind
AIStack
Visit

AIStack

#AI#Community

Community-driven AI stacks: what people use, how they work and what it costs.

Problem

The AI tool space ships ten new launches a day. Most directories are SEO farms; none help you compose a working stack.

Solution

AIStack is community-driven: everyone shares their stack, how they orchestrate their agents and what it costs them per month. You learn about the most cost-effective ways to get best out of popular tools for your own setup.

Outcome

A growing community of agentic shippers.

Stack

  • React
  • TypeScript
  • Tailwind
  • Vite
Alfredo
Visit

Alfredo

#Self-Hosted#Open Source

Alfredo is the home for your projects. Your next one is live in minutes, with auth, email, database and analytics already wired.

Problem

Every new project makes you set up the same boilerplate again. You have an idea. Then the setup starts. You have built all of this before, and you will build it again. Or you rent it from five managed services and pay five bills for something you do not own.

Solution

Alfredo wires all of it once, on your own server. Your next project is live in minutes. Every project runs on your servers and reports to one HQ. You do not collect another set of dashboards every time you ship.

Under the hood

Alfredo is one program on one server. You point it at a plain Ubuntu 24.04 VPS, and it runs each project as a Docker Compose stack you can read. Alfredo uses three words for the pieces of that setup. It ships as a single binary compiled with Bun. Installing it is one curl command that pulls the release from GitHub.

Stack

  • Bun
  • TypeScript
  • Docker Compose
  • Ubuntu 24.04
  • MIT
Curia
Visit

Curia

#AI#Open Source

AI chamber for the modern engineer.

Problem

My agents run on a box at home. I do not. Knowing what is takeable, dispatching it, answering the one question a worker gets stuck on, and looking at what came out all live on the desktop I walked away from.

Solution

Curia is an always-on daemon that makes the phone a first-class client. It reads my GitHub trackers as its awareness source, dispatches a worker on a ticket into its own git worktree and tmux session, and bridges every question that worker has to Discord. Five verbs cover it: frontier, start, status, cancel, attach.

The golden thread

Phone → Discord → frontier → dispatch → escalate → answer → resolve → map → preview → attach, with one command spoken rather than typed. A preview link publishes the worker's dev server to the tailnet so the page opens on the phone; attach drops any device into the same live terminal session.

Stack

  • Node
  • MCP
  • Discord
  • tmux
  • Tailscale
  • Open Source
claude-statusline
Visit

claude-statusline

#Claude Code#Bash

Single-file Bash statusline for Claude Code: model, context, and rate-limit windows at a glance.

How to read it

The top half of each cell is how much of the window you have used. The bottom half is how much of the window has gone by. If the top reaches further right than the bottom, you are using it faster than the clock, and you will run out before it resets. Colour follows usage: green under 50%, yellow between 50 and 80%, red above 80%.

Stack

  • Bash
  • jq
  • curl
  • Open Source
Forge
Visit

Forge

#Claude Code#Open Source

Complexity-aware agentic coding pipeline for Claude Code.

Problem

Coding agents misunderstand your intent, make wrong assumptions and write buggy code.

Solution

I open sourced my Claude Code setup as a plugin because I genuinely think it has some unique qualities. It automatically classifies each task by complexity: S, M, L or XL. It then spawns an appropriate number of subagents to do research, planning, execution and reviewing.

Outcome

The implementation results are way better, more accurate and match your actual intentions. Due to the amount of ceremony, time to finish and token usage both increase slightly.

How it works

Pick a task size

Pick a size above to run the pipeline.

Assumptions are not allowed, therefore every sessions starts with confirming my intent and interviewing me to actually understand the task at hand. Ideally, every goal is programmatically verifiable to guarantee success once it's done.

Stack

  • TypeScript
  • Bun
  • Open Source
Manaschmiede
Visit

Manaschmiede

#MTG#Print & Play

Magic: The Gathering deck builder and print assistant

Problem

Deck building takes time and needs expertise.

Solution

You choose the strategy, archetypes and core cards, and an agent helps you build a balanced deck.

Outcome

An easy and pleasant user experience to go quickly from a deck idea to a full PDF printout so that I can try different strategies with my kids.

Stack

  • TypeScript
  • React
  • Open Source
alperortac.com
Visit

alperortac.com

#Portfolio#Open Source

Personal portfolio site

Why I built it

I wanted to create a personal page about myself in an authentic way, showing both my professional and personal passions. It had to be unique and stand out in a sea of always the same portfolio pages.

The vision

Visitors should be able to learn about me, follow my content, getting interested and contact me.

The journey

A vertical scroll journey through atmosphere, time, and depth. Scroll drives the day to dusk to night transition, the sun arc setting and the moon arc rising. Sidetracks are the depth surface: a card dives into a floating panel while the landscape stays visible around it. The column is the site's own minimap, frozen, drawn from the same sky curve you are scrolling through right now.

Stack

  • TanStack Start
  • React
  • Bun
  • TypeScript
  • Tailwind
  • Biome

Music

Some of my all-time and current favorites include:

  • Farin Urlaub - Am Ende der Sonne

  • Unprocessed - Angel

  • Gojira - The Way of All Flesh

  • Porcupine Tree - The Incident

  • Savant - VOID

  • Noisia - Split The Atom

  • Muse - Black Holes and Revelations

  • System of a Down - Toxicity

  • Waltari - Blood Sample

  • Haken - Virus

  • Supergroove - Traction

  • Nine Inch Nails - Nine Inch Noize

Movies & TV

Twelve films and twelve series I could rewatch anytime:

Films

  • The Matrix (1999)

  • Fight Club (1999)

  • Inception (2010)

  • Memento (2000)

  • The Prestige (2006)

  • Pulp Fiction (1994)

  • Snatch (2000)

  • Interstellar (2014)

  • Blade Runner 2049 (2017)

  • Oldboy (2003)

  • The Truman Show (1998)

  • Everything Everywhere All at Once (2022)

Series

  • Breaking Bad (2008)

  • Dark (2017)

  • Mr. Robot (2015)

  • Severance (2022)

  • True Detective (2014)

  • Arcane (2021)

  • Better Call Saul (2015)

  • Black Mirror (2011)

  • Game of Thrones (2011)

  • Rick and Morty (2013)

  • The Expanse (2015)

  • Westworld (2016)