More about me

I'm Huseyin, a full-stack engineer

I'm Huseyin Kaplan, a full-stack engineer in Istanbul with 5+ years in software engineering. I build production AI features and the product around them: the interface, the retrieval pipeline and the evals that keep it honest.

Off the keyboard I'm usually training: Muay Thai, MMA, lifting and a lot of stretching. Evenings often go to agents, evals and side projects.

Currently building at Revotas, a B2B marketing SaaS, and Tedavio AI, a private LLM product for clinics.

Portrait of Huseyin Kaplan
Hi, I'm Huseyin
A desk at night with a laptop, a monitor full of code and an open notebook
I build
Huseyin walking along a metro platform in Istanbul
Istanbul
An open book page that reads: If you want it, work for it
I read

The experience

Experience that ships

  1. 2023 — Now

    Apr 2023 – Present · 3.5 yrs

    RevotasIstanbul · HybridFull-time

    Full Stack Engineer

    • Document Center RAG assistant. Spotted the need without a formal task, prototyped it and shipped retrieval-augmented answers over uploaded company documents with streamed responses. Vercel AI SDK with embeddings, tuned for Turkish.
    • Recommendation rendering engine. Brands said recommendations didn't match their design. I built a native slider plus a clone mode that copies the host site's card and carousel and injects our data, with per-library handling for Slick, Owl and Swiper. Config-driven, about 12k lines of core, with view, click and conversion attribution. I own the widget architecture, runtime and integration; the recommendation data comes from the backend.
    • Conversion products. Built the searchandising and offer-search system and the company's most-used conversion widget from scratch, config-driven so non-technical users manage them without code.
    • Enterprise admin platform. CRM, support and ticketing with productivity dashboards, billing, a customer-workspace switcher and the AI Document Center, with an animated bilingual (TR/EN) login.
    • Mobile push system. End to end with React Native, Firebase Cloud Messaging and Notifee, integrated with a Java/Spring backend using RabbitMQ and an FCM worker, including deep-link routing.
    • Performance. Cut LCP by 40% with code splitting, lazy loading and SSR/ISR patterns. Playwright E2E checks cover the recommendation widget.

    Stack

    React 19Next.jsTypeScriptNode.jsDjangoPostgreSQLSupabaseVercel AI SDKVite 6Tailwind 4Radix UITanStack TableGSAPFCMRabbitMQPlaywright
  2. 2022 — 2023

    Dec 2022 – Apr 2023

    UpworkRemote · international clientsFreelance

    Freelance Full Stack Engineer

    • Built and shipped web and mobile applications fully remote, from requirements to deployment, owning component architecture and API integration.
    • CloudInteract KPI Dashboard. A cloud-based KPI dashboard for the construction industry with interactive data views for tracking team performance.
    • Worked directly with clients on scoping, UI decisions and iteration speed. Testing with Jest, Playwright and React Testing Library where scope required.

    Stack

    ReactNext.jsNode.jsReact NativePostgreSQLTailwindJestPlaywright
  3. 2022

    Jan 2022 – Dec 2022

    KobisiIstanbul · RemoteFull-time

    Frontend Developer

    • Built responsive, SEO-aware e-commerce interfaces and improved storefront performance.
    • Reusable UI systems and design consistency across production client websites, working closely with backend teams on integration and performance.

    Stack

    ReactNext.jsVueJavaScriptSCSS
  4. 2017 — 2018

    Jun 2017 – Jun 2018

    Türkiye İş BankasıTuzla, Istanbul · On-siteInternship

    Software Development Intern

    • A one-year engineering internship in an enterprise banking IT organization. Built web interfaces with HTML, CSS and JavaScript and learned team-based delivery in a regulated environment.

Open source

Code & contributions

207contributions in the last year

Busiest on July 31 with 8 in a day

166 day best streak

NovDecJanFebMarAprMayJunJulAugSepOct2025-10-12: 02025-10-13: 02025-10-14: 02025-10-15: 02025-10-16: 02025-10-17: 02025-10-18: 02025-10-19: 02025-10-20: 02025-10-21: 02025-10-22: 02025-10-23: 02025-10-24: 02025-10-25: 02025-10-26: 02025-10-27: 02025-10-28: 02025-10-29: 02025-10-30: 02025-10-31: 02025-11-01: 02025-11-02: 02025-11-03: 02025-11-04: 02025-11-05: 02025-11-06: 02025-11-07: 02025-11-08: 02025-11-09: 02025-11-10: 02025-11-11: 02025-11-12: 02025-11-13: 02025-11-14: 02025-11-15: 02025-11-16: 02025-11-17: 02025-11-18: 02025-11-19: 02025-11-20: 02025-11-21: 02025-11-22: 02025-11-23: 02025-11-24: 02025-11-25: 02025-11-26: 02025-11-27: 02025-11-28: 02025-11-29: 02025-11-30: 02025-12-01: 02025-12-02: 02025-12-03: 02025-12-04: 02025-12-05: 02025-12-06: 02025-12-07: 02025-12-08: 02025-12-09: 02025-12-10: 02025-12-11: 02025-12-12: 02025-12-13: 02025-12-14: 02025-12-15: 02025-12-16: 02025-12-17: 02025-12-18: 02025-12-19: 02025-12-20: 02025-12-21: 02025-12-22: 02025-12-23: 02025-12-24: 02025-12-25: 02025-12-26: 02025-12-27: 02025-12-28: 02025-12-29: 02025-12-30: 02025-12-31: 72026-01-01: 12026-01-02: 12026-01-03: 12026-01-04: 12026-01-05: 12026-01-06: 12026-01-07: 12026-01-08: 12026-01-09: 12026-01-10: 12026-01-11: 12026-01-12: 12026-01-13: 12026-01-14: 12026-01-15: 12026-01-16: 12026-01-17: 12026-01-18: 12026-01-19: 12026-01-20: 12026-01-21: 12026-01-22: 12026-01-23: 12026-01-24: 12026-01-25: 12026-01-26: 12026-01-27: 12026-01-28: 12026-01-29: 12026-01-30: 12026-01-31: 12026-02-01: 12026-02-02: 12026-02-03: 12026-02-04: 12026-02-05: 12026-02-06: 12026-02-07: 12026-02-08: 22026-02-09: 12026-02-10: 12026-02-11: 12026-02-12: 12026-02-13: 12026-02-14: 12026-02-15: 12026-02-16: 12026-02-17: 12026-02-18: 12026-02-19: 12026-02-20: 12026-02-21: 12026-02-22: 12026-02-23: 12026-02-24: 12026-02-25: 12026-02-26: 12026-02-27: 12026-02-28: 12026-03-01: 12026-03-02: 12026-03-03: 12026-03-04: 12026-03-05: 12026-03-06: 12026-03-07: 12026-03-08: 12026-03-09: 12026-03-10: 12026-03-11: 12026-03-12: 12026-03-13: 12026-03-14: 12026-03-15: 52026-03-16: 12026-03-17: 12026-03-18: 12026-03-19: 12026-03-20: 12026-03-21: 12026-03-22: 12026-03-23: 12026-03-24: 12026-03-25: 12026-03-26: 12026-03-27: 12026-03-28: 12026-03-29: 12026-03-30: 12026-03-31: 12026-04-01: 12026-04-02: 12026-04-03: 12026-04-04: 12026-04-05: 12026-04-06: 12026-04-07: 12026-04-08: 12026-04-09: 12026-04-10: 12026-04-11: 12026-04-12: 12026-04-13: 12026-04-14: 12026-04-15: 12026-04-16: 12026-04-17: 12026-04-18: 12026-04-19: 12026-04-20: 12026-04-21: 12026-04-22: 12026-04-23: 12026-04-24: 12026-04-25: 12026-04-26: 12026-04-27: 12026-04-28: 12026-04-29: 12026-04-30: 12026-05-01: 12026-05-02: 12026-05-03: 12026-05-04: 12026-05-05: 12026-05-06: 12026-05-07: 12026-05-08: 12026-05-09: 12026-05-10: 12026-05-11: 12026-05-12: 12026-05-13: 12026-05-14: 12026-05-15: 12026-05-16: 12026-05-17: 12026-05-18: 12026-05-19: 12026-05-20: 12026-05-21: 12026-05-22: 12026-05-23: 12026-05-24: 12026-05-25: 12026-05-26: 12026-05-27: 12026-05-28: 12026-05-29: 12026-05-30: 12026-05-31: 12026-06-01: 12026-06-02: 12026-06-03: 12026-06-04: 12026-06-05: 12026-06-06: 12026-06-07: 12026-06-08: 12026-06-09: 12026-06-10: 12026-06-11: 12026-06-12: 12026-06-13: 12026-06-14: 12026-06-15: 02026-06-16: 02026-06-17: 02026-06-18: 02026-06-19: 02026-06-20: 02026-06-21: 02026-06-22: 02026-06-23: 02026-06-24: 02026-06-25: 02026-06-26: 02026-06-27: 02026-06-28: 02026-06-29: 02026-06-30: 02026-07-01: 02026-07-02: 02026-07-03: 02026-07-04: 02026-07-05: 02026-07-06: 02026-07-07: 02026-07-08: 02026-07-09: 02026-07-10: 02026-07-11: 02026-07-12: 02026-07-13: 02026-07-14: 02026-07-15: 02026-07-16: 02026-07-17: 02026-07-18: 02026-07-19: 02026-07-20: 02026-07-21: 02026-07-22: 02026-07-23: 02026-07-24: 02026-07-25: 02026-07-26: 02026-07-27: 02026-07-28: 02026-07-29: 02026-07-30: 02026-07-31: 82026-08-01: 42026-08-02: 02026-08-03: 02026-08-04: 02026-08-05: 02026-08-06: 22026-08-07: 02026-08-08: 02026-08-09: 02026-08-10: 12026-08-11: 02026-08-12: 62026-08-13: 02026-08-14: 02026-08-15: 02026-08-16: 02026-08-17: 02026-08-18: 02026-08-19: 02026-08-20: 02026-08-21: 02026-08-22: 02026-08-23: 02026-08-24: 02026-08-25: 02026-08-26: 02026-08-27: 02026-08-28: 02026-08-29: 02026-08-30: 02026-08-31: 02026-09-01: 02026-09-02: 02026-09-03: 02026-09-04: 02026-09-05: 02026-09-06: 02026-09-07: 02026-09-08: 02026-09-09: 02026-09-10: 02026-09-11: 02026-09-12: 02026-09-13: 02026-09-14: 02026-09-15: 02026-09-16: 02026-09-17: 02026-09-18: 02026-09-19: 02026-09-20: 02026-09-21: 02026-09-22: 02026-09-23: 02026-09-24: 02026-09-25: 02026-09-26: 02026-09-27: 02026-09-28: 02026-09-29: 02026-09-30: 02026-10-01: 02026-10-02: 02026-10-03: 02026-10-04: 02026-10-05: 02026-10-06: 02026-10-07: 02026-10-08: 02026-10-09: 02026-10-10: 02026-10-11: 02026-10-12: 02026-10-13: 12026-10-14: 8
Public contributions as of 2026-10-14. Company repositories are not counted.LessMore

Off the clock

Explore, experiment & say hello

ScrapbookHover a sticker

Guestbook

Sign the wall, leave a note

Hi, I'm Huseyin. Leave a note and say hi.

Huseyin Kaplan

On repeatSpotify ↗

The soundtrack to my days

Albums & singles behind my most-played tracks.

Collaboration

Small pull requests, written updates, no surprises

Learning

Education & certifications

Education
  • Istanbul Okan University logo

    Istanbul Okan University

    B.Sc. Software Engineering

    Sep 2023 – Jun 2027 · in progress
  • Istanbul Aydın University logo

    Istanbul Aydın University

    Associate Degree, Computer Programming (English program)

    2022
Certifications
  • Harvard University arms

    CS50x

    Harvard University

    Why I finished it twice ↗
  • Harvard University arms

    CS50 Web Programming

    Harvard University

  • AI Engineer Path

    Scrimba

  • Full-Stack Developer Path

    Scrimba

Capabilities

Core stack and delivery focus

Applied AI

RAG on pgvector, hybrid retrieval with RRF, query rewriting, citations, abstention, agentic tool calling with deterministic human handoff, and offline evals wired into CI.

Product interfaces

React and Next.js App Router, accessible interaction design, clear error and recovery states, and Core Web Vitals work that holds up in production.

Backend workflows

Node.js and Django services, typed API contracts, multi-tenant PostgreSQL with row-level security, webhooks with deduplication, and event-driven services.

FAQ

Quick answers for recruiters and teams

What does Huseyin Kaplan work on?

Production AI features and the product around them: retrieval-augmented generation (RAG) with citations and abstention, LLM evaluation wired into CI, agentic tool calling with human approval, and the React, Next.js and Node.js interfaces and services that ship them.

Which roles is he open to?

Full-stack, applied AI, AI product and frontend engineering roles. Remote or hybrid from Istanbul (UTC+3), with good overlap for European working hours.

What is his main stack?

TypeScript, React, Next.js and Node.js first, with Python (FastAPI, Django) for applied AI. PostgreSQL with pgvector, Supabase, Vercel AI SDK, Claude API, Docker, Playwright and GitHub Actions.

Can I run his projects without an API key?

Yes. LLM Reliability Lab, Production RAG & Evals and Agent Runtime Bench run on deterministic fixtures or a scripted model, so the results are the same locally and in CI.

How do I contact him?

Book a 30-minute call or send a message on the contact page, or email hello@huseyinkaplan.dev.

Have a problem worth solving?Let's make it reliable

Start a conversation

Open to full-stack and applied AI roles, remote or hybrid.

Tell me about the role, the team and the problem.