logo Let's Talk
  • Home
  • About me
  • Projects
  • Contact me
  • telegram_fill
Projects

NetIQ -
AI Chat

  • Link

    https://netiq.ru/

  • Repository

    https://github.com/iamyegor/netiq

banner

Project Overview

This project showcases the development and deployment of a high-performance AI chat application built for complex user interactions and scalability. It moves beyond typical chatbots by introducing a unique conversational branching feature, integrating leading AI models (GPT-4o and GPT-4o mini), and leveraging robust, modern software architecture and DevOps practices.

The platform demonstrates the ability to build and manage resilient, maintainable web applications, connecting sophisticated backend logic with a dynamic frontend and automated deployment workflows.

Key Technologies

  • Backend: ASP.NET Core, C#
  • Frontend: React, TypeScript, React Router
  • Architecture: Microservices, Domain-Driven Design (DDD), Clean Architecture
  • Database: PostgreSQL with Entity Framework Core (including migrations)
  • Infrastructure & DevOps: Docker, Kubernetes (K8s) managed via Helm, GitHub Actions (CI/CD), Virtual Machines
  • APIs & Services: OpenAI API (GPT-4o, GPT-4o mini), Stripe API

Backend Architecture and Implementation

The backend uses a Microservices design for clear separation and independent scaling. Two main services drive the application:

Authentication Service: A dedicated microservice handling user sign-up, login, and email verification. It's built using Domain-Driven Design (DDD) to accurately model authentication logic and Clean Architecture to keep business rules separate from infrastructure details like database access or email sending. This makes the service focused and easier to maintain.

Core Chat Service: This service powers all primary chat functions: saving messages and chats, managing the unique conversation branching, interacting with OpenAI, and handling subscriptions via Stripe. DDD is heavily used here to manage the complexity of conversations, messages, and branching states effectively. Clean Architecture ensures the core logic is independent of external frameworks or databases, promoting testability and flexibility.

Data persistence for user information and chat history is handled by PostgreSQL, accessed efficiently using Entity Framework Core. Database schema changes are managed systematically through EF Core migrations.

Frontend User Interface

The UI is built with React and TypeScript, creating a type-safe, component-based structure that's easier to scale and refactor. Key features include:

On-the-Fly Model Switching: Users can instantly swap between GPT-4o and GPT-4o mini during a conversation, choosing the best AI tool (balancing capability and potential cost/speed) for the current task.

Full Conversational Control: The core innovation is the non-linear chat management: Users can regenerate responses, edit any previous message (theirs or the AI's), and instantly create a new conversational path. This preserves the original history while allowing exploration of "what-if" scenarios. The system tracks all branches, letting users jump between timelines effortlessly.

State Management: The React Context API is used for managing global application state, efficiently handling the complexities of multiple chat histories, branching logic, and real-time UI updates.

Core Chat Functionality: Includes seamless user authentication (connecting to the Auth service), chat creation, message handling, and displaying conversations in real-time.

Deployment Automation and Infrastructure

The project utilizes modern DevOps practices for consistent and automated deployments: A CI/CD pipeline in GitHub Actions automates the entire process from code commit to deployment, building the backend services and frontend app automatically.

Both backend microservices and the frontend are packaged as Docker containers. This ensures they run identically everywhere – locally, in testing, and in production.

The containerized applications are deployed to a Kubernetes (K8s) cluster running on virtual machines. Kubernetes manages the application's lifecycle, scaling, and reliability. Helm is used to manage the Kubernetes deployment configurations, making deployments and updates more predictable and repeatable.

Conclusion

This AI Chat Platform project demonstrates practical expertise in building sophisticated, full-stack web applications. It effectively applies architectural patterns like Microservices, Domain-Driven Design, and Clean Architecture to tackle complex requirements, particularly the innovative chat branching feature. The implementation showcases strong skills across the technology stack (ASP.NET Core, React, TypeScript, PostgreSQL) and proficiency in modern DevOps workflows (Docker, Kubernetes, Helm, CI/CD). Ultimately, this project represents the capability to engineer, deploy, and manage scalable, feature-rich applications ready for real-world use.

Portfolio

Related work

Project preview
WEB AI DEVELOPMENT

Reform Proposal Hub

Project preview
WEB DEVELOPMENT

Attire - E-Commerce Store

Let's
work together

  • telegram_fill

Looking for a full-stack
developer?

[email protected]

©2025 All Rights Reserved

Back to Top