Portfolio · Telegram @sinnercode · PyPI · dev.to · По-русски
Full-stack developer, in commercial web development since 2019. I build web products from scratch and work on existing ones: APIs, booking and subscription billing, CRM integrations, Telegram bots and Mini Apps, LLM features.
Available for contract work (fixed price, hourly or monthly), including joining your team or taking over an existing codebase. Telegram: @sinnercode.
| Pull request | Change |
|---|---|
| aiogram #1954 | InlineKeyboardBuilder.as_markup() no longer drops its options. Fixes #1423 |
| aiogram #1956 | Opt-in tasks_shutdown_timeout, so polling shutdown can wait for running handlers. Fixes #1955 |
| unstructured #4568 | translate_text() no longer repeats the first 512 tokens for every chunk. Fixes #3607 |
| unstructured #4597 | partition_email() no longer fails on attached emails (message/rfc822) |
| unstructured #4599 | .markdown files are detected as Markdown. Follow-up to #3670 |
| unstructured #4602 | partition_pdf() debug overlays now use the DPI and PDF password passed to partitioning. Fixes #3985 |
All three are on PyPI, MIT licensed, for Python 3.10+.
![]() aiogram-stars 0.2.0 · PyPI Telegram Stars payments for aiogram 3, extracted from Zernolist. on_paid runs once per charge. Failed refunds are retried from a database outbox.
|
![]() aioamocrm 0.1.1 · PyPI Async client for the amoCRM and Kommo API v4. Handles OAuth2 token rotation and limits requests to 7 per second. A POST is resent only with retry=True, because amoCRM has no idempotency keys. Tested on mocked HTTP, not a live account.
|
aiomoysklad 0.1.0 · PyPI
Async client for the MoySklad JSON API 1.2 that keeps to its limits: request weights per token kind, including the change on 1 December 2026, at most 5 requests in flight, retries on 429 from the Lognex headers, and a stop before the automatic cut-off. Covers stock reports, customer orders and webhooks. Tested on mocked HTTP, not a live account yet.
Client code from my contract work is private, so these are standalone projects with sample data. The demos run on GitHub Pages with the API mocked in the browser.
- tg-paid-club · Python, aiogram 3, FastAPI, PostgreSQL
Paid access to a private Telegram channel or group, with YooKassa card renewals, Stars subscriptions and a 3-day grace period after a declined card. Only paying members' join requests are approved. No live deployment: a simulator fills the admin dashboard with sample members. - Zernolist · React, aiogram 3, FastAPI · demo · write-up
A coffee and tea shop as a Telegram Mini App, paid in Stars or on receipt. Order totals are computed on the server from the catalog, never taken from the client. Stars payments go through aiogram-stars. - Slotbook · Go, PostgreSQL, React · demo · write-up
Online booking for salons, with a booking widget and a staff day view. A PostgreSQL exclusion constraint prevents double booking under concurrent requests. - DocMind · Python, FastAPI, pgvector, React · demo · write-up
Q&A with citations over PDF, DOCX, HTML and web pages, also as a Telegram bot. Sources are sent before the answer, so each[n]is clickable as it streams. The demo searches with BM25 in the browser, without an LLM.
Smaller demos are in portfolio: a landing page with a cost calculator, an async scraper, a lead-collection bot and an Excel dashboard.
Technical write-ups (English and Russian) are in notes/, and the aiogram-stars one is also on dev.to. Fix log: notes/fixes.md.
2025 – present · Senior Full-Stack Developer · Independent / Contract
New products and work on existing systems: APIs and integrations, admin panels, job queues and bulk imports, query optimization, CI/CD and monitoring, code review and releases.
2023 – 2025 · Full-Stack Developer · Independent projects and contracts
Services with subscriptions, payments and automation: a SaaS for links and contacts, a Telegram sales platform with automatic delivery of digital goods, a website analytics service. I designed the APIs and databases, built the UIs, deployed and maintained them. Next.js, TypeScript, Node.js, Python, PostgreSQL, Redis, Nginx.
2021 – 2023 · Full-Stack Developer · Contract development
Internal web apps for sales teams and service businesses: a CRM for incoming customer requests, a document portal with approvals, supplier catalog sync with price and stock updates. React, TypeScript, Node.js, PostgreSQL, Redis, Docker.
2019 – 2021 · Web Developer · Freelance
Websites and online stores for small businesses: an auto parts store with CSV import, a repair-shop chain site with a cost calculator that sends leads to a CRM, WordPress sites with custom themes. JavaScript, PHP, WordPress, MySQL.
Full-stack разработчик, в коммерческой разработке с 2019 года. Делаю веб-продукты с нуля и дорабатываю существующие: API и базы данных, онлайн-запись, биллинг подписок, интеграции с amoCRM и Bitrix24, Telegram-боты и Mini Apps, функции на LLM.
- Приняты шесть моих PR: два в aiogram (#1954, #1956) и четыре в unstructured (#4568, #4597, #4599, #4602).
- На PyPI три мои библиотеки: aiogram-stars для приёма платежей в Telegram Stars в aiogram 3, aioamocrm, асинхронный клиент API amoCRM и Kommo, и aiomoysklad, асинхронный клиент API МойСклада, который соблюдает его лимиты на запросы.
- Технические разборы проектов на русском: notes/.
Работаю по фиксированной цене, почасово или помесячно. Могу подключиться к вашей команде или взять на поддержку существующий проект.
Telegram: @sinnercode · Портфолио





![DocMind demo: a question, the answer streaming with [1] and [2], and the matching source cards highlighted](/sinnercode228/sinnercode228/raw/main/assets/docmind-answer.webp)