Work

My current and previous roles and two case studies. Each entry describes my own part of the work.

Experience

  • Full Stack Developer, Aampere GmbH

    Munich · on-site · November 2024 – present

    Aampere runs online auctions in which dealers bid on used electric cars. I work on its Dealer Platform, from vehicle listing and pre-auction through active auctions and bidding to purchase.

    • Develop TypeScript and NestJS backend services and REST APIs for vehicle listings, auctions, bidding and purchases.
    • Design and evolve PostgreSQL data models for vehicles, auctions, bids and deals, with the queries and indexes these workflows rely on.
    • Move long-running backend work into queue-based asynchronous jobs, keeping expensive processing out of latency-sensitive API requests.
    • Build a LangChain and LangGraph multi-agent workflow for listing validation, pairing automated data-quality checks with human review before vehicles go live.
    • Build a Model Context Protocol (MCP) server for the Dealer Platform that generates realistic test data and supports AI-assisted QA, with people still validating the results.
    • Automate vehicle-photo handling with AI-assisted classification, ordering and duplicate detection.
    • Implement dealer-facing Next.js and React features, owning changes across the UI, API and database and testing them with Playwright and Vitest.
    • Optimize queries and page loading to improve frontend performance, including LCP and FCP.

    TypeScript, NestJS, Next.js, React, PostgreSQL, LangChain, LangGraph, MCP, AWS (S3, CloudFront), Docker, Sentry, PostHog, Playwright, Vitest

  • Full Stack Developer (contract), AMO Bazar (AMO Travel)

    Munich · remote · September 2023 – November 2024

    • Developed a Next.js and React e-commerce application and integrated it with weclapp, a German cloud ERP, connecting online customer and order workflows to the company’s internal operations.
    • Built a WhatsApp customer-support assistant with Twilio and the OpenAI API that answered customers’ questions and helped them track tickets and visa-processing status.
    • Added a staff handoff for requests the assistant could not resolve, so customers could continue with human support.

    Next.js, React, Better Auth, Python, FastAPI, AWS, OpenAI API, Twilio, WhatsApp, weclapp

  • Full Stack Developer, Turkish Maarif Foundation

    Istanbul · February 2021 – May 2023

    • Developed learning-management and education workflows across React and Next.js frontends and Node.js and PHP backends.
    • Built financial and administrative functionality for branch operations and fee management.
    • Implemented centralized reporting and management features that gave headquarters visibility into branch-level operations and financial activity.
    • Contributed to Kotlin-based Android applications and internal employee portals, extending the organization’s operational tools across mobile and web.
  • Working Student, Turkish Maarif Foundation

    Istanbul · June 2020 – January 2021

    • Built Kotlin-based Android application features while studying Computer Science.
    • Developed web functionality for internal employee portals and tools with JavaScript, React, Vue.js, PHP and Laravel, then moved into the Full Stack Developer role.

Case studies

Two pieces of work described in more depth, within what I can share publicly.

AI-assisted listing preparation at Aampere

Aampere GmbH · Full Stack Developer · current work

Dealers bid on vehicles in Aampere’s online auctions based on what each listing says and shows, so a listing has to be complete and consistent before it goes live. Checking every listing and sorting every vehicle’s photos by hand is repetitive work, and anything that slips through reaches the dealers who bid.

My part

I build a LangChain and LangGraph multi-agent workflow in TypeScript for listing validation, and the automated handling of vehicle images: classification, photo ordering and duplicate detection.

Approach

  • Automated data-quality checks look for missing or low-quality information in a listing.
  • The agents flag what they find for human review. A person makes the call before the listing goes live.
  • AI-assisted image classification sorts each vehicle’s photos into categories, puts them in a consistent order and detects duplicates, which reduces repetitive manual sorting during listing preparation.

Tradeoffs

  • Keeping a person in the loop trades speed for accountability: someone still reviews flagged listings, but a model’s mistake does not reach dealers unchecked.
  • Flags are only useful while reviewers trust them. Checks that flag too much get ignored, and checks that flag too little let problems through.
  • Image classification and ordering will sometimes be wrong. Review during listing preparation is where those mistakes are corrected.

Evidence

The code, internal metrics and screenshots are not public, and this page makes no claims about time saved or error rates. The image-handling work is ongoing.

WhatsApp support assistant at AMO

AMO Bazar (AMO Travel) · Full Stack Developer (contract) · 2023–2024

AMO Travel’s customers had questions about their bookings and wanted to know where their tickets and visa processing stood. The aim was to answer these questions on WhatsApp without each one waiting for a member of staff.

My part

I built a WhatsApp customer-support assistant with Twilio and the OpenAI API, and the staff handoff for requests it could not resolve.

Approach

  • Customers wrote to the assistant on WhatsApp. Twilio connected the conversation, and the OpenAI API generated the replies.
  • The assistant answered customers’ questions and helped them track their tickets and visa-processing status.
  • Requests the assistant could not resolve were handed to staff, so customers could continue with human support.

Tradeoffs

  • Travel and visa matters affect real plans and money, so a wrong answer costs more than a slow one. The handoff gives the assistant a way to stop instead of guessing.
  • A language model does not know the status of a particular ticket or visa application. Status answers depend on the business’s own records.
  • The handoff only helps if staff see the request and pick it up, so it is part of the support process, not just the code.

Evidence

There is no public code, conversation data or usage figures for this work, and this page makes no claims about response times or resolution rates.