Personnel file · Amsterdam, Netherlands

Denis Sokolov

Senior Software Engineer, Team Lead

01Profile

Record

Denis Sokolov
Name
Denis Sokolov
Based in
Amsterdam, Netherlands
Age
35

Summary

Senior engineer and team lead. 15+ years of experience.

  • Now The systems behind a conversational shopping assistant: architecture, APIs and the data layer that let an LLM help users find and buy the right products.
  • Team Leads a team of senior engineers; drives adoption of coding agents for clean, high-quality delivery.
  • Focus Backend, but full-stack.
  • Track record Building and shipping complete products.

Expertise

  • AI Agents
  • Agent Tooling
  • LLM Applications
  • Software Architecture
  • Technical Leadership
  • Systems Design
  • Full-Stack Development

02Ask about Denis

An AI assistant that has read Denis's CV and project notes. Ask about his experience, stack or projects.

Assistant

03Personal projects

1 active, 7 archived.

Index

Details

audiotour.io ↗

Active2026 – now

AI-generated audio guides for travelers. Tap a place on the map and listen to a guide about it, explore city pages and curated walks, or chat with the in-app AI Travel Agent. Localized into many languages.

Rebuilt from scratch in May 2026 as a web app and a native SwiftUI iOS app, with a native Android app in early development. It follows Keeny (2023–2024) and an earlier React Native app. Denis leads all engineering and technical direction; co-founder Dmitry Frolov works on UI/UX and product.

Stack

  • TypeScript
  • NestJS
  • PostgreSQL
  • Next.js
  • SwiftUI
  • Mapbox
  • Google Cloud
  • LLMs
  • TTS

Details

GPT City

ArchivedOpen source2026

A chat game set in a city where every character is an AI actor with its own personality, backstory and long-term memory of each player. Characters move around the city with the time of day, and react in character when the player goes quiet.

Players build their own world (locations, places and characters) by talking to an assistant with world-editing tools. The same tools are available as an MCP server for Claude Desktop, Cursor and other clients. Built solo in about two weeks in April 2026 as an open-source proof of concept.

Stack

  • TypeScript
  • NestJS
  • PostgreSQL
  • AI SDK
  • MCP
  • React

Details

Chat Connect

ArchivedOpen source2025

An AI agent in the Chrome side panel that reads the page you're on, answers questions about it, fills in forms and clicks elements. Every tool call is visible in the chat, and each one can wait for approval before it runs. Works with OpenAI models from GPT-4o to GPT-5.

Built in mid-2025, before Perplexity's Comet launched and before Claude for Chrome. Open source, with a small proxy server so the OpenAI key can stay off the browser, and a UI tested in Storybook.

Stack

  • TypeScript
  • React
  • WXT
  • OpenAI Responses API
  • NestJS
  • Storybook

Details

audiotour.studio

Archived2024

A platform for museums to create AI audio guides at scale. Curators add source material, and the platform writes the guide script, makes family-friendly and accessible versions, translates them into up to 34 languages and narrates them. Every step can be reviewed and edited.

The B2B sibling of audiotour.io. Denis built it end to end in 2024 (frontend, backend and AWS infrastructure). It is no longer online.

Stack

  • TypeScript
  • React
  • AWS Amplify
  • AppSync
  • DynamoDB
  • Lambda
  • OpenAI
  • ElevenLabs
  • DeepL

Details

Keeny

Archived2023

The first version of Denis's AI audio-guide app, started in May 2023, months after ChatGPT went mainstream. Tap a landmark on the map and hear a guide generated by GPT from its Wikipedia article, in 16 languages.

Published on the App Store and Google Play: 2,000+ users and 200+ subscriptions sold. Denis built the app, backend and infrastructure end to end. With Keeny, the team completed Y Combinator Startup School and exhibited in the Alpha program at Web Summit in Lisbon.

Stack

  • React Native
  • Expo
  • Mapbox
  • AWS Amplify
  • DynamoDB
  • OpenAI GPT-4
  • Google TTS
  • RevenueCat

Details

GrandTrip

Archived2021 – 2023

A social app for road trips. Share a trip as a story with its route, photos, videos and practical tips (distance, travel time, car, costs), and like and discuss other travelers' trips in threaded comments that update live.

Built solo as a side project from 2021 to 2023, alongside the job at JetBrains, for iOS, Android and web. Never published.

Stack

  • React Native
  • Expo
  • TypeScript
  • AWS Amplify
  • AppSync GraphQL
  • DynamoDB
  • Google Places

Details

Words Game

Archived2020

A mobile word game. Pick a short fun-fact text and build words from its letters, using each letter only once, and level up from 3- to 6-letter words. To move on, at least half of the text's letters must be used.

Built solo in summer 2020 for iOS, Android and web, with progress and best scores saved on the device and an English and Russian UI. Never published.

Stack

  • React Native
  • Expo
  • TypeScript
  • SQLite
  • Storybook
  • Jest

Details

vpgta.ru

Archived2009

An unofficial blog platform and social network for students of Penza State Technical University (then Penza State Technological Academy, hence the name). Students wrote blogs and shared files with each other.

Built and launched in 2009, while Denis was still a student and before his first professional web-development job. It ran for about five years and grew to about 500 users.

Stack

  • PHP
  • jQuery
  • MySQL

04Experience

9 roles since 2010.

Index

Details

Senior Software Engineer, Team Lead · Swap

CurrentFeb 2025 — PresentAmsterdam, NL

Backend TypeScript engineer on the Agentic Storefront — a conversational shopping assistant where an LLM helps users search, get recommendations, and buy clothing. Owns the software engineering behind the assistant: the system architecture around the agent — API design, data modelling and storage, and the code patterns and infrastructure for the agent loop, tools, memory, and chat/action history. Also drives the team’s internal adoption of coding agents, building the tooling and practices that let the team ship production code with clean architecture and verified quality.

Team lead for the Agents squad, leading four senior engineers — technical guidance, 1-1s, performance measurement, load distribution, and direct stakeholder communication. Delivery of new features accelerated ~3x under his lead, driven by improved agent tooling and workflows. Also runs workshops and builds tooling for the wider Agentic Storefront team, and conducted ~40 interviews supporting its growth from 8 to 30 engineers.

Previously led the Checkout squad — designed and built a payment-system integration (Adyen) from scratch, processing up to $200K in sales per day at peak. Promoted to team lead following that work, then oversaw the full checkout flow: cart, order management, and integration with e-commerce providers such as Shopify.

Also designed, built and shipped Swap’s Magento integration, its first e-commerce platform integration after Shopify.

Stack

  • TypeScript
  • Node.js
  • NestJS
  • PostgreSQL
  • TypeORM
  • Google Cloud
  • Firebase
  • React

Details

Technical Co-Founder · audiotour.io

CurrentMay 2023 — PresentAmsterdam, NL

Built and shipped the entire product — an AI-generated audio-guide app for travelers. Users tap a point on an interactive map and hear a real-time generated audio guide: an LLM crafts a script from trusted sources, and text-to-speech produces the audio stream on demand. Available as iOS and Android apps plus a web version, localized into 21 languages.

Sole engineer across the full stack: backend, mobile apps, and web client. Partnered with co-founder Dmitry Frolov (UI/UX and product); owned all technical direction and implementation.

Reached ~2,000 users and ~100 one-time purchases. Selected for the Alpha Startup program and exhibited at Web Summit in Lisbon.

Stack

  • Node.js
  • Express
  • AWS
  • Amplify
  • DynamoDB
  • Mapbox
  • React Native
  • Next.js

Details

Software Engineer · JetBrains

Aug 2017 — Jun 2024Amsterdam, NL

Frontend developer on TeamCity, JetBrains’ CI/CD server used by 30,000+ customers and millions of users. Built frontend architecture, set up development and CI/CD workflows, reviewed code, mentored interns, and interviewed 30+ candidates (hired 4 senior engineers and 3 students).

  • Rewrote the build-log viewer: the old system couldn’t render logs above 10MB and pegged the CPU at 100% for a minute on first render. The new one handles logs up to 1GB in under 3 seconds, with custom search, log-level filtering, collapsible log-tree nodes, soft/no-wrap modes, and ANSI color support.
  • Built a React-based UI-extensions system for TeamCity, letting external developers write plugins against a typed API and integrate them into the existing SPA (@jetbrains/teamcity-api).
  • Set up the full frontend architecture and workflows for the new TeamCity Cloud sub-product (resource management, user management, notifications, and cloud-specific configuration).

Stack

  • TypeScript
  • React
  • Redux
  • Jest
  • Storybook
  • Webpack
  • Kotlin
  • Spring Boot

Details

Senior Frontend Developer · Appulate Inc.

Mar 2017 — Aug 2017St. Petersburg, RU

Wrote frontend code for a large product for insurance companies — new features and bug fixes in legacy code. Mentored junior and middle developers and improved development processes.

Details

Frontend Developer → Engineering Manager · Startups Snacky & Corkly

Aug 2015 — Feb 2017Penza, RU

Joined as a frontend developer (Aug 2015) and was promoted to engineering manager in July 2016.

  • Frontend developer. Built a complex SPA with React and Redux on the client and server-side rendering on Node.js. Wrote unit, integration and functional tests with over 95% coverage, and established the whole development process.
  • Engineering manager. Managed a technical team of four (developers and a UI/UX designer) building a mobile app. Adapted agile with two-week sprints, set up kanban boards, ran 1-1s and performance reviews, and hired a UI/UX designer.

Stack

  • React
  • Redux
  • Node.js

Details

Frontend Developer · FunCorp

Feb 2014 — Jul 2015Penza, RU

Built the new website for the entertainment service iFunny (200,000+ daily active users), with a Node.js layer for proxy caching and server-side rendering. The new SEO-optimised site doubled the number of users.

Stack

  • ES6
  • Backbone.js
  • Sass
  • BEM
  • Node.js

Details

Junior Developer → Software Developer · moedelo.org

Jul 2012 — Jan 2014Penza, RU

Full-stack developer on a SaaS accounting product. Joined as a junior developer and was promoted to software developer after a year. Key achievement: a webinar subsystem with a streaming player and real-time chat handling 10,000+ live participants.

Stack

  • C#
  • ASP.NET
  • MS SQL
  • JavaScript
  • Backbone.js
  • jQuery

Details

Web Developer · Onlinebees

Apr 2011 — Jul 2012Penza, RU

Full-stack developer at a local web studio.

Stack

  • PHP
  • MySQL
  • JavaScript
  • jQuery

Details

Freelance Web Developer · Self-employed

Nov 2010 — Apr 2011Penza, RU

E-commerce website development.

Stack

  • PHP
  • MySQL
  • JavaScript
  • jQuery

05Education & languages

Education

Master, Engineering, Penza State Technical University 2008 – 2013

Startup School, Y Combinator 2023

Languages

  • TypeScript
  • JavaScript
  • Node.js
  • SQL
  • C#
  • Kotlin
  • Python
  • PHP
  • GraphQL

06Achievements

Honours

  • 2022

    2nd place, JetBrains internal hackathon

    Out of 75 teams, with a web app for building good habits.

  • 2013

    Master's diploma with honours

    Penza State Technical University.

  • 2009

    Winner, university math olympiad

    Penza State Technical University. Also competed in the all-Russian math olympiad for engineering students.

  • 2006

    2nd place nationally, "Zelyony Shum" festival of intellectual games

    An open festival of logic, number, word and spatial puzzles held in Zelenograd, Moscow.

  • 2006

    4th place, Penza Oblast math olympiad

    1st place in his home town.

  • 2004, 2005

    Two-time winner, Penza Oblast street football cup