174 lines
12 KiB
HTML
174 lines
12 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="UTF-8" />
|
||
<title>Oleg Proskurin — CV — Miratech (Senior Frontend Technical Lead)</title>
|
||
<link rel="stylesheet" href="/templates/cv-style.css" />
|
||
</head>
|
||
<body>
|
||
<header class="cv-header">
|
||
<h1 class="name">OLEG PROSKURIN</h1>
|
||
<p class="role"><strong>Senior Frontend Engineer & Tech Lead</strong></p>
|
||
<p class="contacts">Remote · GMT+7 (EMEA overlap, AU overlap, US East AM) · Deel contractor, W-8BEN</p>
|
||
<p class="contacts">
|
||
<a href="mailto:usulpro@gmail.com">usulpro@gmail.com</a> ·
|
||
Telegram <a href="https://t.me/usulpro">@usulpro</a> ·
|
||
<a href="https://www.linkedin.com/in/oleg-proskurin-76784453/">LinkedIn</a> ·
|
||
<a href="https://github.com/UsulPro">GitHub</a> ·
|
||
<a href="https://dev.to/usulpro">Dev.to</a> ·
|
||
<a href="https://focusreactive.com/blog/author/usulpro/">Blog</a>
|
||
</p>
|
||
</header>
|
||
|
||
<section class="cv-section">
|
||
<h2>Summary</h2>
|
||
<p>
|
||
Senior Frontend Engineer and Tech Lead with 9 years of production experience across React, Next.js, TypeScript, and large component systems, including 5 years leading remote teams for US, UK, EU, and AU clients. I build and govern design systems: at PrimeUI (<a href="https://primeui.com/">primeui.com</a>, launched Feb 2026) I built and maintain a library of more than 200 React components together with the design-system tooling and the pipeline that composes them into production pages. Earlier I architected a multi-tenant, white-label Sanity backend for Tipico US that handled 75M requests/month across core and state teams.
|
||
</p>
|
||
</section>
|
||
|
||
<section class="cv-section cv-skills">
|
||
<h2>Skills</h2>
|
||
<p><strong>Web & Frontend</strong>: React (18), TypeScript (5.x), Next.js (App Router, SSR/SSG/ISR), TanStack Start/Router. State management: Redux Toolkit + RTK Query, TanStack Query. Build tooling: Vite, Webpack. CSS at scale: Tailwind, CSS Modules, Emotion, Styled-Components</p>
|
||
<p><strong>Design systems & UI architecture</strong>: design-system creation and governance across teams, shared component libraries, multi-tenant / white-label theming and design tokens, access-gated UI (route guards, conditional rendering), data-heavy dashboards (Chart.js), interactive maps (Mapbox GL), WCAG accessibility, Core Web Vitals & performance optimization</p>
|
||
<p><strong>Testing & quality</strong>: Jest, React Testing Library, Playwright, Vitest, code review, architectural decision records</p>
|
||
<p><strong>Data & Infrastructure</strong>: REST, GraphQL, WebSockets / SSE, PostgreSQL, Drizzle ORM, Docker. AWS (S3, CloudFront, Amplify), Vercel, Cloudflare, CI/CD (GitHub Actions, Bitbucket Pipelines, CircleCI), Sentry</p>
|
||
<p><strong>Headless CMS & eCommerce</strong>: Sanity, Storyblok, Contentful, Payload, Hygraph, DatoCMS, Shopify, Stripe</p>
|
||
<p><strong>AI-augmented development</strong>: Claude Code and Codex as daily drivers; built component-aware AI generation on Mastra + Vercel AI SDK; published an MCP server on NPM</p>
|
||
</section>
|
||
|
||
<section class="cv-section">
|
||
<h2>Experience</h2>
|
||
|
||
<article class="cv-job">
|
||
<div class="cv-job-header">
|
||
<span class="company">PixelPoint Ltd.</span>
|
||
<span class="role">Tech Lead & Senior Frontend Engineer, PrimeUI</span>
|
||
</div>
|
||
<div class="cv-job-meta">
|
||
<span>France · Remote</span>
|
||
<span class="dates">Feb 2025 – Present</span>
|
||
</div>
|
||
<p class="cv-job-desc">
|
||
PrimeUI (<a href="https://primeui.com/">primeui.com</a>, launched Feb 2026) is a multi-surface platform that generates production-ready websites from a curated React component library. Lead developer owning ~70% of platform architecture, with the component library, the design system, and the component-based page generation pipeline as my core areas.
|
||
</p>
|
||
<ul>
|
||
<li><strong>Built and maintain the component library that is the core product asset</strong>: more than 200 React components with props schemas, variants, and design constraints, organized into families and groups, curated and structured as a design system the whole platform builds on.</li>
|
||
<li><strong>Built the design-system tooling</strong>: an internal tool to define a project's visual identity (colors, typography, design tokens) and apply it across the library, so generated pages carry a consistent, per-project theme.</li>
|
||
<li><strong>Built a component-matching scoring model</strong> that evaluates how well adjacent components fit together: it compares their layouts, entry and exit widths, and component format, and produces a combinability score that ranks candidate compositions. Encodes component-pairing judgment as a reusable rule instead of ad-hoc decisions.</li>
|
||
<li><strong>Set up the page generation pipeline</strong>: composes components from the registry into full responsive pages, validating each against the component's props schema with retry recovery, then renders and previews before export.</li>
|
||
<li><strong>Own the Studio web app frontend</strong> (TanStack Start, React, TypeScript): a canvas-based sitemap interface of page nodes and their links, the generation/preview/editing UI, with WebSocket-based streaming of responses into the UI.</li>
|
||
<li><strong>Designed the code-export pipeline</strong> that ships a customer-owned, production-ready Next.js + Tailwind project (no vendor lock-in); published the <code>@primeuicom/mcp</code> server on NPM.</li>
|
||
<li><strong>Run code review and architecture discussions as daily routine</strong>; introduced Claude Code and Codex into the team workflow and built custom developer tooling on top (codex-bee, epic-loop).</li>
|
||
</ul>
|
||
</article>
|
||
|
||
<article class="cv-job">
|
||
<div class="cv-job-header">
|
||
<span class="company"><a href="https://focusreactive.com">FocusReactive</a></span>
|
||
<span class="role">Tech Lead & Senior Software Engineer</span>
|
||
</div>
|
||
<div class="cv-job-meta">
|
||
<span>London · Remote</span>
|
||
<span class="dates">May 2019 – Feb 2025 (5 yrs 10 mos)</span>
|
||
</div>
|
||
<p class="cv-job-desc">
|
||
International web consultancy for clients in the US, UK, Europe, and Australia.
|
||
</p>
|
||
<ul>
|
||
<li><strong>Architected the Tipico US backend on Sanity Headless CMS as a multi-tenant, white-label platform</strong>: white-label architecture for core and state teams, 5 publishing environments, 3 datasets. Operating scale: 122 CMS users, 75M requests/month, 98 document types, 165K stored documents.</li>
|
||
<li><strong>Designed and built CMS-KIT</strong>, an open-source Headless CMS starter and shared component library governed across 15 client projects and multiple teams, cutting kickoff from days to hours and accelerating development by ~30%.</li>
|
||
<li><strong>Led migration of 15 client projects to Headless CMS and commerce platforms</strong> (Sanity, Storyblok, Contentful, Payload, Shopify, Hydrogen), restructuring content models and cutting update cycles from weeks to days.</li>
|
||
<li><strong>Built the data-heavy analytics and reporting frontend for Porchlight</strong> (Compass real-estate platform, Next.js + tRPC): line-chart dashboards over market and area metrics (Chart.js, react-chartjs-2), interactive Mapbox GL maps with polygon-drawn geo-areas, and a PDF report pipeline where Puppeteer captures the rendered charts and @react-pdf/renderer assembles the document.</li>
|
||
<li><strong>Led technical hiring and team development</strong>: designed an assessment mirroring real working conditions, ran 30 interviews leading to 8 hires, mentored new engineers.</li>
|
||
</ul>
|
||
</article>
|
||
|
||
<article class="cv-job">
|
||
<div class="cv-job-header">
|
||
<span class="company"><a href="https://github.com/GitNation/live-conferences">GitNation</a></span>
|
||
<span class="role">Senior Software Engineer (Part-time, concurrent)</span>
|
||
</div>
|
||
<div class="cv-job-meta">
|
||
<span>Remote</span>
|
||
<span class="dates">May 2019 – Feb 2025</span>
|
||
</div>
|
||
<p class="cv-job-desc">Built a publishing flow via Slack API and a reusable web framework for conference websites; migrated GitNation conferences to Headless CMS.</p>
|
||
</article>
|
||
|
||
<article class="cv-job">
|
||
<div class="cv-job-header">
|
||
<span class="company"><a href="https://osome.com/sg/">Osome</a></span>
|
||
<span class="role">Frontend Developer</span>
|
||
</div>
|
||
<div class="cv-job-meta">
|
||
<span>Singapore</span>
|
||
<span class="dates">Jun 2018 – May 2019</span>
|
||
</div>
|
||
<p class="cv-job-desc">Built a fuzzy-logic search system and advanced UI animations for the corporate-services platform; configured the Webpack build.</p>
|
||
</article>
|
||
|
||
<article class="cv-job">
|
||
<div class="cv-job-header">
|
||
<span class="company"><a href="https://www.skipp.dev">Skipp</a></span>
|
||
<span class="role">JavaScript Engineer</span>
|
||
</div>
|
||
<div class="cv-job-meta">
|
||
<span>Moscow</span>
|
||
<span class="dates">Nov 2017 – Jun 2018</span>
|
||
</div>
|
||
<p class="cv-job-desc">B2B marketplace for Skolkovo Innovation Center (100 companies); GraphQL subscriptions for real-time chat.</p>
|
||
</article>
|
||
|
||
<article class="cv-job">
|
||
<div class="cv-job-header">
|
||
<span class="company">BL Group</span>
|
||
<span class="role">Head of Engineering Team</span>
|
||
</div>
|
||
<div class="cv-job-meta">
|
||
<span>Moscow</span>
|
||
<span class="dates">2010 – 2017</span>
|
||
</div>
|
||
<p class="cv-job-desc">Led an engineering team designing automation and control systems for dynamic architectural lighting (50+ installations).</p>
|
||
</article>
|
||
</section>
|
||
|
||
<section class="cv-section">
|
||
<h2>Open Source & Writing</h2>
|
||
<ul>
|
||
<li><strong>Component tooling</strong>: Storybook steering team during the 2016–2017 revival; maintain storybook-addon-material-ui (18K weekly downloads) and storybook-addon-console (7M total); published <a href="https://github.com/sm-react/react-material-color-picker">@usulpro/color-picker</a>, a Material-style React color picker with ~17K weekly downloads.</li>
|
||
<li><strong>AI developer tooling</strong>: <a href="https://github.com/usulpro/codex-bee">codex-bee</a>, a wrapper for long-running Codex sessions; <a href="https://github.com/usulpro/epic-loop">epic-loop</a>, a Codex skill for autonomous large-task execution via tech-lead / engineer role separation.</li>
|
||
<li><strong>Technical writing</strong>: articles on frontend, Headless CMS, and developer tooling at <a href="https://focusreactive.com/blog/author/usulpro/">FocusReactive blog</a> and <a href="https://dev.to/usulpro">Dev.to</a>.</li>
|
||
</ul>
|
||
</section>
|
||
|
||
<section class="cv-section">
|
||
<h2>Portfolio</h2>
|
||
<p class="cv-portfolio">
|
||
<a href="https://primeui.com/">PrimeUI</a>,
|
||
<a href="https://focusreactive.com/marketfinance-case-study/">MarketFinance</a>,
|
||
<a href="https://focusreactive.com/sanity-platform-case-study/">Tipico Platform</a>,
|
||
<a href="https://www.firsty.app/">Firsty</a>,
|
||
<a href="https://www.iwm.org.uk/membership#membershipModal">IWM membership</a>,
|
||
<a href="https://focusreactive.com/notsoape-case-study/">NotSoApp</a>,
|
||
<a href="https://focusreactive.com/porchlight-case-study/">Porchlight</a>,
|
||
<a href="https://github.com/GitNation/live-conferences">GitNation</a>
|
||
</p>
|
||
</section>
|
||
|
||
<section class="cv-section">
|
||
<h2>Education</h2>
|
||
<p><strong>Master in Engineering</strong>, Faculty of Electronic Engineering, Moscow Power Engineering University (<a href="https://mpei.ru/lang/en/Pages/default.aspx">MPEI</a>), Russia</p>
|
||
</section>
|
||
|
||
<section class="cv-section">
|
||
<h2>Languages</h2>
|
||
<p>English C1 · Russian native</p>
|
||
</section>
|
||
|
||
<section class="cv-section">
|
||
<p>Remote setup: Thailand, GMT+7 (EMEA and AU overlap, US East AM) · Deel contractor · W-8BEN on file · available immediately</p>
|
||
</section>
|
||
</body>
|
||
</html>
|