The brief was a place to download logos

The brand hub inside terminal, showing logos, print colours, UX colours and downloadable brand assets for airtuerk Service
The original brief, still in the product. Every brand in the group has this page.

That was the whole task. Colleagues needed somewhere to find the logo files. Team photos, templates, presentations, email signatures. A brand hub, nothing more.

While building it I noticed I was solving the wrong problem. The logos were not the thing that was scattered. Everything was. Documents with one vendor, contracts with a second, company knowledge in a Confluence instance run by an external partner, deadlines and birthdays in yet another system. Five contracts, five logins, five invoices, nothing connected.

I finished the logo folder anyway. It became the first building block.

Why I built it myself

Off-the-shelf software did not fit the way a flight consolidator actually works, and what would have fit was too expensive.

But the reason that decided it came before price. Anyone who does not know our processes has to have them explained, and what gets explained is how they work on paper, not how they run. An external vendor would have spent months understanding how ticketing, service centre and finance connect here, and would then have built what was said in the meetings.

I have been in the building for four years. I did not need to find out where it hurts. I knew. That was the head start, not the technology.

The bottleneck was never engineering. It was domain knowledge.

Replaced

BeforeNow
External document managementin-house
External contract managementin-house
Shift planning by handAI-assisted
Confluence via an external partnerown retrieval model
External reminder and event systemsintegrated
Brand assets scattered across drivesbrand hub

One surface, eight modules

Four brands and three legal entities across Germany and Turkey sit in the same navigation. HR, sales, contracts, tasks, service centre, the partner API portal and the knowledge base share one role and permission model.

The home screen asks what you are fixing today. Retrieval is one capability among several, not the identity of the product.

The terminal home screen with an AI prompt, quick actions for email, translation and summaries, and a sidebar listing four brands and eight platform modules
Home. Brands on the left, platform modules below them, retrieval and assistive actions in the centre.
An interactive node diagram in the APIX module mapping flight content sources through data streaming to the airtuerk API gateway and out to online travel agencies
APIX, the partner-facing API portal. The workflow is draggable and every node explains itself, so sales can walk a partner through the architecture without an engineer in the room.

Reading contracts without pretending to be certain

Contracts360 scans an uploaded agreement and fills the fields it can. The interesting decisions are not in the extraction. They are in what the interface admits.

  • Every extracted value carries a confidence figure and a page reference, so a value can be checked in two clicks
  • Fields split into what the model filled and what a human still has to enter, and the counts are shown
  • Every document is read twice. Where the two passes disagree, the interface says so instead of picking a winner
  • Nothing counts as verified until a person confirms it, and the copy says that in plain language

An assistant that hides its uncertainty is worse than no assistant.

The contract intake screen in Contracts360 with AI filled fields, confidence percentages, page references and a note that two reading passes disagreed on the contract type
Contract intake. Partner details and the scanned document are blurred here. Note the marker on contract type: two passes read it differently, and the interface says so.

A design system, not a theme

terminal is light only, flat, editorial. One typeface, one accent, no component library, no glassmorphism. Interactive elements are hand-rolled, which is slower at the start and much faster after the tenth screen.

The design system lives inside the product, so the people who use the brand can reach it without asking anyone.

The UX colour definitions inside terminal showing Quantum Blue, Jet Black and Ghost White with hex and CMYK values, alongside the downloadable master deck
Colour definitions and the master deck, maintained in the same place people work.
An interactive globe in terminal showing online travel agency partners connected to the airtuerk hub across the Americas, Europe and MENA
Partner network, draggable. Volumes are blurred here.

Numbers

70colleagues working in it daily
5external vendors replaced
3legal entities, two countries
8modules under one permission model
~94tables, row-level security throughout
1person building and operating it

Shipping alone without breaking things

One person running a production system for seventy people works because of process, not heroics: reconnaissance before building, a second instance that plans and verifies what the first one executes, an explicit go from a named owner before anything touches live data. The full method is in shipping alone without breaking things.

What did not happen is part of the result. No alignment rounds with a vendor, no ticket ping pong, no sprints nobody wants to attend. When a requirement appeared, I built it. When it turned out to be wrong, I threw it away. There was never a calendar entry between the problem and the fix.

Next

Sales, with the full data model and the management flow attached. After that the path from enquiry to invoice runs inside the same system that holds knowledge, contracts and planning.

Internal system. The login screen is as far as it goes from the outside.