RAG Knowledge Assistant with Human HandoffRead
[NekaSoft products & demos]
[AI assistants, Leads & sales, TypeScript, Node.js, Next.js, OpenAI API, Semantic search, Telegram Bot API]
A production RAG assistant grounded in NekaSoft's business knowledge: semantic retrieval, cited sources, a test mode for your own data, and handoff of the conversation to a human. Live on this site, with @NekaSoftBot as a separate Telegram demo.
NekaSoft wanted to show its RAG expertise not through a technology description, but through a working interactive product. Instead of writing that the team builds RAG systems, we built a live AI assistant a potential client can try right on the site: ask questions about NekaSoft, get answers from the real knowledge base, see the sources used, add their own test data, and immediately check how the same RAG pipeline works with their information.
The task was to build a real RAG system with a dedicated knowledge base, not a chatbot with a big system prompt: answers grounded in retrieved context, semantic retrieval, visible sources, an honest refusal when the knowledge base has no answer, a visitor test mode with isolated temporary data, human handoff, and an architecture not hard-wired to one site or one data format.
NekaSoft owned the product concept, user scenarios, RAG architecture, knowledge-base structure, ingestion and indexing, embeddings and semantic retrieval, AI orchestration and grounding, the refusal logic, citations, the web interface, the own-data test mode with session isolation and automatic deletion after 1 hour, human handoff with the team's Telegram as the working channel, deployment, and further development.
How it works: on every question the assistant retrieves the most relevant fragments from an indexed knowledge base (NekaSoft's base covers project kinds and typical situations, portfolio cases, the process, FAQ, and company facts), passes them to the model as context, and returns a grounded answer with sources. If there is no relevant context, it says the knowledge base has no answer and offers to hand the conversation to the team: a team member replies from Telegram, and the answer arrives back in the same web dialog. The knowledge base rebuilds automatically from the site's own content on every deployment. A visitor can add their own text: it goes through the same pipeline, is used only within their session, never enters NekaSoft's permanent base, and is deleted automatically after 1 hour.
The solution exists in two working interfaces: the web assistant on this site (sources, own-data test, human handoff) and @NekaSoftBot, a standalone Telegram RAG demo. The same architecture can be connected to websites, internal knowledge bases, documents, CRM systems, databases, and APIs, and can power different client channels: sales, support, onboarding, internal knowledge, or policy assistants.
Stack: TypeScript, Node.js; web: Next.js, OpenAI API (embeddings and semantic search); Telegram demo: grammY, MongoDB, Telegram Bot API. Try it: the chat on this site or t.me/NekaSoftBot
NekaWatch: AI Website Monitoring SaaSRead
[NekaSoft products & demos]
[Data monitoring, AI assistants, Next.js, Node.js, TypeScript, Supabase, LLM, Web Scraping, Telegram API, Paddle]
Our own production SaaS for AI website monitoring: describe in plain words what to track, and NekaWatch finds it on the page, watches it on schedule, detects specific changes, and notifies you. No CSS selectors, no XPath. Live at nekawatch.com.
Problem:
Classic website monitoring needs either manual checks or a custom parser tied to the page's HTML structure: CSS selectors, XPath, and extraction logic configured per page. Such parsers take a developer to set up and break when the markup changes. The goal was a universal product where a non-technical user simply describes, in plain words, which data to watch.
Solution:
NekaWatch, a commercial production SaaS for AI website monitoring, developed and operated by NekaSoft. The user points at a page and describes the data in natural language: a price, availability, a date, a status, a quantity, a deadline, or several values in one monitor at once. The platform analyzes the page with an LLM, extracts exactly the described fields into a structured snapshot, and shows right after creation what it found, so the user can confirm the right thing is tracked.
Checks run on a schedule set by the user. Each new snapshot is compared with the previous one, and the system reports what exactly changed, appeared, or disappeared, field by field: was → became, instead of a generic "something on the page changed". Semantic extraction makes monitoring less dependent on the page's markup than selector-based scraping, so a redesign usually does not break a monitor. Retries and error handling separate a real data change from a temporary failure to fetch or analyze the page, and the monitor's status makes errors visible. Notifications arrive by email and Telegram; webhook delivery plugs detected changes into external automated workflows. Current state, found changes, and full history live in the dashboard.
NekaWatch is a full SaaS product, built by NekaSoft end to end: product concept, UX/UI, architecture, frontend and backend, web scraping and AI extraction, the structured data model, snapshot comparison, scheduled jobs, user accounts with email and social login (Google, GitHub), subscription plans with limits, billing with Paddle integration, deployment, and production infrastructure. The product runs in three languages: English, Russian, and Serbian.
Typical scenarios: prices, stock availability, competitor data, vacancies, tenders, deadlines, and other structured information published on web pages.
Stack: Next.js, Node.js, TypeScript, Supabase, LLM extraction, web scraping, Telegram API, Paddle. Live: nekawatch.com
Helpdesk IntegrationRead
[Customer support, Telegram API, TypeScript, Node.js, MongoDB, REST API]
A Telegram support channel connected to the client's existing helpdesk: user requests become tickets automatically, agents reply from their usual system, and the conversation stays in sync both ways, attachments included.
Problem:
A major digital service with a large user base needed an additional customer support channel in Telegram. Users had to be able to talk to support in Telegram, while the support team kept working in its existing helpdesk system. The client came with a high-level business goal only; the architecture, user scenarios, and the mechanics of the integration were designed by NekaSoft.
Solution:
NekaSoft built a Telegram bot as the external interface of the support system, integrated with the helpdesk via API and webhooks. A user sends a request in Telegram, and the system automatically creates a ticket in the helpdesk. A support agent replies in the familiar helpdesk system, and the answer is automatically delivered back to the user in Telegram. The rest of the conversation is synchronized in both directions, including images, files, and other attachments. NekaSoft owned the architecture, user scenarios, request routing, the API and webhook integration, two-way message exchange, backend, DevOps, deployment, monitoring, and further technical support. The key point: the new support channel was added without changing the support team's core workflow.
Result:
• Telegram requests turned into helpdesk tickets automatically
• Support agents no longer had to move messages between systems by hand
• Users received answers directly in Telegram
• All communication remained part of a single helpdesk process
• By the client's own measurements, request processing time dropped by 40%
From the task statement to launch in production took less than a month.
Stack: TypeScript, Node.js, Telegram API, MongoDB, REST API, webhooks
Cross-Platform VPN ClientRead
[Websites & apps, Electron, Cordova, TypeScript / JavaScript, Xray, Swift]
Client applications for a commercial VPN product on Windows, macOS, Linux, Android, and iOS: from architecture and Xray integration to store publication and post-release support.
The client set out to launch their own VPN product. NekaSoft joined at the start and took on the technical delivery of the client applications for Windows, macOS, Linux, Android, and iOS. The client brought clear business requirements and ready design mockups; the choice of technical approach, architecture, and tools was on NekaSoft.
What NekaSoft owned: the technical approach and application foundation, solution architecture, desktop and mobile client development, Xray integration to the client's requirements, complex network logic and routing, backend, DevOps, build and release infrastructure, code signing, certificates and provisioning profiles, store publication for each platform, and post-release technical support.
Solution: the applications were built with cross-platform technologies, Electron for Windows, macOS, and Linux, and Cordova for iOS and Android, with the main development in JavaScript/TypeScript. Native code was added selectively where platform-specific integration required it, including Swift on Apple platforms. The product includes Xray, custom routing, and other complex network logic. A separate part of the project was the full release cycle: builds, code signing, certificates, provisioning profiles, and publication to the requirements of each platform and store. The Apple ecosystem was the hardest part, combining the network implementation, platform restrictions, and publication requirements at once.
Result: a production-ready VPN product with applications on all five platforms, published and used by real customers as the client side of a commercial VPN service. The main development ran for about two years. After the main cycle, the product continued to evolve with the growing involvement of the client's in-house technical team; the applications remain in production and in commercial use to this day.
Stack: Electron, Cordova, TypeScript/JavaScript, Xray, Swift for native integrations
Data MonitoringRead
[Data monitoring, Reports & documents, Java, Spring Boot, Selenium, PostgreSQL, Apache POI]
Automated collection and analytics of economic data from 7 external sources: around 50 calculated indicators and analytical views feeding public dashboards.
Problem:
The client was developing a public analytics offering for experts and a professional audience: their website was to regularly publish up-to-date economic indicators, analytical views, charts, and dashboards. The source data was spread across 7 external sources, including websites of various organizations and regularly published Excel exports. Most of the sources had no API: part of the information had to be collected straight from web pages with an automated browser, and part extracted from Excel files with a complex structure. They needed a reliable backend that runs the whole process automatically, from raw source data to indicators ready for the site.
Solution:
During discovery, the team worked out the set of indicators, the structure of the analytical views, and the calculation rules; the calculation methodology was provided by the client's experts, and NekaSoft took part in reviewing and discussing it. For sources without an API, automated collection was built with Selenium. A separate part of the system parses Excel exports, finds the needed tables, rows, and values, and maps them to an internal data structure. The backend then aggregates data from all sources, runs the calculations, stores the results, and serves them to the frontend over a REST API. The frontend was built by a separate team. The full data refresh cycle runs 4 times a month.
Result:
• Data collection automated across 7 external sources
• Both web sources and Excel exports are handled
• Around 50 indicators and analytical views are calculated
• A single backend for collection, normalization, aggregation, and calculations
• REST API for the frontend integration
• Data refreshes automatically 4 times a month
• New indicators and reports can be added as the analytics product grows
The first working version took about a month and a half. The service has been running for 4 years and is still supported by NekaSoft: collection adapted to changes in the external sources, refined calculation logic, and new analytical reports.
Stack: Java, Spring Boot, Selenium, PostgreSQL, Apache POI
Corporate Learning PlatformRead
[Knowledge base & training, Internal systems, Moodle, Configured plugins, Custom macros, Custom analytics, DevOps]
A unified corporate training system for a distributed organization with 1,000+ locations, built on open-source Moodle: onboarding, courses, certification, gamification, and extended analytics, launched in about 1-2 months.
Problem:
A large distributed organization with more than 1,000 locations and tens of thousands of employees needed a unified corporate training system. Before the project, training was fragmented: PDF files and other scattered materials, with no single platform to run courses, track completion, or handle certification. The system had to cover onboarding for new employees, training for new job responsibilities, professional development, certification, and regular internal training. The client came with business requirements but no chosen technical solution, and set one hard constraint: the platform had to be free and open source.
Solution:
NekaSoft ran interviews and requirements analysis, evaluated the options, and chose Moodle as the free open-source foundation of the LMS, then adapted it to the processes of a large distributed organization: full configuration, a role model, selection and configuration of ready-made plugins, custom macros and the needed customizations, integrations, migration and organization of learning materials, DevOps, extended analytics and reporting, production launch, administrator training, and ongoing support. The client often stated a business task rather than a specific feature: the requirement to raise employee engagement, for example, was translated by NekaSoft into concrete mechanics: gamification, achievements, competitive elements, and a leaderboard.
Result:
Training became centralized and systematic: employees take training and certification through a single LMS, new hires get one unified onboarding process, around 20 administrators run courses and content from one system, and leadership gets analytics on training completion. The initial cycle of analysis, platform selection, configuration, and launch took about 1-2 months. The system is live in production, and NekaSoft continues to support and develop it.
Stack: Moodle, configured plugins, custom macros, custom analytics, DevOps
Corporate Knowledge BaseRead
[Knowledge base & training, Internal systems, XWiki, Matomo, Custom XWiki macros, Custom analytics, DevOps, TypeScript]
A single corporate knowledge base for a distributed organization with 1,000+ locations and tens of thousands of employees: platform selection, custom XWiki macros and extensions, integrations, and a dedicated analytics layer. In production for over two years.
Problem:
A large distributed organization with more than 1,000 locations and tens of thousands of employees needed a single corporate knowledge base. An earlier attempt had never reached wide adoption: in practice the system was used mostly by the small group of employees responsible for filling it with content. The client came with business needs and requirements rather than a ready technical solution, and set one hard constraint: the platform had to be free and open source.
Solution:
NekaSoft was responsible for everything except the subject matter of the content: interviews and requirements analysis, platform selection and the technical solution, consulting on information architecture, XWiki deployment and configuration, roles and access rights, security and reliable operation, content migration, custom XWiki macros and extensions, integrations, DevOps, a dedicated analytics and reporting layer, launch, training for editors and administrators, and ongoing support and development. Content structure stayed with the client's own subject-matter specialist, and the information architecture was worked through and refined together with them. Statistics run on Matomo plus our own collection and reporting mechanisms, so the organization can see which materials are actually used.
Result:
The knowledge base became a genuinely used single internal source of knowledge for 1,000+ locations and tens of thousands of employees, maintained by around 20 content editors. It has been in production for more than two years, use of materials is tracked through dedicated analytics, the project has repeatedly been presented inside the organization as a successful initiative and is rated positively by leadership, and NekaSoft still supports and develops the system under an active contract.
Stack: XWiki, Matomo, custom XWiki macros and extensions, custom analytics service, DevOps, TypeScript
Workload Reporting AutomationRead
[Reports & documents, Internal systems, TypeScript, Node.js, Telegram API, MongoDB, ExcelJS]
A reporting automation system with a Telegram interface: CRM and Excel data consolidated, validated, and turned into standardized management reports, saving managers 10+ hours every week.
Several managers regularly prepared management reports based on data of 100+ employees. The data lived in a CRM, Excel exports, and scattered spreadsheets: managers collected and cross-checked it by hand, hunted for discrepancies, and assembled the final reports, spending 10+ hours of manual work every week. Errors and inconsistencies in the source data were a separate problem. The client came with a business goal, not a technical specification: automate the process and make it possible to produce different report types with the needed filters and formats.
NekaSoft owned the full cycle: employee interviews, analysis of the existing process, design of the new workflow, interface mockups and sign-off, architecture, backend, the user interface, CRM and API integration, Excel export processing, DevOps, rollout, training, and ongoing support and development.
Solution: the user interface of the system is a Telegram bot, but Telegram is only the interface of a larger reporting automation system. A manager picks the report type, parameters, and filters right in Telegram and starts report generation. Behind that, an analytics system pulls data from the CRM and Excel exports, merges and processes it, checks the source data for errors and inconsistencies, tells the manager what needs fixing, lets the report be rebuilt after corrections, and produces standardized reports in the required formats.
Result: managers save 10+ hours of manual work every week; reports are generated straight from Telegram with the chosen parameters and filters; the system automatically catches errors and inconsistencies in the source data, so they are fixed before reaching the final management reports; reports follow one standard. The system is used every few days for reporting on the data of 100+ employees. From the first discussions to the working solution took about two months; the system remains in production, and NekaSoft has been supporting it for over half a year, adding new reports and functionality as new needs appear.
Stack: Node.js, TypeScript, grammY, Koa, MongoDB, ExcelJS, CRM integration
Online Sales & Paid Community PlatformRead
[Payments & subscriptions, Leads & sales, TypeScript, grammY, Koa, MongoDB, Railway, Google Sheets]
The digital sales infrastructure of an expert business with a 20,000+ audience: a website, online payments, subscriptions, and a paid Telegram community with automated access management.
Problem:
The client, an expert with a public audience of 20,000+, was already selling webinars, educational programs, and other digital products, but the purchase process was not organized as a complete, convenient online flow. Users needed a clear path from choosing a product to paying online, and the business needed the technical infrastructure to accept payments, manage products, and scale. A separate opportunity was a new monetization format: a private paid Telegram community with a recurring subscription, which did not yet exist as a product. The project did not start from a detailed specification: the client brought top-level business goals, and NekaSoft ran discovery and interviews, worked out the user scenarios, and took on most of the product and technical decisions.
Solution:
NekaSoft built one connected digital infrastructure for two monetization scenarios. Online sales: the existing products got a complete online purchase flow; NekaSoft designed the site structure and user journey, prepared the design, developed the site, and integrated the payment infrastructure. Paid community: NekaSoft designed the subscription mechanics and built a Telegram bot through which users buy access; after payment the system runs the whole subscription lifecycle automatically: renewals, adding users to private Telegram spaces, expiry tracking, advance warnings before a subscription ends, keeping access after renewal and closing it once a subscription expires. The bot also sells additional products and webinars, supports admin operations and broadcasts, and uses Google Sheets to manage part of the products, promo codes, and content. Over the years the payment infrastructure evolved: YooKassa, PayPal, PayAnyWay, Tribute, and Telegram Stars were connected at different stages, and the system adapted to those changes without a rebuild. NekaSoft also guided the setup of the payment infrastructure and the related organizational processes needed to launch online sales.
Result:
• Existing products got full online payment, and the purchase path became much more convenient
• A new product was created and launched: a private paid Telegram community
• The full subscription lifecycle and access management are automated, with no constant manual checks
• Several payment solutions connected over the years
• The site and Telegram work as complementary sales channels
• New products, webinars, and payment methods can be added without rebuilding the system
• According to the client, the launch of the new online sales infrastructure and the paid community created a new revenue stream and showed positive business results
The first working version launched in about 2 months. The system has been in production for about 3 years and is still supported and developed by NekaSoft.
Stack: TypeScript, grammY, Koa, MongoDB, Railway, Google Sheets; payments over the years: YooKassa, PayPal, PayAnyWay, Tribute, Telegram Stars
Inventory & Traceability PlatformRead
[Internal systems, Vue.js, TypeScript, Java, Docker, Keycloak]
An inventory and end-to-end traceability system for regulated products, covering their whole lifecycle: intake, storage, transfers, usage, and final disposal.
A large distributed organization in a regulated industry needed a single system for inventory management and end-to-end traceability of regulated products across their whole lifecycle. The client had a high-level specification; turning it into a working system required detailed analysis of regulatory requirements, interviews with future users, and study of the real business processes. The task was much broader than typical warehouse management.
NekaSoft owned discovery and user interviews, analysis of regulatory requirements, detailing the specification, formalizing business requirements, designing business processes and procedures, user scenarios, screen and interface design, system architecture, the role model and access rights, integration design, and infrastructure and DevOps requirements. NekaSoft designed the solution and participated in its implementation together with the other engineering teams involved in the project, prepared the production launch, and trained users.
The system covers product intake and registration, warehouse storage and stock levels, transfers between participants, acceptance and handover, write-offs, operations with counterparties, product usage, the territorial objects connected to usage, final disposal, accompanying documents, operation history, reporting, a complex role model, and notifications for the parties involved. Every significant operation is linked to participants, tracked objects, and documents, preserving an end-to-end history of product movement.
Result: a single digital system that traces the origin and current status of products, tracks movement between participants, records operations and documents, covers storage, usage, and final disposal, works with territorial objects, produces reporting, and gives a large number of different roles shared, uniform processes. The initial delivery took about six months; after the launch, further operation and development were handed over to the client's internal team.
Stack: Vue.js, TypeScript, Java, Spring Boot, Nginx, Docker, Keycloak
Internal Process AutomationRead
[Internal systems, Reports & documents, Java, Spring Boot, Vue 3, Keycloak, Nginx, Apache POI]
A custom project and workflow management system, delivered end to end: from stakeholder interviews and process analysis to launch, training, and ongoing support.
The client came with business goals and internal regulations, not a ready technical specification. NekaSoft owned the full cycle: stakeholder interviews, analysis of existing business processes, mapping real work against internal regulations, functional requirements, workflow and interface design, Figma prototypes agreed with leadership and future users, technical architecture, backend, frontend, DevOps and production infrastructure, production launch, employee training, and ongoing support.
The system: employees run projects and the workflows connected to them in one place. Role-based access, forms and structured workflows, automatic notifications, shared directories, collaboration features, and Excel/Word document generation. It was designed around the organization's real processes and internal regulations, not around the constraints of an off-the-shelf project management product.
Result: the system became part of daily work and is used by around 50 employees in different roles. Responsibility for each stage of a process is explicit and recorded in the system, the risk of lost tasks and gaps between stages went down substantially, notifications became part of everyday workflows, and leadership got a clearer picture of ongoing work. From the first interviews to the production launch, the project took about six months; after launch NekaSoft continued to support and develop the system.
Stack: Java, Spring Boot, Vue.js, Apache POI (Excel/Word), Nginx, Keycloak. Figma was used for prototyping.
Enough Habits: Sustainable Habit TrackerRead
[NekaSoft products & demos]
[Websites & apps, React Native, TypeScript, Node.js, MongoDB, Firebase Cloud Messaging, grammY]
NekaSoft's own habit tracker built around a sufficient minimum: the user decides how many habits make a day successful. A mobile application for iOS and Android plus an app-like Telegram interface. Try the bot: t.me/enough_habits_bot.
Most habit trackers reward completing the whole list, so habits turn into one more list of obligations and feed all-or-nothing behavior. Enough Habits, NekaSoft's own product, uses a different model: the user decides in advance how many habits are enough for a successful day.
The mechanic: the user creates a set of habits (say, 7) and sets a daily target (say, 3). Completing any 3 of the 7 makes the day successful; the rest can be done, but the product does not require it. The philosophy lives in the domain logic itself, not only in the copy: the daily target is fixed for the day, and success is defined as reaching that chosen minimum. Statistics, streaks, and a calendar history of successful days build on top of it.
The product has two full interfaces. The main one is a mobile application for iOS and Android on a single React Native codebase: instant start from local cache, push notifications, account management, and habit, statistics, and settings screens, backed by NekaSoft's own backend API (Node.js, Koa, MongoDB, JWT authentication). The second is an app-like Telegram interface: instead of a stream of commands and messages, one editable screen with tab-like inline navigation, habit management with archive and manual ordering, an inline calendar with retroactive check-ins, statistics, and RU/EN localization. The mobile application and the Telegram experience share the same core product model while operating as separate user channels: accounts and data are not synchronized between them.
Reminders are a dedicated piece of engineering: morning, evening, and per-habit notifications are scheduled in the user's local time. The Telegram side runs an adaptive scheduler that wakes up exactly for the next due notification instead of polling, recalculates schedules after every send and on timezone changes, and handles blocked users gracefully; the mobile side delivers push notifications through Firebase Cloud Messaging with atomic claiming that prevents duplicate sends and automatic cleanup of invalid tokens.
In production: Amplitude analytics and Rollbar error monitoring on the Telegram side, Firebase Crashlytics in the mobile app, health checks and structured logging in the backend, deployment on Railway. Real users track their habits daily, including long-term ones.
Stack: React Native, React, TypeScript, Node.js, Koa, MongoDB, grammY, Firebase Cloud Messaging, Firebase Crashlytics, Amplitude, Rollbar, Railway. Try it: the Android app on Google Play (play.google.com/store/apps/details?id=com.enoughhabitsmobile) or the Telegram version t.me/enough_habits_bot
Lead Capture & Sales Automation PlatformRead
[Leads & sales, Internal systems, Telegram API, TypeScript, Node.js, MongoDB, Google Sheets]
A lead capture and processing system for a creative services agency: a Telegram entry point, source attribution, lead statuses, an admin interface, and segmented broadcasts.
A creative services agency attracts clients through advertising, its own creative placements, partner placements, and other external channels; links leading to Telegram are used across different placements. The agency needed a single entry point where a potential client can quickly leave a request, and the team immediately receives a structured lead with information about the request and the source it came from. The project started from a business goal, not a ready technical solution: before development, NekaSoft ran discovery, studied the business processes, and worked out the funnel, user scenarios, and the way managers would handle incoming requests.
NekaSoft owned the full cycle: discovery, business process analysis, funnel design, user scenarios, solution architecture, the Telegram bot, the backend and business logic, data storage, the Google Sheets integration, the lead source tracking mechanics, the lead status system, the admin interface, content management, audience segmentation, broadcasts, marketing link generation, deployment, launch, and further support and development.
The system became a single entry point for requests from different advertising and partner channels. Each placement can use its own link with a source identifier. After following the link, the bot guides the user through a short scenario, helps pick the right direction, and collects the details of the request. The data is automatically saved to MongoDB, passed to Google Sheets, linked to the acquisition source, and made available to the team for further processing; the team gets the information about a new potential client and can track the further status of the request. A separate admin interface lets the agency edit texts and content, manage marketing links, work with statuses, build audience segments, and run broadcasts to selected segments.
Result: the agency got a single managed channel for handling requests from different sources. Leads are collected and structured automatically, every request keeps its acquisition source, marketing links make it possible to track where requests come from, and segmentation and broadcasts let the team re-engage the accumulated audience. According to the client, conversion improved after the system was launched. The first working version was delivered in about a month; the system has been in use for over a year, keeps bringing in clients, and NekaSoft continues to support it.
Stack: TypeScript, Node.js, Telegram API, MongoDB, Google Sheets