Sean Kakhkhorov

Developer in Suwon. I build web apps, add AI to them, and keep them running.

Open to roles inFull-stackAI engineeringAgentic engineeringDevOps
Sean at his desk
Kakhkhorov Shokhjakhon · 카흐호로프 쇼흐자혼

NowLooking for full-stack, AI engineering, agentic engineering or DevOps roles in Korea
Latest projectCreatorHub, live at creatorhub.site ↗
LanguagesKorean, English, Uzbek, some Russian

Selected work

Three years of shipping: client sites at an agency, a backend job during university, and one product I built alone from the database to the server it runs on.


01 / CreatorHub

A place to find independent creators in Korea and hire them privately. It is live, so you can try it yourself.

Visit creatorhub.site ↗
CreatorHub home page
Next.js, TypeScript, Apollo
NestJS, GraphQL, Socket.io
MongoDB Atlas
Docker Compose, Nginx
GitHub Actions, Gemini API

Visitors search creators by category, city and remote work, then send a brief with a budget and deadline. The creator replies in a private live chat. Creators edit their work in a workspace, and nothing goes public until an admin approves it.

There is a Gemini assistant on every page that answers from the site's own content, with limits so one script can't run up the bill.

290tests in CI: 162 backend, 108 frontend, 23 deploy
21MongoDB collections
3languages: EN, KO, UZ
180shealth check before a release rolls back
Explore work
Explore work
Project page
Project page
Discover creators
Discover creators
Creator profile
Creator profile
Service page
Service page
Events
Events
Private inquiry chat
Private inquiry chat
AI finder
AI finder
Edit project workspace
Edit project workspace
Admin overview
Admin overview
Admin: creators
Admin: creators
Deploy run in GitHub Actions
Deploy run in GitHub Actions

Engineering notes

Four problems from CreatorHub, and what I did about them.

Duplicate requests

A double-click used to create two inquiries.

The form now makes one key per submission. The server checks it inside a transaction, and a partial unique index catches two requests arriving at once. Same pattern for likes, follows and chat messages.

Background jobs

A crashed worker could notify followers twice.

Jobs are claimed with a 60-second lease and save a cursor after every batch of 100. After a crash the lease runs out and the next run resumes from the cursor. Notifications are unique per follower and event.

AI costs

Anyone could hit the paid Gemini endpoint.

Same-site requests only, 8 messages a minute per visitor, a daily cap, and retrieval that gives up after 3.5 seconds. A busy model gets one retry on a fallback model.

Releases

A bad deploy would take the only server down.

Deploys re-run every check, go through an SSH account that only accepts "deploy" and two commit IDs, and restore the previous images if health checks fail.


Skills

What I do, and the tools I do it with.

01

Full-stack development

TypeScript, React, Next.js, Node.js, NestJS, Express, GraphQL, REST, Socket.io, MongoDB, PostgreSQL, MySQL, Redis

Data models, APIs with auth and validation, real-time features and responsive UIs, built as one piece. Indexes and query tuning when pages get slow.

02

AI engineering

Gemini API, OpenAI API, content retrieval, grounded prompts

AI features that answer from real site data, with the key kept on the server, per-visitor and daily limits, timeouts, a fallback model, and sources treated as data rather than instructions.

03

Agentic engineering

Claude Code, Codex, Cursor

Coding agents working inside written repository rules. I approve every change, and typecheck, lint and tests run before anything is merged.

04

DevOps

Linux (Ubuntu), Docker, Docker Compose, Nginx, PM2, GitHub Actions, Cloudflare, SSH and firewall hardening, PostHog

Servers set up and secured, CI on every push, health-checked releases that roll back on their own, hardened containers, and outages fixed from the logs.

05

Testing and tools

Jest, Supertest, integration and API contract tests, ESLint, Prettier, Postman, Figma, Git

Business rules covered by unit tests, real GraphQL tested against a throwaway database, and every frontend query checked against the API schema.


CV

Mostly full-stack, with a lot of servers along the way.

2023.06 – 2026.01

IT Local, full-stack web developer

Uzbekistan · team of 4+
  • Built and maintained sites for 20+ companies in construction, retail, food service and the public sector
  • Set up and secured 5–15 Ubuntu servers; Node.js on PM2 and Docker behind Nginx and Cloudflare
  • Replaced manual deploys with CI
  • Sped up pages and APIs with indexes and query tuning
  • Fixed outages from the logs, reviewed teammates' code
  • Handed everything over to my replacement before leaving
2022.05 – 2022.12

Atlantis Investment, backend developer

Uzbekistan · alongside university
  • REST APIs in Express with session and JWT sign-in
  • MongoDB schemas and indexes for search and paging
2022

Sofiya Bookstore, side project

React, Redux Toolkit, Express, MongoDB
  • Storefront with basket and order tracking
  • Server-rendered admin panel for the catalogue
2019.09 – 2023.08

Chonnam National University

B.A. International Trade · taught in Korean

Downloads

My résumé and full portfolio as PDFs, in English and Korean.

Résumé · 1 pageRésumé, EnglishPDFDownload ↓Résumé · 1 page이력서, 한국어PDFDownload ↓Portfolio · 38 pagesPortfolio, EnglishPDFDownload ↓Portfolio · 38 pages포트폴리오, 한국어PDFDownload ↓

Contact

If you're hiring for full-stack, AI, agentic engineering or DevOps work, I'd like to hear about it.

kakhkhorov97@gmail.com
GitHubKakaoTalk: kakhkhorov_ARésumé and portfolio (PDF)