Overview
Technical skills
Projects
Timeline
Roles

Overview

Frontend / Web Engineer (mid level) focused on building interactive dashboards and integrations with external APIs. The strongest proven skill is building data-driven reporting UIs and API integration logic, evidenced by the reports.vue implementation with paginated fetching, batch requests and Promise.all usage. There is limited evidence of formal testing, end-to-end state machines, advanced accessibility or build-time performance instrumentation in public code.

Technical skills

Languages
4
Python
JavaScript
SQL
Node JS
Python
9
FastAPI
Pydantic
SQLAlchemy
Alembic
Asyncio
Django
aiogram
HTTPX
Aiohttp
DevOps
6
GitHub
GitHub Actions
Docker
Git
Rest API
CI/CD
Other
19
PostgreSQL
Pytest
Express
Axios
Redis
Chart.js
Bootstrap
SQLite
Linux
Gunicorn
Ruff
Nginx
CodeQL
Dependabot
WebSockets
bandit
CWE
OWASP ASVS
OWASP

Projects

SitePosture HTTP security header analysis CLI
Built a Python command-line tool to passively analyze HTTP security headers and cookie settings. Set up a CI pipeline for security and quality checks using automated static analysis and dependency/update scanning. The tool is designed to help validate security posture without active probing.
Reviewed multiple public Python projects and documented validated vulnerabilities with evidence, impact, and remediation guidance. Fixed a critical authentication bypass (fail-open) and added regression tests to prevent the issue from reappearing. Included a focus on secure coding practices and verification workflows.
Bitrix24, Telegram and MoySklad integration
Created an integration layer for requests, order status, warehouse data, and reporting across multiple Bitrix24 portals. Implemented Telegram-driven field operations workflows and coordinated operational data collection. Focused on reliable status synchronization and structured reporting for field and back-office teams.

Timeline

Freelance Python Developer · Middle
Freelance · Freelance
Jan 2020 to Present 6 Years 10 Months Novi Sad Partially remote
Built a camp management system using FastAPI, PostgreSQL, and Telegram, handling registration, attendance, group assignments, payments, and reporting for 3000+ participants. Wrote 100+ automated tests with pytest to cover business logic and critical API workflows. Implemented staff notifications and kept participant data synchronized across registration, attendance, and payments, reducing manual re-entry. Also delivered Telegram bots and CRM integration/automation support including deployment and post-release fixes.
FastAPI
PostgreSQL
Python
Telegram
Pytest
Docker
CI/CD
Git
GitHub
GitHub Actions
Python Developer · Middle
Nepstroy · Full-Time
Feb 2022 to Sep 2025 3 Years 7 Months Partially remote
Developed and maintained Python-based internal automation tools, including Telegram bots and CRM integrations supporting day-to-day operations. Built integrations around Bitrix24 CRM to connect Telegram, forms, spreadsheets, MoySklad, and Yandex Maps using REST APIs and webhooks. Implemented a Telegram field-worker system integrated with multiple Bitrix24 accounts and Yandex Maps for order distribution, status tracking, reporting, and data collection. Added a Telegram + MoySklad reward system protected with JWT-based authentication, and resolved production issues using logs, debugging, and reproducible tests.
Python
Bitrix24
Telegram
Rest API
Junior AI/ML Engineer Confidence: High Generalist
Real-time Python developer (Middle) specializing in Telegram bots and crypto market monitoring. The strongest proven skill is building robust asynchronous, realtime pipelines for market data and per-user alerting, demonstrated by analyzer.py (sliding-window buffers, cooldown persistence) and ws_listener.py (prefill, reconnection and batching). There is no public evidence of custom ML model training, formal evaluation pipelines, or large-scale MLOps in the analyzed human-authored files.
Model Architecture & Training
How well models are designed and trained
Not evidenced in public code
Data Pipeline & Feature Engineering
4/10
How data is prepared for models
Clear, applied data-processing and streaming logic for market data: sliding-window price buffers, kline prefill, per-user threshold checks and persisted cooldowns.
Evidence
crypto-market-alert-bot/analyzer.py: prefill_from_klines / process_batch / _check_and_signal (sliding window, vol deltas, per-user checks)
crypto-market-alert-bot/ws_listener.py: _prefill_exchange (semaphore-controlled prefill) and real-time batching before process_batch
Experimentation & Evaluation
1/10
How results are measured and tested
Minimal experimentation or formal evaluation artifacts; no experiment tracking, metrics logging or A/B code is present.
Evidence
crypto-market-alert-bot/README.md: project description indicates monitoring purpose (informational)
crypto-market-alert-bot/analyzer.py: heuristic thresholds and internal logging used for runtime validation rather than formal experiments
MLOps & Deployment
2/10
How models are shipped to production
Basic operational engineering: persistent cooldowns and simple local DB schema, but no advanced MLOps or model lifecycle infrastructure.
Evidence
crypto-market-alert-bot/database.py: init_db, load_cooldowns, save_cooldown (SQLite persistence of users and cooldowns)
crypto-market-alert-bot/handlers.py: per-user settings read/update patterns integrated with runtime behavior
Computational Efficiency
5/10
How efficiently computing resources are used
Good practical concurrency and efficiency work for a single-node async system: semaphores, batching, in-memory caches, backoff and bounded concurrency.
Evidence
crypto-market-alert-bot/ws_listener.py: reconnect/backoff loop, asyncio.Semaphore and asyncio.gather prefill, batched WS handling
crypto-market-alert-bot/analyzer.py: in-memory price buffers, _users_cache TTL to avoid per-tick DB hits, efficient deque usage and popleft trimming
Research Depth & Innovation
1/10
Depth of research and new ideas
No research-level or novel ML contributions; the project contains applied heuristics but not paper implementations or experiments aiming at SOTA.
Evidence
crypto-market-alert-bot/analyzer.py: sliding-window heuristic is a pragmatic algorithm but not a research implementation
Industries
Financial Services· Junior
Technologies
Python· since 2020 · Senior
SQL
PostgreSQL· since 2020
Redis
GitHub Actions· since 2020
WebSockets
CI/CD· since 2020
Git· since 2020
SQLite
Docker· since 2020
Nginx
Asyncio
Ruff
HTTPX
Gunicorn
Aiohttp
bandit
aiogram
GitHub· since 2020
Linux
Ollama· mentioned only
PostgreSQL· mentioned only
SQLAlchemy· mentioned only
Recommendations
  • Build real-time notification systems and monitoring agents that integrate WebSocket feeds, local persistence and per-user filters (extend the existing market-alert pipeline).
  • Develop small to medium production async services in Python that require efficient concurrency, rate-limiting and graceful reconnection/backoff strategies.
  • Create Telegram bots or other chat-based automation where message handling, state machines and per-user settings are required.
Repositories
The developer's experience in this domain has been verified based on AI analysis of the following repositories:
Junior Backend Developer Confidence: Medium API Engineer
Backend developer (junior level) focused on asynchronous Python bots and small backend services with AI integrations. The strongest proven skill is building async, DB-backed Telegram bots with AI assistance, evidenced by ai.py, many aiogram handler modules (handlers/*.py) and async SQLAlchemy models/migrations (db/models.py and alembic revisions). There is limited evidence of large-scale system design, advanced performance tuning, or formal API versioning and security hardening in the public code.
API Design
3/10
How well APIs are designed
Basic, pragmatic API work is present (Telegram bot handlers, some web API routes and rate limiting) but there is little evidence of deliberate API-versioning, idempotency, or a consistent formal error contract beyond handler-level conventions; many routes look scaffolded or single-purpose. The design favors handler-based routing and uses async patterns but lacks documented versioning or advanced API resilience patterns.
Evidence
ChronicleBot/handlers/wins.py: multiple request/command handlers and use of ai integration
ChronicleBot/web/app/api/chronicle/route.ts: server API endpoints for chronicle features
ChronicleBot/ratelimit.py: per-user in-memory rate limiting implementation
Data Layer & Database
4/10
Working with databases
A real relational model and migration history exist (SQLAlchemy declarative models and multiple Alembic revisions), showing schema evolution; async SQLAlchemy and asyncpg usage is appropriate for an async bot. Evidence of explicit transaction isolation choices, complex manual tuning, or advanced query optimization is limited.
Evidence
ChronicleBot/db/models.py: SQLAlchemy declarative models (User, Win, Goal, etc.)
ChronicleBot/alembic/versions/001_add_tag_to_wins.py: migration files (multiple revisions present)
ChronicleBot/db/engine.py: async SQLAlchemy engine and session setup
Scalability & Performance
3/10
Handling load and speed
The code uses asyncio throughout, async DB drivers, scheduler jobs and WebSocket listeners for real-time flows which is appropriate for moderate scale, but there is little evidence of systematic caching, connection pool tuning, measured load testing, or robust queuing with backpressure strategies.
Evidence
crypto-market-alert-bot/ws_listener.py: WebSocket handling and exchange listeners
ChronicleBot/scheduler.py: APScheduler job creation and scheduled tasks
ChronicleBot/requirements.txt: asyncpg and sqlalchemy[asyncio] indicating async DB stack
System Architecture
4/10
Overall system structure
Code is organized into clear modules (handlers, db, ai, scheduler, utils) and a main entry with middleware, showing deliberate separation of concerns for a bot application. The system is single-process service-oriented rather than a multi-service distributed architecture, and inter-service contracts or service decomposition trade-offs are not documented.
Evidence
ChronicleBot/main.py: application wiring, DB Session middleware and router registration
ChronicleBot/handlers/: modular handler files (wins.py, goals.py, stats.py, etc.)
ChronicleBot/scheduler.py: separate scheduling component integrated with DB
Security & Auth
3/10
Protecting data and access
Some surface-level security hygiene is present (use of Pydantic settings, sentry integration, and use of prepared abstractions like SQLAlchemy), but token lifecycle, explicit auth flows, secrets rotation, or systematic dependency auditing are not visible. Input sanitization and SSRF/XSS/SQLi are partially mitigated by framework choices but not obviously enforced at every boundary.
Evidence
ChronicleBot/config.py: Settings via pydantic-settings indicating centralized configuration handling
ChronicleBot/main.py: sentry_sdk initialization for error/exception tracking
ChronicleBot/db/models.py: use of SQLAlchemy ORM rather than raw string SQL
Reliability & Observability
4/10
Stability and monitoring
The code shows attention to reliability and observability: Sentry integration, a small test suite (smoke tests), and scheduled jobs with retry-friendly patterns. Explicit production-grade resilience patterns (circuit breakers, retries with jitter, service-level timeouts everywhere, structured metrics) are not broadly present in the code visible here.
Evidence
ChronicleBot/tests/test_smoke.py: automated smoke tests exercising date parsing, rate limits and locales
ChronicleBot/main.py: _health_server and Sentry integration
ChronicleBot/scheduler.py: scheduled digest and reminder jobs with async_session usage
Expertise
Backend AI & LLM· Junior
Databases & Vector Storage· Junior
Messaging & Real-time· Junior
Microservices & API Architecture· Junior
Python· Junior
Technologies
Rest API· since 2022
SQLAlchemy
FastAPI· since 2020
Django
Pydantic
Alembic
Express· mentioned only
Recommendations
  • Develop Telegram bot features and integrations that require async I/O and DB persistence (handlers, scheduler, ai integrations).
  • Implement and maintain backend endpoints and worker tasks that use async SQLAlchemy/Alembic for schema evolution and reliable job scheduling.
  • Build real-time monitoring or notification services (WebSocket listeners, notifier pipelines) where per-user state and rate-limiting matter.
  • Expand test coverage and add documented resilience patterns (timeouts, retries with backoff, metrics) for production readiness.
Repositories
The developer's experience in this domain has been verified based on AI analysis of the following repositories:
Junior Frontend Developer Confidence: Medium App Engineer
Frontend / Web Engineer (mid level) focused on building interactive dashboards and integrations with external APIs. The strongest proven skill is building data-driven reporting UIs and API integration logic, evidenced by the reports.vue implementation with paginated fetching, batch requests and Promise.all usage. There is limited evidence of formal testing, end-to-end state machines, advanced accessibility or build-time performance instrumentation in public code.
UI Component Architecture
3/10
How interface parts are built
Component boundaries exist and Composition API is used in parts, but many components are large template strings and there is limited evidence of a reusable design system or component library abstraction authored by the developer.
Responsive & Cross-browser
4/10
Works on all screens and browsers
Responsive layouts and mobile-friendly rules are present using Bootstrap and explicit media queries; some feature-detection/shims included for cross-browser robustness.
Performance Optimization
4/10
Speed of the interface
Evidence of measured performance thinking in server/API interactions: chunking/batching, pagination and concurrent requests are implemented to avoid large single requests, but no build-time profiling or advanced bundling evidence.
Accessibility & Semantics
2/10
Usable for everyone
Some semantic HTML and focusable controls exist, but there is little evidence of deliberate accessibility work for custom widgets, ARIA, keyboard handling or automated a11y checks in CI.
State Management & Data Flow
3/10
Managing data in the app
Reasonable server-state discipline for API interactions, with pagination, batch requests and error handling in many helpers; lacks advanced request cancellation, optimistic updates, or formal state machines.
UX & Visual Polish
4/10
Look and feel quality
UX polish is visible in standalone prototypes (animations, skeletons, timers) and interactive dashboards show loading states and user flows, but many UIs are prototypes rather than production hardened experiences.
Verified artifacts
Expertise
Vue· Junior
Technologies
JavaScript· since 2023 · Junior
Node JS· Junior
Express
Chart.js
Bootstrap
Axios
Recommendations
  • Implement and expose smaller, reusable Vue components and move large template strings into SFCs to improve maintainability and testability.
  • Add request cancellation and explicit race handling (AbortController or equivalent) and document server-state cache invalidation for critical flows like batch reporting.
  • Introduce automated tests (unit for helpers and integration for data flows) and add basic a11y checks (axe or eslint-plugin-jsx-a11y) in CI.
  • Harden production integration points by replacing offline file dependencies and adding configuration for webhook/endpoints (avoid empty WEBHOOK_URL values).
Repositories
The developer's experience in this domain has been verified based on AI analysis of the following repositories: