Digital products · teams · education

Hi, I'm Danila.

I build digital products, teams, and education initiatives — without dull solutions.

I bring people and technology together into things worth using.

From strategy and architecture to the team, launch, and a calm handover.

A good interaction leaves everyone better off.

Portrait of Danila Sokolov
Building systems 56°29′ N · 84°58′ E
Explore

Selected projects

Not a trophy shelf. Systems people actually use.

A closer look at the personal tools and working products I build: why they exist, how they work, and what they can already do.

Beta
01

Portfolio Analytics

My private production system brings T‑Invest portfolios, market data, and multi-wave AI forecasts into one research environment.

Alpha
02

Spoiler‑Free Reader

The reader remembers your position and builds a Wiki only from what you have read—now available without registration in a public HPMOR demo.

Launched
03

Quoridor Online

I brought Quoridor to the browser and Telegram: quick matches with friends or random opponents, game history, and server-authoritative rules.

Beta
04

Social Connections

My private map of people, places, and events preserves more than contacts—it remembers who, where, when, and through which connection entered my life.

All projects
Beta

Portfolio Analytics

I started this project because I was tired of adapting my workflow to the T‑Invest terminal and splitting my attention across its screens. I wanted to decide how portfolio data, P/L, risk, and market context should be calculated and presented. What began as a personal dashboard has become a separate .NET and React production system with its own database, background jobs, and broker synchronization.

The system now produces technical, fundamental, and combined AI analysis. Instead of a single line, it stores several scenarios with probabilities, W1–W4 waves, entry zones, targets, and segment-specific stops. A forecast can be overlaid on the broker price chart and reopened later as an immutable archive against the realized candle path. The closest branch is identified automatically while its original probability remains visible.

AI still does not place trades for me. I use the system as a research and control layer: it tracks forecast quality, separates target-touch from the stricter target-before-stop result, and sends generated signal charts to Telegram. As verified observations accumulate, I get a clearer picture of when a model's conclusion is useful for entry or risk control—and when it should be ignored.

Role
Product author and developer: problem definition, UX, architecture, broker integration, the AI pipeline, forecast evaluation, and production operations.
Why I built it
I needed one environment where portfolio calculations, market context, AI scenarios, and their later evaluation follow my logic instead of the constraints of a brokerage terminal.
Status and audience
This is currently my private production research system. The interface requires authentication and there is no public demo yet.
What is inside
  • Account, position, operation, and instrument-catalog sync through the T‑Invest API
  • Unified portfolios with independent P/L, exposure, and asset-class history
  • Global asset search and detailed pages on one consistent price scale
  • Technical, fundamental, and combined AI analysis
  • Multiple scenarios with probabilities, W1–W4 waves, entries, targets, and segment stops
  • An interactive 14-day forecast archive over the realized market path
  • Target-touch and stricter target-before-stop evaluation
  • Scheduled and event-driven reanalysis on targets, stops, and price moves
  • Telegram signals with automatically rendered 1280×720 charts

Technology

  • .NET / ASP.NET Core
  • React
  • PostgreSQL
  • T‑Invest API
  • DeepSeek API
  • Telegram API
Alpha

Spoiler‑Free Reader

Sometimes I return to a book after a long break and realize that I have forgotten its characters, events, and terminology. Ordinary search is risky because it does not know how far I have read and can reveal a spoiler from a future chapter. I built a reader whose reference material is always limited to the current position.

The service processes chapters in order and maintains a Wiki of characters, places, events, items, and abilities. When a new chapter is analyzed, the model receives previously known entities and facts, which improves alias resolution and prevents duplicate cards for the same character. Two background workers can process different books in parallel while preserving chapter order within each book.

The idea can now be tried without an account using the public Harry Potter and the Methods of Rationality demo: reading and the position-aware Wiki are available while the source book and private user data remain isolated. I use DeepSeek as the most accessible AI environment for this task, but the architecture can support other models and compare their extraction quality.

Role
Product author and developer: reader UI, Chrome extension, position-aware Wiki, AI pipeline, and production infrastructure.
Why I built it
Search engines and ordinary encyclopedias do not know my current reading position. I needed a way to recover context without seeing future events or even indirect hints about them.
Status and audience
A public alpha for readers of long books and series. The demo works without registration; personal libraries, keys, and analysis budgets are isolated by account.
What is inside
  • A public read-only HPMOR demo without registration
  • Chapter import through a Chrome Extension and segment-precise reading position
  • A Wiki that reveals only knowledge available at the current point
  • Accumulated pages for characters, places, events, items, and abilities
  • Known-entity context for reliable name and alias resolution
  • Two background workers with ordered analysis inside each book
  • Per-user DeepSeek keys with daily token and cost budgets
  • Email verification, access recovery, and protected feedback

Technology

  • PHP 8.3
  • MariaDB
  • DeepSeek API
  • Chrome Extension MV3
  • JavaScript
  • Caddy
Launched

Quoridor Online

I wanted a Quoridor match to start without finding the box, clearing a table, or asking the other player to install another app. So I built one online game that works both as a regular website and as a Telegram Mini App.

The game engine runs on the server and validates every move consistently: pawns cannot pass through walls, and a new barrier may never block every path to the goal. Players can join through an invitation or the shared matchmaking queue; interrupted sessions reconnect, while completed games remain available as animated replays.

On mobile, wall placement is a clear two-step interaction with preview and confirmation. Around the match itself, the product already includes profiles, statistics, leaderboards, an online counter, and a Telegram bot with group rankings. The project is live and continues to grow as a small platform for quick competitive games.

Role
Product author and developer: rules and server engine, real-time matches, UI, Telegram Mini App, bot, and production infrastructure.
Why I built it
A quick game with a friend or random opponent needed one shared entry point without a separate client, with trustworthy rule validation and reconnection after network interruptions.
Status and audience
Players who enjoy Quoridor and want quick online matches from a browser or Telegram, by invitation or random matchmaking.
What is inside
  • Server-authoritative one-on-one real-time matches
  • Launch in a browser or Telegram Mini App
  • Friend invitations and FIFO random matchmaking
  • Session restoration after connection loss
  • Mobile wall placement with preview, confirm, and cancel
  • Game history and animated move-by-move replays
  • Profiles, statistics, leaderboard, and online counter
  • Telegram bot with group participant rankings

Technology

  • React 19
  • Vite
  • Fastify
  • Socket.IO
  • PostgreSQL
  • Prisma
  • Telegram Mini Apps
Beta

Social Connections

A contact list answers “how do I reach this person?” but says almost nothing about context. I want to remember where we met, which people, places, and events connect us, how a relationship changed, and which circle a particular story belongs to. That need became Social Connections.

Instead of a flat address book, the system builds an interactive graph. People, places, and events become nodes; directed and parallel relationships can carry roles, notes, dates, and media. Different parts of life remain in separate workspaces, while selected spaces can be combined into a read-only map without merging their source data.

A large graph still has to be understandable. The interface filters entities and relationship types, expands neighbors on demand, and shows a point in time. Hovering a relationship keeps exactly that edge and its two endpoints in focus while dimming everything else. This is a private beta I am developing as personal memory for social context—not as another social network.

Role
Product author and developer: social graph model, navigation UX, visualization, media, security, and production operations.
Why I built it
Contacts, notes, and photos keep separate fragments of a story. I needed a living graph that preserves the context of a relationship and reveals connections among people, places, and events over time.
Status and audience
This is currently a private beta for my personal use. Access is authenticated; data is separated by workspace and is not published as a social profile.
What is inside
  • Separate workspaces for different social contexts
  • People, place, and event nodes with descriptions, covers, and galleries
  • Directed and parallel relationships with roles, notes, and dates
  • A combined read-only map with links back to each source workspace
  • Search and filters by entity, relationship type, and time range
  • On-demand neighbor expansion instead of loading the entire graph
  • Exact hover focus on one relationship and its two endpoints
  • Event timeline and adaptive routing for dense graphs

Technology

  • ASP.NET Core
  • React
  • TypeScript
  • PostgreSQL
  • SVG / graph layout
  • Caddy
≈ 30 people in the Digital Solutions Office
200+ graduates in published Higher IT School cohorts
3 TB migrated in the SOUNDOTCOM case
since 2012 in software and digital products

Current roles

Three contexts. One operating system.

Since 2018

Director Kreosoft

Teams, projects, negotiations, architecture, and company development.

Since 2020

Head of Digital Solutions Tomsk State University

Around 30 people, enterprise systems, mobile apps, 1C, Bitrix24, and integrations.

Since 2017

Teacher and faculty co-creator Higher IT School

Courses, hands-on work, product teams, and turning ideas into outcomes.

Parallel tracks

Management grew out of hands-on work.

Code, infrastructure, products, education, and teams did not happen one after another. They reinforced one another.

  1. Web developer TSU

    Enterprise systems, integrations, and hands-on development.

  2. CTO SOUNDOTCOM

    Team, critical infrastructure, AWS, payments, and technical handover to the buyer.

  3. Head of Web Development TSU

    An eight-person team, systems, infrastructure, and support.

  4. Teacher and faculty co-creator Higher IT School

    Education products, courses, partners, and teaching in Russian and English.

  5. Director Kreosoft

    Projects, people, contracts, architecture, and strategy.

  6. Head of Digital Solutions TSU

    The university's digital ecosystem and a team of around 30 people.

Capability map

No percentages. Connections and evidence.

Leadership

I build teams, shape processes, and make room for independent decisions.

Analysis

I look for real dependencies, resource leaks, and the highest-leverage move.

Systems design

I connect information systems, processes, people, and technology.

People and communities

I create links that grow into projects, knowledge, and opportunity.

Applied AI

I use AI for analysis, design, development, and faster delivery.

English

I teach and work with professional material in English.

Not zero-sum.
A shared upside.
How I work with people

Everyone leaves better off. I am not interested in zero-sum games. After a project, a deal, or a new connection, I want everyone involved to gain something tangible, intellectual, or simply human.

Outside the meeting calendar

Work is not the only way to test character.

Phuket, diving, karting, music, and a good reason to switch to Life.

Danila holding a mug on a boat in open water
LIFE / 01

Phuket · diving

I try to spend winters in Phuket. It is my second home — a place where meetings give way to dives, city noise to depth, and the usual pace to a tropical one.

SWITCH / MODE

Another context

The same person, a different composition, and a little more room to breathe.

Life

No ceremony required

Have an idea? Or just feel like saying hello?

Write on Telegram or by email — with an idea, a work question, or simply to say hello.