Section 00 · HeroStatus · Booting

Heller,Manuel.

Jogge di Balla · VPBasel · CHView CV

Developer · Photographer · Visual Tinkerer

Section 01 · About

Full-stack developer who also likes to be behind the camera.

PHP and Vue by day, Lightroom and shaders by night.

01 / 04IdentityMMXXVI
Camera, Photoshop, shaders: anything between code and image.

I’m Manuel, from the Basel region. Deep in PHP and Vue at work, camera, Photoshop and anything between code and image on the side.

Since November 2021, I’ve worked at zvoove Switzerland AG on business software for staffing companies. I design and build Vue interfaces for complex workflows, develop PHP endpoints and help maintain integrations and data synchronisation.

I also take responsibility for a Cypress suite of around 30 extensive release tests, from writing and running tests to analysing failures. Migration to Playwright is in progress.

02 / 04Minecraft · 2014Novartis EFZ · 2016–2020zvoove · 2021–
I want to understand what happens under the hood.

Gaming got me into programming. I set up my own Minecraft modpack server and programmed mining turtles in Lua. That made me want to understand what was happening under the hood.

From 2016 to 2020, I completed an IT apprenticeship at Novartis. Servers, networks and support gave me a broad foundation. After civilian service, I moved into application development.

Portrait photo Manuel Heller, Full-Stack Developer Basel
St. Moritz · MMXXV
Plate Nº 03

Currently

building
this site and joggediballa.ch
experimenting with
Codex · Claude Code
photographing
wildlife and cars
driving
Audi S5 B8.5 (tuning project)
chasing
the zvoove ping-pong champion title
The AI types faster. The final say stays with me.

I work a lot with Codex and Claude Code: custom skills, agents, MCP integrations. The idea, the taste and the final say stay with me, the AI just types faster. Whatever comes out gets reviewed, tested and often rebuilt.

That’s how the club platform and this portfolio came about. I know React and TypeScript from these projects; design, scope and operation are on me.

Curiosity. And a club that actually uses the result.

Curiosity. I like trying new tools, polishing small visual details and knowing how things work. If the club actually ends up using the result, even better.

Off the screen

When the screen is off.

Snapshot 2026

  • Camera

    shooting · Sony α7 IV · wildlife

  • Audi S5

    driving · B8.5 · tuning project

  • Jogge di Balla

    co-running · club · vice president

  • Snow

    carving · ski/snowboard · winter season

  • Dive

    diving · certified

  • Ping-Pong

    chasing · zvoove champion title

Section 02 · Skills

My focus.

What I do at work, and what I picked up on the side.

Main Stack

PHP · Vue · SQL

UIs for complex business processes, the APIs behind them, and release tests so nothing breaks.

Daily Driver

  • PHP · Yii
  • Vue.js
  • MariaDB · MySQL
  • JavaScript · HTML · CSS

APIs & Testing

  • REST · OpenAPI
  • Cypress
  • Playwright
  • SQL
  • Code reviews

Side Projects

Learned by building my own projects. Runs in production, just isn't my day-job stack.

  • TypeScript · ReactAI-assisted
  • Next.jsAI-assisted
  • tRPC · Drizzle ORMAI-assisted
  • WebGL · GLSLAI-assisted
  • GSAP · Three.jsAI-assisted

Tooling & Ops

Codex and Claude Code with custom skills, agents and MCP integrations; Linux and nginx for self-hosted projects.

  • Git · GitLab
  • Docker
  • Linux · nginx
  • Codex · Claude Code
  • Skills · Agents · MCP

Design & Media

  • Photography
  • Web design
  • Video editing
  • Lightroom · Photoshop
  • DaVinci Resolve

Section 03 · Work

Two projects, both live.

This site and our club's platform. Concept, design, code and hosting: all mine, Claude Code in the terminal.

A club idea grew into a platform.

Joggediballa homepage in mobile view
Joggediballa · Mobile · Live
I built a dedicated club and event platform for Jogge di Balla over several months. It combines the public website, internal administration and tools for events. I continue to develop and operate it.

My contribution

Club
Jogge di Balla
My role
Co-founder · vice president
Development
Concept through operation
Use
Club activities and events

The idea started during the pandemic: four friends, little going on, so we put on unusual events of our own. That became Jogge di Balla in August 2022, with events such as Schlag den Kassier, Silvester 2.0, Harassenlauf and Lotto-Party.

As co-founder and vice president, I help with events, photography and video. And because I like building things myself, the club got its own platform: I take care of design, development and operation. Managing members and supporters, reviewing attendance, sending orders to the kitchen and bar: all of it runs through there today.

Stack Notes

  • React · Vite·Frontend & Build
  • TypeScript·Language (fullstack)
  • tRPC·API layer
  • Drizzle ORM · MySQL·Database
  • Tailwind CSS · shadcn/ui·Styling & components
Admin dashboard with permissions card and member list
Admin Dashboard · Daily Driver

Highlight 01 · Administration and events

Admin, POS and stream in one app

Member management and event operations run through the same platform, with the same roles.

  • Permissions and memberships

    Configurable role permissions, supporting memberships with payment status and attendance reports reflect the club’s day-to-day needs.

  • Order and point-of-sale system

    Prices come from the server, never the client. Orders freeze their item data, so a price change never rewrites an old bill.

  • Media and events

    Image processing and a moderated live slideshow complement event management, statistics and streaming tools.

Twitch overlay during stream with live score and club design
Schlag-den-Kassier · Live stream

Highlight 02 · Live event

«Schlag den Kassier» on stream

One example of the event tools: an overlay brings scores and the club’s visual identity to the live stream.

  • Control panel in the browser

    A separate control panel manages the display, which is embedded in OBS as a browser source.

  • Synchronised scores

    The overlay regularly fetches the latest scores and updates the display without reloading.

  • Math for the crowd

    Winner display and the calculation of when a lead becomes unbeatable, so the hosts don't have to do the math in their heads.

Statistics · Members & seasons
Statistics · Members & seasons
Sponsor management · CRM-light
Sponsor management · CRM-light
Sign-up form · mobile
Sign-up form · mobile

What I learned

A real club is the best QA team: every event finds a new edge case. That's why there are automated tests. The root server behind it is set up and run by me.

Live in the wildjoggediballa.chopens in a new tab

Section 05 · Photography

Section 05 · Photography

Animals and cars. Neither holds still.

For the animals I fly solo to Costa Rica or Thailand and wait; the cars are usually closer to home. Both need patience and the right light. Shooting the Sony α7 IV since 2023.

SONY α7 IV · 24–600mm · since 2023

Pelican in flight over the Pacific, Costa Rica
MANUEL ANTONIO · 2024 · WILDLIFE01 / 5

Standstill at 30 km/h.

Shutter speed didn't matter. The light under the arch lasted five minutes, then it was gone.

Koenigsegg hypercar under a hotel arch at dusk
ST. MORITZ · 2025 · AUTO02 / 5
Freighters under a dramatic cloud formation on the horizon
COSTA RICA · 2024 · SEASCAPE03 / 5
Lone tree at the edge of a lake, reflection in the water, Costa Rica
LAKE ARENAL · 2024 · LANDSCAPE04 / 5

Ninety minutes of still air.

Lake Arenal: waited until the wind finally let the water go flat. The tree is just an excuse for the reflection.

Crocodile with a butterfly on its snout, Costa Rica
TÁRCOLES · 2024 · WILDLIFE05 / 5

Section 06 · Playground

Section 06 · Playground

Where the fluid sim gets to play.

Two shader experiments with the same ink as the hero. Click away until it stutters.

Section 07 · Contact

Get in touch.

An idea, a question, a photography tip or just hello: my inbox is open.

Quick note

I’m looking for a full-time role in the Basel region, Aargau or Zurich. Ideally somewhere development and design are thought of together and Claude Code in the terminal is normal.

All fields required

Lands in my inbox as an email and is deleted once I have replied · Privacy