Amir TabatabaeiWork with me
← Home

About

I'm Amir, a backend and full-stack engineer in Bornova, İzmir. I got here sideways: I studied International Business & Trade at Pamukkale Üniversitesi, taught myself to build, then proved it on real client work rather than in a CS classroom.

What I'm good at is the part of a product where almost right is not enough: permissions that change per viewer, orders that move stock and money in the same transaction, schedule changes that expire on their own.

I work across Python/FastAPI, TypeScript/React, PostgreSQL and .NET, but the stack matters less to me than the data model underneath it.

Most of that work has been client or owner-operated platforms — Sadaf, HemaStore, KohaApp, RashApp, EVO. Some of it shipped, some of it was cancelled, and a few projects never left my machine. It's all below, labelled for what it actually is.

Backend / full-stackBornova, İzmir · remoteOpen to workEN · TR · FA

What I have shipped, and where it stands

How I like to work

Contract first, where it's possible. On EVO the .NET backend generates an OpenAPI specification, which generates the typed client the React panel consumes, so a breaking change to a response shape fails the build rather than the browser.

Decisions written down as mechanisms, not intentions. Long passwords use bcrypt_sha256 rather than bare bcrypt, so nothing is silently truncated at 72 bytes. Temporary schedule changes expire instead of waiting for a manual undo. Notifications go through an outbox, so a dead worker loses nothing.

Tests that assert behaviour rather than shape. A mounted component proves very little; what matters is whether the thing it is supposed to do actually happened.

Honest status. If something was cancelled or never reached production, I say so. The applied-AI projects are real single-author work, but none of them ran in production.