~ whoami

Evgenii Gudoshnikov

Frontend for web apps — SaaS, embedded widgets, internal tools, AI chat

I take the frontend of a B2B product from architecture to release, including products that have to run inside someone else's website.

  • in productionon the brand sites of BMW Saudi Arabia and MINI KSA
  • sole architectof a multi-tenant widget, working with C-level engineers
  • built alonean analytics platform that reached production and stayed there

$ ls -la projects/ --sort=impact

Three products that show what I get hired for: a widget that ships into codebases I do not own, an SPA I built alone through to production, and an internal tool where the logic mattered more than the interface.

~/work/salesteq.tsxin production

SalesTeq AI Chat Widget

Embedded assistant for enterprise websites — ships as an npm package and has to survive on stacks I do not control.

period
Nov 2024 — Nov 2025
context
SalesTeq sells an AI assistant that companies put on their own sites. The frontend is delivered as an npm package, so it runs inside sites built by other teams.
my role
Frontend architect — the only person writing it. Worked directly with C-level engineers on the client side.
the hard part
Multi-tenant configuration and theming, a chat that mixes text and voice input, and answers coming from a language model as markdown that had to render as real product components instead of a wall of text.

what I did

  • Split the product into core and UI packages published separately to npm.
  • Documented both packages in Storybook as the contract other teams build against.
  • Built the chat layer for text and voice input.
  • Built the markdown-to-component renderer for streamed model output.
  • Kept per-tenant theming and configuration isolated from the host page.
ReactNext.jsTypeScriptnpm packagesStorybookLLM streaming

Took it from an investor demo to the first production release. I left in November 2025 after a year, and other engineers run it now. Live on the brand sites of BMW Saudi Arabia and MINI KSA.

the widget runs on bmw-saudiarabia.com · mini-ksa.com

~/work/degenmasters.tsxshipped, then closed

DegenMasters

Analytics platform for a web3 product — dashboards, data views and token swap flows.

period
Sep 2023 — Jun 2024
context
An analytics dApp: dashboards, data views and swap flows. I was the only frontend developer on it.
my role
Sole frontend engineer. Built the whole SPA from designs, desktop and mobile, with no handoff back and forth.
the hard part
A data-heavy product with a strict design language across breakpoints, and swap flows wired to contracts written by another team.

what I did

  • SPA architecture on React, TypeScript and Redux.
  • Full desktop and mobile implementation from Figma.
  • Integration with existing contracts through ethers — contract development was not mine.
ReactTypeScriptReduxethers.js

Launched three months after I started, and stayed in production until the business closed the product.

~/work/geoma.tsxinternal tool

Geoma

Turns soil analysis data into print-ready PDF reports.

context
An internal tool for a soil analysis company in Mallorca. Their engineers enter test results, and the system produces a report for construction or mining purposes.
my role
Frontend developer — also covered the backend integration where needed.
the hard part
Not the UI, the data. Structured analysis results had to map onto document templates with tables, charts and page breaks, and stay correct across hundreds of combinations.

what I did

  • Built the data-to-document pipeline with PDF libraries.
  • Typed the mapping layer between analysis data and report structure.
  • Kept the interface utilitarian — it is an internal tool, not a marketing surface.
ReactMaterial UIReduxPDF generationNode.js

In use internally. The interface is deliberately plain; the interesting part is the logic.

# under NDA — the generation flow and the reports carry client data

$ ls projects/ --brief

Smaller scope, same standard. All of them listed, including the one that never launched.

AsiaTour KG

in production

Tour operator platform for Central Asia: public site, tour content, booking flow and admin panel.

  • Admin panel for tour content and pricing.
  • Booking flow and external service integrations.
  • Automated price collection across partner hotels with Playwright.
Next.jsPayload CMSPostgreSQLPlaywrightDocker

In use.

MPInside / Bloggerscan

did not launch

Platform for finding influencers and selling them ad placements.

  • Catalogue, filtering and creator profile screens built to designs.
Next.jsTypeScriptMaterial UI

The frontend was completed; the product did not launch.

Telegram mini apps

in production

Frontend for four web3 mini apps, wired to an existing backend.

  • Audio and video upload.
  • TikTok-style vertical feed for browsing video NFTs.
Next.jsTypeScriptTelegram WebApp

Shipped inside Telegram.

$ grep -r "also shipped" ./

  • Barter marketplaceMigration of the blockchain layer to newer ethers versions on a live marketplace. Small scope, high risk: the payment and swap flows could not break.
  • Lead scraperAutomated B2B lead collection for the travel industry. Playwright with proxy rotation and contact parsing across Eurasian tour operators.

$ cat working-agreement.md

working-agreement.md
  1. 01I take the whole frontend: architecture, component library and the release itself.
  2. 02I ship what I build, rather than handing finished code to someone else to release.
  3. 03Embedded products are familiar ground. I have shipped a widget that had to keep working on websites I do not control.
  4. 04When a project calls for one person rather than two, I cover the backend as well.
  5. 05I work async and reply within a day.

$ cat ./toolkit --grouped

Grouped by layer, not dumped as a word cloud. The notes matter more than the lists.

~/toolkit
$ ls core/TypeScriptReactNext.jsApp RouterReduxZod
$ ls ui/Material UITailwind CSSshadcn/uiDesign systemsResponsive layoutFigma handoff
$ ls packaging/npm publishingCore + UI package splitStorybookComponent API design

# A product that has to run inside someone else's codebase follows different rules than an app you ship yourself.

$ ls backend/Node.jsNestJSPostgreSQLPrismaRedisRabbitMQRESTWebSocket

# I use these when a project needs one person rather than two.

$ ls delivery/DockerGitHub ActionsCI/CDNginxLinuxPlaywright
$ ls ai/LLM API integrationStreaming responsesMarkdown to componentsVoice inputMCP
$ ls chain/ethers.jsWallet connectionContract integration

# Products for fintech and web3 clients. Contracts were written by other teams.


$ ssh eugenegudoshnikov@gmail.com

If you are building a B2B product and need someone who can own the frontend from architecture to release, send me the brief. I reply within a day.

contact — ready