Helpdesk — Ticketing BotRead
[Telegram API, TypeScript, Node.js, MongoDB, REST API]
A Telegram bot integrated with the client's helpdesk system: users create support tickets right in the chat and receive responses back in Telegram.
Problem:
The client had a large, established product but lacked a convenient channel for creating and managing support requests. They needed a solution that would allow users to contact support via a Telegram bot, automatically create support tickets, and send responses back to the same chat.
Solution:
We designed and implemented a Telegram bot integrated with the client's helpdesk system:
• Receives text messages, images, files, and voice messages from users
• Automatically creates corresponding support tickets via API
• Tracks ticket status and delivers responses from support staff directly to the user's chat
• Supports two-way transfer of both text and media — images, documents, and voice messages are exchanged in both directions
The integration was built using APIs and webhooks, ensuring stable data exchange, preserving attachment structures, and providing scalability and data security.
Result:
• Reduced support request processing time by 40% through automated message intake and routing
• Simplified communication — users now receive answers directly in Telegram without switching platforms
• Increased customer satisfaction, reflected in a noticeable rise in positive feedback
Request Form BotRead
[Telegram API, Node.js, TypeScript, Google Sheets]
A Telegram bot that guides users through multi-section forms and automatically saves structured responses to Google Sheets.
Problem:
The client needed to collect structured information from users through multi-section forms, automatically save responses to Google Sheets, and notify the team — all without manual data entry or follow-up.
Solution:
Built a Telegram bot that guides users through multi-section forms based on their selected scenario. All collected data is automatically saved to Google Sheets with proper formatting. The bot sends auto-notifications to the team for each completed form and supports reporting on submissions. Designed to handle multiple form types without code changes.
Internal CRM Sync BotRead
[Telegram API, TypeScript, Node.js, MongoDB]
A Telegram bot that verifies group members against the client's CRM and automatically removes users without active subscriptions.
Problem:
The client needed to automatically verify Telegram group members against their internal database and remove users without active subscriptions. Manual checks were slow, inconsistent, and didn't scale across multiple groups.
Solution:
Built a Telegram bot that automatically checks group members against the client's internal CRM database. Users without an active subscription are automatically removed. The bot also supports segmented broadcasts by criteria — sending targeted messages only to relevant user groups. All actions are logged for audit.
VPN Client — macOS, Android, iOS, WindowsRead
[TypeScript, Java, Swift, Electron, Cross-platform]
A branded, feature-enhanced VPN client with Xray protocol support, deployed across all major platforms.
Problem:
The client needed a branded, feature-enhanced VPN client beyond off-the-shelf solutions, deployed across all major platforms.
Solution:
Forked an open-source VPN project and delivered a complete rebranding (icons, colors, copy). Implemented Xray protocol support, custom routing rules, and advanced features. Built for Android (Java), iOS/macOS (Swift), and Windows/macOS (Electron) with a shared TypeScript core.
Stack: TypeScript, JavaScript, Java (Android), Swift (iOS/macOS), Electron, Cordova
Data Monitoring ServiceRead
[Java, Selenium, PostgreSQL, Apache POI, Web Scraping]
A backend aggregator that collects economic indicators from multiple websites daily — fully automated, with zero manual intervention.
Problem:
The client needed a daily aggregated summary of economic indicators from multiple websites. Manual collection was slow, inconsistent, and couldn't scale.
Solution:
Built a backend aggregator service: Selenium for web scraping → KPI calculation → filtering → structured API export. Fully automated daily runs with zero manual intervention.
Corporate LMSRead
[Moodle, NGINX, LMS, Custom Analytics]
A unified corporate training platform built on Moodle with custom interface theming and an extended analytics service.
Problem:
The organization lacked a unified platform for employee training and development tracking across departments.
Solution:
Deployed and fully configured a Moodle instance: custom interface theming, mobile responsiveness adaptation, and administrator training. Beyond Moodle's native capabilities, developed a custom extended statistics service providing flexible data exports and analytics beyond standard platform features — usage metrics at the department and individual employee level.
Stack: Moodle, Nginx, custom analytics service
Corporate Knowledge Base — XWikiRead
[XWiki, Apache Tomcat, Apache Velocity, HTML, CSS]
A scalable knowledge platform for one of the largest government organizations with 80+ regional branches and thousands of employees.
Problem:
One of the largest government organizations with a distributed territorial structure (80+ regional branches, thousands of employees) needed a scalable platform to centrally structure, store, and provide access to critical knowledge and documentation.
Solution:
Deployed XWiki, customized the interface, configured roles and access, and trained editors. Beyond XWiki's standard capabilities, we developed a separate service for extended statistics collection and analytical report generation, providing usage and engagement metrics at the department and individual employee level.
Workload Report Bot: Excel to BotRead
[TypeScript, Node.js, Telegram API, MongoDB, Google Sheets]
A Telegram bot that automates weekly workload reporting for a 50+ employee organization — replacing 10+ hours a week of manual Excel work.
Problem:
Weekly workload reporting took 10+ hours: managers merged task exports, meeting spreadsheets, and time sheets into separate Excel templates per department or team by hand — slow and error-prone. They needed one repeatable flow in Telegram with feedback before numbers were finalized.
Solution:
An admin-group bot that walks users through the pipeline: select department or team → upload tasks → parse executors and hours with validation → choose dates (inline calendar) → upload the meetings registry and time-sheet files → output the consolidated workload file plus optional per-employee xlsx files in a ZIP. Parsing errors return an annotated xlsx with highlights and error text — not silent bad data. Roster from Google Sheets or file; templates managed in-bot (MongoDB).
Result:
The manual merge of three sources into compliant Excel is automated; issues surface at upload time instead of in review meetings.
Stack: Node.js, TypeScript, grammY, Koa, MongoDB, Excel pipelines
Paid Community Bot — PayPal, Cards, StarsRead
[Telegram API, TypeScript, Node.js, MongoDB, Payments]
A Telegram bot for paid fashion communities that handles the entire subscription lifecycle: payments, channel access, webinars, and certificates.
Problem:
The client is a fashion stylist running paid Telegram communities: a subscription club, webinar recordings, and certificate programs. All subscriber management was manual — tracking who paid, granting channel access, checking expiry dates, sending reminders, and revoking access. PayPal payments were taken manually outside the bot, then reconciled by hand.
Solution:
A Telegram bot that handles the entire subscription lifecycle automatically:
• Users open the bot, pick a product, choose a payment method, and get instant access after payment
• Three integrated payment paths: PayPal, PayAnyWay (bank cards), Tribute (cards + Telegram Stars)
• Daily subscription checks: a reminder 3 days before expiry, auto-ban on expiry day
• Products, promo codes, and webinars are managed in a Google Spreadsheet and synced on schedule or on demand
• Admin work stays in Telegram: broadcast to buyers, sync from Sheets on demand
• Full subscriber and subscription dataset imported from the client's materials — no manual re-entry
Result:
The heavy daily grind around payments and access is automated; the client only edits the sheet when content or promos change.
Stack: TypeScript, Grammy, Koa, MongoDB, Railway
Warehouse Management AutomationRead
[Vue.js, TypeScript, Docker, NGINX, Keycloak]
A nationwide warehouse automation system for agrochemical tracking: inventory, documents, counterparties, and receipt logging.
Built a nationwide warehouse automation system for agrochemical tracking. Full-cycle automation: inventory, documents, counterparties, receipt logging, application zones. Led frontend automation from architecture to delivery.
Stack: Vue.js, TypeScript, Nginx, Docker, Keycloak
Internal Process AutomationRead
[Java, Spring Boot, Vue 3, Keycloak, Apache POI]
A centralized internal system that automates daily employee processes — record-keeping, data exchange, reporting, and reference information management.
Problem:
The organization lacked a centralized internal system to automate daily employee processes — record-keeping, data exchange, reporting, and reference information management. Employees relied on scattered tools and manual workflows.
Solution:
Delivered a full-cycle development project: built new modules and enhanced existing ones with role-based access control. Implemented user-facing forms, notification systems, collaboration sections, and structured directories. Contributed to both backend and frontend development.
Key features:
• Role-based access for different employee levels
• Custom forms for data entry and reporting
• Automated notifications and alerts
• Collaboration sections for cross-team interaction
• Structured directories for reference information
• Excel/Word document generation (Apache POI)
Result:
Daily processes automated into a single system. Employees no longer switched between scattered tools. Role-based access ensured data security and appropriate visibility at each level.
Stack: Java, Spring Boot, Vue.js, Apache POI (Excel/Word), Nginx, Keycloak
Enough Habits — App-Like Habit Tracker BotRead
[Telegram API, TypeScript, Node.js, Firestore, Amplitude]
A self-compassion-oriented Telegram habit tracker that treats “good enough” as real progress. Publicly available — try it live at t.me/enough_habits_bot.
Most habit trackers reward only perfect streaks, fueling burnout and guilt when users miss a day. Enough Habits flips the script by treating “good enough” as real progress, so people see they’ve done enough to rest and recharge — without guilt.
What we built — a full-stack TypeScript Telegram bot that turns habit tracking into positive reinforcement:
• Onboarding & philosophy: automatic RU/EN language detection, a compassionate welcome, and a 4-step wizard (three starter habits + time-zone selection)
• Reminder engine: default morning/evening nudges plus optional per-habit reminders at any exact HH:MM, fully time-zone aware
• Daily goal logic: tracks progress toward the “enough” target and sends contextual motivational messages
• Habit management: create, edit, archive, or restore habits at any time
• Progress & calendar: main list, calendar history, streak counters and totals dashboard
• App-like UX: inline keyboards and message-editing flows so it behaves like a lightweight mobile app
Data layer on Firestore with real-time sync; Amplitude analytics and Rollbar error tracking; modular CI/CD backend with zero-downtime releases.
Result: publicly launched and free to try — “Reminded me to keep my habits on track without feeling pressured.”
Stack: TypeScript, Node.js, Telegram API, Firestore, Amplitude, Rollbar. Try it: t.me/enough_habits_bot
Lead Bot + Admin Panel & MailingsRead
[Telegram API, TypeScript, Node.js, MongoDB, Google Sheets]
Telegram lead capture with smart routing and automated nurturing for a creative-services firm — plus an admin console for mailings.
A creative-services firm needed Telegram lead capture, smart routing, and automated nurturing. I built a full-stack bot that:
• greets users, logs handle+source, offers department choice
• stores user data and lead requests in MongoDB + Google Sheets
• alerts team chat with each inquiry
• lets managers mark leads in-progress/closed
• tracks UTM-style links
• provides an admin console to edit bot messages, send targeted mailings, and generate UTM-tagged links
Result:
≈20 hours of managerial time saved monthly; every inquiry auto-logged in a source-tagged Google Sheet for ROI tracking.