AdskiyPonchik / CV

GitHub ↗

Backend
developer.

  • Java / Spring Boot
  • Python / Django
  • C# / .NET

APIs, web applications and bots. Selected projects in Java, Python and .NET, with source code and notes.

Selected projects

01 / Projects

Selected work / 06

01

Backend · Industrial IoT

Telemetry Hub

  • Java 21
  • Spring Boot
  • PostgreSQL
  • Python

A service that receives power-grid telemetry, checks readings against configurable thresholds, and exposes per-sensor analytics.

Details

Following a reading through the system

  • A Python simulator sends readings with noise and injected faults to the ingestion API.
  • The service classifies voltage, frequency, temperature, and vibration readings using configurable and per-sensor thresholds.
  • REST endpoints return stored readings and time-window aggregates. Service and integration tests cover the backend.
README ↗

Reading lifecycle

Illustrative flow
POST/api/v1/telemetry
  1. 01
    ValidateCheck the payload
  2. 02
    ClassifyApply thresholds
  3. 03
    StoreSave the reading
Idle
02

Full stack · Java

ConduitAlternative

  • Spring Boot
  • Vue 3
  • PostgreSQL
  • Flyway

A RealWorld-style app for articles, comments, favorites, and follows. A Java backend connected to a Vue client.

Details

The same product, a different backend

  • Rebuilds the backend of my earlier .NET application to explore Spring and its ecosystem.
  • JWT authentication and ownership checks control who can publish, edit articles, and remove comments.
  • Flyway manages schema migrations; Testcontainers exercises the backend with PostgreSQL, and Vitest covers the client.
README ↗
03

Full stack · Web & Android

Conduit cross-platform

  • ASP.NET Core
  • Vue 3
  • Kotlin
  • SQLite

A publishing app with a .NET backend, a Vue web client, and a native Android client built in Kotlin.

Details

Connecting web and mobile

  • A shared API handles accounts, articles, comments, tags, and a personal feed.
  • The Vue client and Kotlin Android app consume the same backend. The mobile client uses MVVM and coroutines.
  • The backend, web app, and mobile app live in one monorepo with a GitHub Actions build and test workflow.
README ↗
04

Algorithms · Ongoing practice

LeetCode & Codewars

  • Java
  • Python
  • Data structures

Java and Python solutions organized around trees, heaps, sliding windows, backtracking, and other problem-solving patterns.

Details

Topics and solutions

  • LeetCode solutions follow the NeetCode topic roadmap, alongside a collection of Codewars katas.
  • The repository includes tree serialization, maximum path sum, tries, ciphers, and a small assembler interpreter.
README ↗
05

Python · Web application

Notes

  • Django
  • jQuery
  • Google OAuth

A Django notes app with favorites, hashtags, an archive, and a trash folder. An early learning project with a refreshed interface.

Details

Features and background

  • Started in 2023 to learn Django, with server-rendered pages and updates without a full page reload.
  • Includes registration, email verification, and optional Google login, alongside note creation and organization.
README ↗
06

Python · Telegram bot

MeetMatesBot

  • aiogram 3
  • SQLAlchemy
  • PostgreSQL

A Telegram bot that matches players by shared games and relays their messages until they choose to share a username.

Details

Revisiting an early Python project

  • Originally built in 2023, then reworked in 2026 from an aiogram 2 monolith to aiogram 3 and an asynchronous database layer.
  • Supports shared-game matchmaking and anonymous message relay without storing chat contents in the application database. It remains a learning project.
README ↗

02 / Technologies

Stack

Used in the projects above.

Backend
  • JavaSpring Boot
  • PythonDjango · aiogram
  • C# / .NETASP.NET Core
Data
  • PostgreSQL
  • SQLite

JPA · SQLAlchemy · Entity Framework
Schema migrations with Flyway

Clients & testing
  • Vue
  • TypeScript
  • Kotlin

JUnit · Testcontainers · Vitest
CI with GitHub Actions

03 / Problem solving

Codewars & LeetCode

Codewars
3 kyuoverall rank
Kata completed
113
Honor
1,223

Saved result ·

LeetCode
112problems solved
Easy
50
Medium
51
Hard
11

Saved result ·

04 / Playground

Algorithms

Trees, task queues, and finding a way around obstacles.

Interactive / no autoplay

B-tree

An educational B-tree with up to three keys per node. Insert a key to see a split, or follow a search from the root.

4010 · 20 · 3050 · 60 · 70

Swipe across the diagram to explore the tree →

Start with 25: inserting it will split a full node.

7 keys · 2 levels

Work stealing

The same 12 tasks, two equal-speed workers per strategy. Compare fixed queues with a worker that borrows from its busy neighbour.

Fixed queues

Worker A: 10 tasks
Worker B: 2 tasks

Work stealing

Worker A: 10 tasks
Worker B: 2 tasks

Identical starting conditions. Each tick completes one task per busy worker.

Tick 0

A* pathfinding

Find the shortest route around walls. A* chooses the lowest f = g + h: distance travelled plus Manhattan distance to the goal. Four directions, equal move costs.

Start → explore neighbouring cells → avoid walls → reach the goal. Enable JavaScript to edit the grid and follow the search.

  • Wall
  • Frontier
  • Explored
  • Path

Add walls to change the route.

0 explored · 0 frontier

05 / Contact

Contact