Skip to content
~/mertmetin

open to senior SWE and ML/AI roles

Mert Metin,
Senior Software Engineer.

I build full-stack web and mobile products end to end (APIs, apps, payments, cloud) and I measure whether they work. Search and machine learning are my favourite problems.

mert@ottawa: ~
$ whoami
Mert Metin · Senior Software Engineer · Ottawa, ON

$ cat stack.txt
TypeScript  Python  Ruby  PHP
Next.js  React Native  Rails  FastAPI
AWS  Docker  MySQL  Stripe

$ ls ~/projects
rabbit/  searchbench/  geolocation/  real-estate/  

$ 

// selected work

// stack

Languages

  • TypeScript
  • Python
  • Ruby
  • PHP
  • SQL

Frameworks

  • Next.js
  • React Native
  • Expo
  • Rails
  • FastAPI
  • Laravel

Data & ML

  • MySQL
  • Prisma
  • scikit-learn
  • pandas
  • Embeddings
  • LLM APIs

Infra

  • AWS ECS / RDS / S3
  • Docker
  • GitHub Actions
  • Stripe
  • Twilio

// playground: bug hunt

Squash the bugs before they reach production. Every one is a real bug I found and fixed.

squashed
0
shipped
0
time
30s
best
0
legacy/social/friends_metro.py main

30 seconds. Click or tap bugs to squash them. Don't let them ship.

// lab: an AI learns rabbit run

This rabbit starts knowing nothing and learns by trial and error: +10 for a grocery, −10 for a crash. Pick a brain, press Train, and watch it go from crashing straight into walls to playing better than you, right here in your browser. No server, no libraries.

  • Table: classic Q-learning over 11 yes/no senses. Learns in seconds, but it can only see one cell ahead, so its own trail traps it at around 18 groceries.
  • Neural net: a Deep Q-Network I wrote from scratch (backprop, Adam, experience replay, target network). It also sees a 5×5 area and how much open space each move leads to, so it avoids traps. In my tests it averaged 73 groceries, 4× the table. Give it 15–30 seconds on Turbo.

runs
0
avg (last 20)
0
best
0
exploring
0
situations seen
0

learning curve: score per run, and the 20-run average

what it senses

    how much it likes each move

    // writing

    all posts →

    // about

    I like taking a product from an empty repo to something real people use: designing the data model, building the API and the apps on top of it, wiring up payments and notifications, and deploying it all with tests and CI behind it.

    I also care about measuring whether things actually work. When I revisited my 2014 product search and my 2019 University of Ottawa thesis, the most useful thing I did was set up honest evaluations, which turned up bugs, models that had never learned anything, and an "upgrade" that made results worse.

    Outside engineering I run a real-estate practice in Ottawa on software I wrote, so I'm used to being my own most demanding user.

    location
    Ottawa, ON · remote OK
    looking_for
    Senior SWE · ML/AI engineering
    education
    University of Ottawa
    github
    @mertmetin