HomeAboutExperienceStackPortfolio

Portfolio

Selected commercial projects and product cases from frontend and fullstack experience.

Fullstack Project

Translead

A service for automatic lead distribution between clients based on tags, limits, and routing rules. Worked as the sole Fullstack Developer on the project. Most architectural and product decisions were made independently due to incomplete initial requirements.

Main responsibilities

  • Developed both frontend and backend parts of the system.
  • Implemented lead routing logic based on tags, sources, clients, and business rules.
  • Built client, source, and tag management functionality.
  • Implemented lead limits, client queues, and distribution logic.
  • Added backend protection against spam and external unauthorized requests.
  • Integrated Telegram and email notifications.

Main challenges

  • Designing the core lead distribution logic.
  • Building a flexible limits and queue system.
  • Working with a high level of uncertainty in product requirements.

What I improved

  • Designed the core service architecture independently.
  • Implemented API keys and backend request protection.
  • Accelerated MVP delivery by using Mantine UI for fast and consistent interface development.
ReactTypeScriptMantineReact RouterZustandAxiosExpressNode.jsnode-telegram-bot-apiNodemailerSequelizePostgreSQLGoogle APIs / Sheets

Frontend Project

PlaytestRadar

An Angular 19 application for organizing game playtests, collecting feedback, publishing devlogs, and managing a feature roadmap. The project includes a public-facing UI for players and testers plus an admin section for reviewing reports and updating roadmap statuses.

Main responsibilities

  • Developed public pages for the overview, game details, devlogs, roadmap, and feedback form.
  • Implemented an admin area protected by an auth guard: dashboard, feedback reports list, report detail view, and roadmap management page.
  • Configured client-side routing and an SSR-ready setup with @angular/ssr.
  • Built data services and shared domain models for game data, devlogs, feedback reports, and roadmap items.
  • Implemented client-side persistence for feedback reports using browser localStorage.
  • Maintained a unit-testable Angular structure with Karma and Jasmine.

Main challenges

  • Designing clear player/tester and admin flows in one application.
  • Keeping feedback state and persistence simple without a backend.
  • Preparing SSR-compatible Angular configuration.

What I improved

  • Structured the application around pages, core services, shared layout, and models.
  • Built roadmap and feedback workflows that can be extended with backend integration later.
  • Kept the runtime setup flexible through SSR-ready Express configuration.
Angular 19TypeScriptAngular RouterAngular SignalsSCSSExpress@angular/ssrlocalStorageKarmaJasmine
GitHub

Frontend Project

Roman Lipka Portfolio

A personal portfolio website built with Next.js, React, TypeScript, and SCSS Modules. The project uses an FSD-inspired structure and includes localized content, language and theme switching, SSR rendering, and cookie-based user preferences.

Main responsibilities

  • Developed portfolio pages for home, about, experience, stack, and project cases.
  • Organized profile, experience, skills, and project data through a typed content model.
  • Implemented language and theme switching with persisted user preferences.
  • Configured SSR-rendered localized content and cookie-based preferences.
  • Built an FSD-inspired structure with separate shared, features, widgets, entities, and views layers.

Main challenges

  • Supporting two languages without duplicating UI logic.
  • Keeping SSR state aligned with client-side language and theme preferences.
  • Maintaining a simple data structure for fast portfolio updates.

What I improved

  • Made the portfolio extensible so new cases can be added through the data model.
  • Split the application into clear layers and reusable UI blocks.
  • Created a stable base for further site development and public presentation of experience.
Next.jsReactTypeScriptSCSS ModulesSSRCookiesFSD-inspired architectureESLint
GitHub

Fullstack Project

Moneyport.ru

A service for international money transfers with a CRM system and client-facing interface. Worked on the frontend part of the main website and internal CRM system, focusing on real-time communication, PWA functionality, and application stability.

Main responsibilities

  • Developed and maintained the frontend part of the platform.
  • Created a real-time chat using WebSocket.
  • Developed PWA functionality for the client platform.
  • Connected browser push notifications.
  • Improved UX, frontend stability, and critical user flows.

Main challenges

  • Implementing stable real-time functionality.
  • Supporting PWA behavior across different user scenarios.
  • Working with GraphQL and complex application state.

What I improved

  • Implemented PWA functionality with offline capabilities.
  • Connected browser push notifications.
  • Participated in refactoring frontend logic and improving application stability.
ReactTypeScriptMobXGraphQLApollo ClientMotionSCSS Modules

Fullstack Project

Capsaty.ru

A platform for creating dynamic forms, collecting submissions, and sending data to email and Telegram. Developed both frontend and backend parts of the project and continued supporting and improving the platform after release.

Main responsibilities

  • Developed a dynamic form builder.
  • Implemented typing and handling for dynamic form fields.
  • Built submission processing and data storage logic.
  • Developed analytics for submissions, forms, dates, and users.
  • Integrated Telegram bots and email notifications.
  • Implemented data export to Excel.

Main challenges

  • Maintaining universal typing for dynamic fields.
  • Building analytics across dates, forms, and users.
  • Supporting an extensible architecture for the form builder.

What I improved

  • Improved the structure for working with dynamic field types.
  • Increased backend stability and maintainability.
  • Participated in designing new platform features.
ReactTypeScriptSCSS ModulesReact RouterRedux ToolkitAxiosMotionJestReact Testing LibraryExpressMulterMySQLnode-telegram-bot-apiNodemailerxlsx

Frontend Project / Backend Microservice

Avtostories.ru

A Telegram Web App for generating stories and advertising images for automotive and construction companies. Worked as the sole Frontend Developer, participated in UX and product decisions, and developed a separate Express microservice for image generation.

Main responsibilities

  • Developed an SPA interface for Telegram Web App.
  • Integrated Telegram Web App API.
  • Created interfaces for generating stories from templates.
  • Worked with animations, UX, and mobile-first interface adaptation.
  • Developed a backend microservice for image generation.
  • Contributed to the landing page and admin panel interfaces.

Main challenges

  • Working within Telegram Web App limitations.
  • Generating images on the backend side.
  • Maintaining a simple and fast UX for content creation.

What I improved

  • Participated in designing user scenarios for quick content generation.
  • Optimized the image generation flow.
  • Coordinated design update tasks and improved interface usability.
ReactTypeScriptSCSS ModulesReact RouterZustandAxiosMotionMantineExpressNodemonNext.js

Frontend Project

Yrasa.ru

A CRM system for managing real estate listings and automating work with Avito feeds. Worked as the sole Frontend Developer. Designed the SPA architecture, implemented complex business logic, and participated in product decision-making.

Main responsibilities

  • Developed interfaces for managing real estate listings.
  • Implemented a complex filtering system with multiple parameters.
  • Built mass editing functionality for listings.
  • Implemented change history with the ability to view and roll back actions.
  • Created listing creation and editing flows inside the CRM.
  • Implemented role-based access control and permission management.
  • Worked with large datasets, tables, and business-specific data flows.

Main challenges

  • Maintaining performance while working with large lists and tables.
  • Implementing complex filtering and mass operation logic.
  • Keeping the SPA stable while business logic changed frequently.

What I improved

  • Optimized list and table rendering.
  • Improved application state structure with Redux Toolkit.
  • Participated in frontend architecture stabilization and refactoring.
ReactTypeScriptRedux ToolkitReact RouterSCSS ModulesAxiosJestReact Testing Library