Dmitriy Roi
Dmitriy Roi — Senior Frontend Developer (Vue, Nuxt, TypeScript, AI)

Hi 👋 — I'mDmitriy RoiSenior Frontend Developer — Vue, Nuxt & AI Integration7+ years building production-grade SaaS and AI-powered products.

Scroll

About

I am a Senior Frontend Developer with over 7 years of experience building high-performance SaaS platforms and AI-powered products. I combine deep Vue.js / Nuxt expertise with AI integration — from agents and chatbots (OpenAI, Claude, Gemini) to intelligent interfaces that transform the way users interact with your product.

Skills

HTML 5HTML 5
CSS 3CSS 3
JavaScriptJavaScript
TypeScriptTypeScript
Sass / SCSSSass / SCSS
Tailwind CSSTailwind CSS
BootstrapBootstrap
Vue 2 | 3Vue 2 | 3
Nuxt 2 | 3Nuxt 2 | 3
Node.jsNode.js
jQueryjQuery
GitGit
npm | Yarnnpm | Yarn
WordPressWordPress
PHPPHP
MySQLMySQL
VS CodeVS Code
OpenAIOpenAI
Claude AIClaude AI
Gemini AIGemini AI
Cursor AICursor AI
LaravelLaravel

Portfolio

VeilCast — Esoteric AI That Remembers You

AI-powered divination SaaS unifying six esoteric traditions — tarot, astrology, I-Ching, runes, numerology, and dream interpretation — into a single private grimoire that learns from every session. Built with Nuxt 3, Vue 3, TypeScript, Pinia, Tailwind CSS, Supabase, and OpenAI.

Vue 3
Nuxt 3
TypeScript
Pinia
Tailwind CSS
+8

VibeOffer — AI-Powered Job Search Platform

AI-driven job-search SaaS aggregating vacancies from 28 sources (Djinni, DOU, Work.ua, Jooble, LinkedIn, Telegram, and more), with an AI scoring system (0–100), auto-application agent, cover-letter generation for 10 platforms, ATS-checked resume editor, interview tracker with STAR-method prompts, 9 PDF resume templates, public QR business card, and a conversion-funnel analytics dashboard. Built with Nuxt 3, Vue 3, Supabase, Tailwind CSS, and OpenAI.

Vue 3
Nuxt 3
Tailwind CSS
Pinia
Supabase
+7

Intensifly — Profit Intelligence Engine

SaaS platform that gives small-business owners (cafes, dental clinics, bakeries, auto workshops, farms, rentals) real costs, margins, and profit health at a glance. Cashflow calendar, per-product cost breakdowns, three-indicator Profit Health Score (Earning Power, Owner Capacity, Trust), and an AI chat assistant for what-if scenarios. Docker-based deployment. Built with Nuxt 3, Vue 3, TypeScript, and AI integration.

Vue 3
Nuxt 3
Pinia
TypeScript
JavaScript
+7

AI Crypto Portfolio — Quant-grade Allocation SaaS

SaaS for building and optimising AI-powered cryptocurrency portfolios from on-chain quant signals — without Twitter / Telegram noise. Drag-and-drop builder, real-time monitoring, 100% risk-free simulator against live market data, three strategy postures (Conservative / Moderate / Aggressive), side-by-side comparison, CSV export, AI-generated crypto news and analytical blog. Built with Nuxt 3, Vue 3, PrimeVue, and OpenAI / OpenRouter.

Vue 3
Nuxt 3
Pinia
TypeScript
Tailwind CSS
+8

GenCard AI — AI-Powered Digital Business Cards

SaaS for creating personalised digital business cards with AI auto-fill. Profile editor, social links management, custom design presets, QR-code sharing, NFC support, live device preview. AI generates bio and services based on a few user inputs. Built with Nuxt 3, Vue 3, Tailwind CSS, and OpenAI.

Vue 3
Nuxt 3
Tailwind CSS
Pinia
OpenAI / AI Chat
+5

FolioHair — E-commerce SaaS for Beauty Professionals

E-commerce platform for the beauty industry — sells ready-to-use PDF guides and checklists from industry experts. Product catalog with sale timers, cart and checkout, multi-language support, mobile-first responsive design. Built with Nuxt 3, Vue 3, Tailwind CSS.

Vue 3
Nuxt 3
Tailwind CSS
Pinia
TypeScript
+4

MKYD — Data Synthesis & Anonymisation Platform

SaaS for data management and transformation. Column-level data synthesis and anonymisation, input/output data mapping, distribution visualisation, custom data-domain configuration, project management. Clean professional UI. Built with Vue 3, Nuxt 3, TypeScript.

Vue 3
Nuxt 3
TypeScript
JavaScript
HTML5
+3

Sports Betting Platform — User Cabinet & Wagering

Sports betting SaaS with a full personal cabinet — deposits, withdrawals, betting history, transaction log, multi-currency support, real-time wager status, role-based access. Built with Nuxt 3, Vue 3, Vuetify 3, Pinia, TypeScript.

Vue 3
Nuxt 3
Vuetify 3
Pinia
JavaScript
+6

Sports Betting Admin Console

Operations SaaS for a sports betting platform. Granular role management (admin, manager, cashier), player balance top-ups and withdrawals, bet statistics, dashboards for cashflow and bet volumes, full audit log. Built with Nuxt 3, Vue 3, Vuetify 3, Pinia, TypeScript.

Vue 3
Nuxt 3
Vuetify 3
Pinia
JavaScript
+6

BetInbox — Marketing Platform for Sports Betting

Marketing site for a sports betting brand, built as a fully dynamic Nuxt 3 + Strapi platform. Every section, copy block, and asset is editable from the headless CMS — no code required. Multi-language, SSR for SEO. Built with Nuxt 3, Vue 3, Vuetify 3, Pinia, Strapi, TypeScript.

Vue 3
Nuxt 3
Vuetify 3
Pinia
Strapi.io
+7

Short-Link SaaS with Teams, QR & Analytics

Short-link SaaS with teams, organisations, subscription tiers, QR-code sharing, and per-link analytics. Bitly-like, but with org-shared link spaces and a freemium pricing model. Built with Nuxt 3, Vue 3, Vuetify 3, Pinia, GraphQL.

Vue 3
Nuxt 3
Vuetify 3
Pinia
GraphQL
+7

IndividualMath — Adaptive Math Learning Platform

SaaS for adaptive math learning, grades 4–11. Role-based dashboards (student, teacher), KaTeX-rendered formulas, adaptive problem difficulty per student, progress tracking per topic. Built with Vue.js, Nuxt.js, Vuetify, Vuex.

Vue.js
Nuxt.js
Vuetify
Vuex
JavaScript
+4

Jeanne Assurance — Multi-language Insurance Portal

Multi-language insurance portal with Strapi.io content editing, dynamic application forms, and SSR for SEO. Built with Nuxt 3, Vue 3, Vuetify 3, Pinia, Strapi, TypeScript.

Vue 3
Nuxt 3
Vuetify 3
Pinia
Strapi.io
+7

Insurance Portal — Multi-language & Strapi-driven

Multi-language insurance portal with Strapi.io content editing, dynamic forms, and SSR for SEO. Built with Nuxt 3, Vue 3, Vuetify 3, Pinia, Strapi, TypeScript.

Vue 3
Nuxt 3
Vuetify 3
Pinia
Strapi.io
+7

Restaurant Platform — Strapi-driven, Multi-language

Multi-language restaurant platform on Nuxt 3 + Strapi — menu, hours, contact forms, gallery editable by the client without code. Built with Nuxt 3, Vue 3, Vuetify 3, Pinia, Strapi, TypeScript.

Vue 3
Nuxt 3
Vuetify 3
Pinia
Strapi.io
+7

Dispatch — Logistics Platform with Editable Content

Logistics dispatch platform on Nuxt 3 + Strapi with multi-language UI and editable sections. Dynamic forms, content blocks, multi-language. Built with Nuxt 3, Vue 3, Vuetify 3, Pinia, Strapi, TypeScript.

Vue 3
Nuxt 3
Vuetify 3
Pinia
Strapi.io
+7

Construction Platform — Catalog & Multi-language

Multi-page construction company platform with product catalog on Nuxt 3 + Strapi. Editable sections, dynamic forms, multi-language. Built with Nuxt 3, Vue 3, Vuetify 3, Pinia, Strapi, TypeScript.

Vue 3
Nuxt 3
Vuetify 3
Pinia
Strapi.io
+7

Recreational Center Platform on WordPress

Recreational center platform on WordPress with custom Ajax booking form, ACF-driven flexible content, multi-language support, and a tuned admin UX. Built with WordPress, ACF, PHP, MySQL, SCSS.

WordPress
PHP
JavaScript
HTML5
CSS3
+3

Barcelona — E-commerce Conference Landing

Landing page for the Barcelona e-commerce conference (07/01/2022). Dark theme with animated 3D bull graphic, partner logos, event schedule, speaker grid, ticket purchase flow. Designed for senior marketers and brand decision-makers.

JavaScript
HTML5
CSS3
SCSS

Dubai — E-commerce Conference Landing

Landing page for the Dubai e-commerce conference. Orange-themed design with event schedule, experience highlights, video testimonials from past attendees, TikTok integration. Animated statistics and multi-day agenda.

JavaScript
HTML5
CSS3
SCSS

Miami — E-commerce Conference Landing

Landing page for the Miami e-commerce conference. Gradient orange-blue design with schedule slider, testimonials, money-back guarantee section, pricing tiers, FAQ, responsive across devices.

JavaScript
HTML5
CSS3
SCSS

Christmas — E-commerce Conference Landing

Landing page for the Christmas edition of the e-commerce conference. Brown / gold themed design, countdown timer, event philosophy sections, testimonials grid, content preview, buy-tickets CTA.

JavaScript
HTML5
CSS3
SCSS

Send — E-commerce Conference Landing

Premium brown-gold landing for an e-commerce conference edition. Focus on community values — event history, content preview, extensive testimonials, FAQ.

JavaScript
HTML5
CSS3
SCSS

CAMSTAL — Industrial Equipment Landing

Lightweight landing for an industrial equipment vendor (factories and plants). PHP + MySQL backend, Gulp build, contact form persisting to DB. Mobile-first responsive.

MySQL
PHP
JavaScript
HTML5
CSS3
+3

Erchelpers — Webflow Landing

Webflow landing built with client-editable CMS components. Animations, micro-interactions, full ownership transferred to the client. SEO-ready, responsive across devices.

JavaScript
HTML5
CSS3
Webflow
REST API

What clients say

A few words from the people I've shipped products with.

"Dmitriy shipped our Vue 3 + Nuxt SaaS in four months — clean architecture, no surprises at code review, and the OpenAI integration we were afraid of turned out to be the smoothest part of the build. A rare freelancer who actually owns the work end-to-end."

SK

Sarah Kowalski

Product Lead at FinFlow

"Hired Dmitriy to refactor our Nuxt 2 codebase to Nuxt 3 with TypeScript. Phased migration, zero downtime, Lighthouse scores went from the 60s to the 90s. Communication was tight — daily updates without being asked."

MT

Marcus T.

CTO at a B2B platform

"We needed a Vue dashboard for our AI agent platform — fast. Dmitriy delivered the MVP in six weeks with Pinia, Supabase auth, and a streaming chat UI that actually feels native. He pushed back on bad product decisions when it mattered — that alone was worth the budget."

AL

Anna L.

Founder at an AI startup

"Dmitriy built our headless WordPress + Nuxt storefront and our marketing team can finally edit content without a developer. Pages load under a second on mobile, and Google indexed the new site in under 48 hours."

OR

Oleksandr R.

Marketing Director at an e-commerce brand

Contact