Skip to selected work

Toronto · 43.65°N · Open to full-time roles

Productengineer

I turn ambiguous product problems into software people can actually use, starting from nothing.

Applied AI, full stack

Production reach
German cities running public AI assistants I helped build.
~20municipalities
Independent product
Resonate, designed and shipped solo, still operated by me.
4,000+ratings from ~200 users
Freelance
A legal document workflow running every day in a working practice.
Dailyproduction use

Two production systemsand one lab note.

Every claim below is attached to something that shipped. Look through the evidence, then open a case study for how it was actually built.

01Production2025 — present

Resonate

A social music product, built solo

I built a live platform where people discover albums through other people, and I have stayed involved enough to support the users.

  • Persistent real-time direct and group conversations
  • A catalogue and social network built around albums, not individual songs

Next.js · TypeScript · Supabase · PostgreSQL

Live proof
~200 registered users · 4,000+ ratings
Build scope
Solo product engineering · 40+ API routes
Resonate landing page introducing social album discovery
The main entry point, meant to explain the product without a guided tour.
Resonate album page with community ratings and discussion
Album pages bring catalogue data, ratings and conversation into one place.
Resonate Discover Lists page showing community-made album collections
Community lists turn individual taste into browsable, shared collections.
02Production2024 — 2025

Neuraflow

Production RAG for municipal services

As the first developer hire, I worked with the CTO on ingestion, retrieval, prompt behaviour, evaluation and deployment for public-facing AI assistants.

  • Normalised XML APIs, websites and documents for retrieval
  • Shipped scheduled refreshes and production infrastructure

Python · OpenAI · Pinecone · Azure

Production reach
Approximately 20 German municipalities
System shape
Shared platform · municipality-level data isolation
City of Bonn website with a deployed municipal AI assistant
A production deployment for the City of Bonn.
City of Detmold website with a deployed municipal AI assistant
The same platform, with Detmold data and behaviour kept separate.
03Lab note2024

whatsyourtune

Computer vision translated into music

The system reads facial expressions and turns them into piano music: happy faces produce quick major-key phrases, sad faces produce slower minor-key ones.

  • Mapped emotional states to musical parameters in real time
  • Kept the loop responsive enough to feel like one interaction

Python · TensorFlow · Magenta.js

Interaction
Expression → musical key, tempo and phrasing
Pipeline
TensorFlow detection · Magenta generation
whatsyourtune detecting a happy expression and generating music
The model reads an expression; the music engine answers.
whatsyourtune responding to a different detected expression
A different expression changes the musical parameters in real time.

Small teams, realconstraints, directownership.

  1. 2024 — Present

    Freelance Engineer

    Independent client · Remote

    Sole developer on a form automation system that generates structured legal documents. In production and used daily at the client practice.

  2. 2025

    AI Developer Intern

    Humber College · Toronto

    Built an AI hint assistant for an escape-room installation, connecting NLP pipelines, MongoDB game state and real-time player guidance.

  3. 2024 — 2025

    Generative AI Engineer

    Neuraflow · Germany

    First developer hire. Worked with the CTO on the shared RAG foundation, from ingestion and retrieval through deployment and evaluation.

Melih Onat outdoors
Melih Onat · Toronto · 43.65°N

There's a personbehind the stack.

I care about what gets built, not just whether it works. Good work is well-made, useful, and pleasant enough that people want to keep using it.

GeoGuessr
Road markings, utility poles, languages, and the occasional lucky guess.
Music
Albums, recommendations, and the conversations that became Resonate.
Classic books
A slower activity to balance out a day spent coding.
Gym
The simplest reset after too many hours at a desk.