Emin Akkoç

Work

Seventeen years, written out in full.

Every engagement below is described the way I would describe it in a call: what the system was, what was wrong with it, what I was responsible for, and what actually changed. Where I don't have hard numbers, I don't publish them.

Atölye 15

2025–Present

Zeplin

2019–2025

Commencis

2014–2019

Cybersoft

2012–2014

Datasel

2009–2011

Personal projects

Ongoing

2025–Present

Atölye 15 logo

Atölye 15

Full Stack Software Engineer

Full-stack product engineering on a long-running enterprise platform for a German construction group, and an industrial monitoring platform built from zero.

Heinrich Schmid

Enterprise platform

Context

The operational platform of Heinrich Schmid, a large German construction company: 40+ backend services, 11 independently deployable frontend applications and 45+ shared internal libraries.

Problem

A system of this size has no single owner. Work spans document management, time tracking, financial documents and SAP integration, and every change has to land without disturbing the rest of the estate.

My role

Full-stack engineer across both the microservice backend and the microfrontend applications.

What I did

  • Built and extended features across document management, time tracking, overtime and financial-document handling.
  • Worked on offer management, obstruction tracking, risk assessments, construction notes and archiving.
  • Integrated with SAP for financial and operational data exchange.
  • Worked inside the shared internal library set so changes propagate across all eleven frontends.

Outcome

Continuous delivery inside a large, live enterprise estate, with new capability added without destabilising the surrounding services.

TypeScriptNode.jsGraphQLReactMicroservices

Kemisan · iKem

Industrial monitoring platform

Context

Kemisan is a Turkish chemical electrolyser manufacturer. iKem is the monitoring platform for the units it builds and the sensors inside them, collecting readings from machines on customer sites and bringing them together in one place.

Problem

Sensor data arrives continuously from physical machines spread across separate sites, in volumes and at a cadence that ordinary relational storage handles badly, and none of it was in a shape anyone could read.

My role

Architect and full-stack engineer. Backend, frontend and cloud infrastructure designed from zero.

What I did

  • Designed the whole system: data model, service boundaries, storage strategy and deployment topology.
  • Wrote agent scripts deployed onto the physical machines, gathering sensor readings and shipping them to the cloud.
  • Normalised the incoming readings into a structured format and stored the high-volume time series in TimescaleDB.
  • Built the React frontends that surface unit and sensor state for the people running the plants.
  • Ran the whole thing on Google Cloud Platform.

Outcome

A working view of equipment that previously reported nothing, with the data retained in a form that supports looking backwards as well as at right now.

ReactNode.jsTimescaleDBPostgreSQLGoogle Cloud PlatformSystem architecture

2019–2025

Zeplin logo

Zeplin

Software Engineer

Six years of product engineering on a mature SaaS application used daily by design and engineering teams.

Zeplin web application

Product engineering

Context

Zeplin's web app is a mature product with a large existing user base, where every change ships into software people already depend on.

Problem

Adding significant new product surface while modernizing the codebase underneath it, without regressions and without slowing the app down.

My role

Product engineer on the web application, from feature design through production maintenance.

What I did

  • Implemented major product features: notification center, approvals, Figma styleguide import and synchronization, invitations, project multiselection, comments and annotations.
  • Delivered the migration to a new design across the application.
  • Optimized performance through lazy loading and Redux/component rendering work.
  • Ran the TypeScript migration and wrote tests with Jest.
  • Reviewed code, monitored production with Sentry, and carried weekly production maintenance.

Outcome

A modernized, typed and better-instrumented frontend that kept shipping product features throughout the migration.

ReactTypeScriptReduxJestSentry

Zeplin.io and the blog

Web and content platform

Context

Zeplin's marketing site and its blog, which was hosted on Medium.

Problem

The blog sat outside the company's own stack, with no control over presentation, performance or the publishing workflow.

My role

Engineer on the marketing web presence and the migration.

What I did

  • Migrated the blog off Medium into an in-house Gatsby and Sanity implementation.
  • Worked on Zeplin.io alongside the product application.

Outcome

Publishing moved in-house, on a stack the team owns and can shape.

GatsbySanityReact

2014–2019

Commencis logo

Commencis

Senior Software Engineer

Consultancy engagements for airlines and banks, large, regulated systems with real delivery pressure.

Pegasus Airlines

Technical leadership

Context

A major airline's web application, rebuilt as a React and Redux single-page application.

Problem

A migration of this size needs someone accountable for architecture and delivery, not just feature output, and a team that can carry it after handover.

My role

Technical lead: architecture, delivery ownership and team guidance.

What I did

  • Implemented the React/Redux SPA and developed features across it.
  • Selected technologies, produced estimates and reported delivery risk.
  • Guided junior developers on the team.
  • Built Cypress end-to-end tests and integrated them into CI.

Outcome

A modern frontend for a high-traffic airline product, with automated end-to-end coverage running in the pipeline.

ReactReduxCypressCITechnical leadership

Turkish Airlines

Enterprise web

Context

Engineering work for another of Türkiye's largest airline operations.

Problem

Enterprise-scale web delivery under the constraints that come with a flag carrier's systems and processes.

My role

Senior engineer within the consultancy delivery team.

What I did

  • Developed and maintained web application features in a large enterprise environment.
  • Worked across frontend and backend boundaries alongside client engineering teams.

Outcome

Delivered features inside a high-visibility enterprise programme.

JavaScriptEnterprise webIntegration

İş Bankası · Yapı Kredi · TEB / CEPTETEB · Şekerbank

Banking platforms

Context

Digital banking platforms for four Turkish banks, spanning customer-facing applications and the middleware behind them.

Problem

Regulated, high-trust systems where correctness, auditability and integration with core banking infrastructure matter more than velocity.

My role

Senior engineer across frontend and backend middleware.

What I did

  • Built customer-facing banking features and the middleware services supporting them.
  • Integrated with core banking and third-party systems in a regulated environment.
  • Worked to the security and process constraints of large financial organizations.

Outcome

Production banking software in service at four institutions.

JavaJavaScriptMiddlewareRegulated systems

2012–2014

Cybersoft logo

Cybersoft

Software Engineer

Enterprise software engineering in a large Turkish software house.

Enterprise application development

Enterprise software

Context

Business applications built for institutional clients.

Problem

Long-lived enterprise systems with substantial domain logic and established engineering process.

My role

Software engineer on the delivery team.

What I did

  • Developed and maintained enterprise application features.
  • Worked within an established engineering process and codebase.

Outcome

Two years of enterprise delivery experience that still informs how I approach large systems.

JavaEnterprise software

2009–2011

Datasel logo

Datasel

Junior Software Developer

Where the career started, first professional software development role.

Application development

First role

Context

Junior development work on business software.

Problem

Learning production engineering: source control, review, release, and the difference between code that runs and code that ships.

My role

Junior software developer.

What I did

  • Developed application features under senior guidance.
  • Learned the fundamentals of professional software delivery.

Outcome

The foundation for everything above.

.NETSQL

Ongoing

Personal projects

Independent work

Products and experiments I build on my own time, and the ones I still maintain.

Resipise

Independent product

Context

A product built end to end on my own, from idea to running service.

Problem

Proving out product thinking and full-stack delivery without a team behind it.

My role

Everything: product, frontend, backend, infrastructure.

What I did

  • Built the application in SolidJS with a Node.js backend.
  • Implemented real-time updates.
  • Ran it on Firebase and Google Cloud Platform.

Outcome

A working product that demonstrates independent, end-to-end capability.

SolidJSNode.jsFirebaseGCPReal-time

Millwright-Inspector

AI engineering methodology

Context

An exploration of AI-assisted development as an engineering discipline rather than a novelty.

Problem

Agent output is only useful if it can be verified. The interesting question is the workflow around it, not the model.

My role

Author and engineer.

What I did

  • Designed verification-gated workflows for agent collaboration.
  • Documented the system design and methodology.

Outcome

A concrete position on where AI belongs in a serious engineering process, and where it doesn't.

AI agentsVerification workflowsSystem design

eminakkoc.com interactive portfolio

Creative frontend

Context

The original version of this site: a Three.js world you drive through instead of a résumé you scroll.

Problem

Showing frontend capability directly, rather than describing it.

My role

Designer and engineer.

What I did

  • Built an interactive 3D experience in Three.js on Next.js.
  • Designed the interaction model and the graphics that carry it.

Outcome

Kept as an optional interactive route alongside this site, proof of skill rather than the front door.

Three.jsNext.jsInteraction design

Education

Formal grounding.

MSc, Software Engineering

Middle East Technical University

BSc, Computer Engineering

Başkent University

High school

TED Ankara College

Working on something

in this territory?

Tell me what the system is and what isn't working. I'll come back with a technical read on it.