Compare commits

...

3 Commits

Author SHA1 Message Date
Oleg Proskurin cf0c81600f add tailored cv 2026-05-30 22:14:03 +07:00
Oleg Proskurin 5ee998da5a add trello mcp 2026-05-30 15:43:40 +07:00
Oleg Proskurin 118232fa1d add esse 2026-05-30 14:36:51 +07:00
23 changed files with 1107 additions and 12 deletions

2
.env.example Normal file
View File

@ -0,0 +1,2 @@
TRELLO_API_KEY=your_trello_api_key_here
TRELLO_TOKEN=your_trello_token_here

View File

@ -7,6 +7,13 @@
"chrome-devtools-mcp@latest",
"--browserUrl=http://127.0.0.1:9222"
]
},
"trello": {
"command": "sh",
"args": [
"-c",
"set -a; [ -f .env ] && . ./.env; set +a; exec bunx @delorenj/mcp-server-trello"
]
}
}
}

View File

@ -24,7 +24,7 @@ If the skill itself can't get the content (Chrome not running, or Oleg is not si
```
base/
cv-YYYY-MM-base.md # current master CV in Markdown
oleg_proskurin_<role>_cv.md # master CV(s) in Markdown, one per target role
reference/
Oleg_Proskurin_*.pdf # canonical visual reference (do not edit)
templates/
@ -50,20 +50,20 @@ output/
## Workflow 1 — Generate base CV PDF from Markdown
**Input**: `base/cv-YYYY-MM-base.md`
**Output**: `output/pdf/cv-YYYY-MM-base.pdf`
**Input**: `base/oleg_proskurin_<role>_cv.md` (e.g. `oleg_proskurin_ai_engineer_fullstack_cv.md`)
**Output**: `output/pdf/oleg_proskurin_<role>_cv.pdf`
Steps:
1. Read the Markdown source and the reference PDF (`base/reference/...`) to confirm structure.
2. Generate `output/html/cv-YYYY-MM-base.html` using `templates/cv-template.html` as a starting point.
2. Generate `output/html/oleg_proskurin_<role>_cv.html` using `templates/cv-template.html` as a starting point.
- Link the stylesheet via `<link rel="stylesheet" href="/templates/cv-style.css" />` (absolute path — the PDF script serves the project root).
- Map MD content to HTML tags **verbatim** — section titles, punctuation, list structure, dates, and contact separators must match MD character-for-character. The structure below is the tag shape; the **text** comes from MD. See "Content vs. style — separation rule" below.
3. Run the PDF generator:
```bash
pnpm pdf output/html/cv-YYYY-MM-base.html
pnpm pdf output/html/oleg_proskurin_<role>_cv.html
```
4. Open the resulting PDF (`output/pdf/cv-YYYY-MM-base.pdf`) and verify single-page-ish, no orphan bullets, no overflow.
4. Open the resulting PDF (`output/pdf/oleg_proskurin_<role>_cv.pdf`) and verify single-page-ish, no orphan bullets, no overflow.
---
@ -205,7 +205,7 @@ The CSS in `templates/cv-style.css` already encodes these — when generating HT
## Conventions
- **Language**: every artifact (HTML, MD, PDF, tracking rows, card notes) is in English. Always.
- **Filenames**: kebab-case. CVs: `cv-YYYY-MM-base.md` for base, `cv.md` inside `tailored/<slug>/` for tailored.
- **Filenames**: snake_case for base CVs (`oleg_proskurin_<role>_cv.md`), kebab-case for tailored slugs. Tailored CV: `cv.md` inside `tailored/<slug>/`.
- **Dates**: absolute (`2026-05-24`), never "last Thursday".
- **Don't edit the reference PDF.** It is the immutable visual anchor.
- **Don't auto-regenerate PDFs** unless Oleg asks — show diffs first when content changes.

View File

@ -33,14 +33,14 @@ pnpm install
Generate PDF from an HTML file:
```bash
pnpm pdf output/html/cv-2026-05-base.html
# -> output/pdf/cv-2026-05-base.pdf
pnpm pdf output/html/oleg_proskurin_ai_engineer_fullstack_cv.html
# -> output/pdf/oleg_proskurin_ai_engineer_fullstack_cv.pdf
```
The HTML file should be generated by Claude from the Markdown source — see `CLAUDE.md` for the full flow and styling rules.
## Workflows
1. **New base CV**: drop a new `cv-YYYY-MM-base.md` into `base/`, ask Claude to generate the HTML, then run `pnpm pdf`.
1. **New base CV**: drop a new `oleg_proskurin_<role>_cv.md` into `base/`, ask Claude to generate the HTML, then run `pnpm pdf`.
2. **Tailor for a company**: ask Claude to create `tailored/<company>/cv.md` from the latest base, generate HTML, then PDF.
3. **Track applications**: append to `tracking/applications.md` and `tracking/outreach.md`.

View File

@ -0,0 +1,55 @@
# Supabase — AI Tooling Engineer — Эссе Q1 (Eval system / instrumentation loop)
## Метаданные
- **Компания:** Supabase
- **Роль:** AI Tooling Engineer
- **Канал подачи:** ashbyhq, через careers-page Supabase
- **Дата подачи:** 29 мая 2026
- **CV использовано:** CV-A (oleg_proskurin_ai_engineer_fullstack_cv.md), pdf-вариант `oleg_proskurin_ai_engineer_fullstack_cv.pdf`
- **Статус:** подано, ожидаем ответа
## Вопрос (дословно)
> Tell us about an eval system, instrumentation loop, or quality framework you built for an AI product or workflow. What did you measure, and how did it change the product?
## Выбранный угол
**Track A — Reliability loop.** Schema-validation-driven retry как ядро, instrumentation per step, добор по cost/cache как data-driven decision. Прямая связка: measure → tune → ship-ready output.
## Финальный текст ответа (English, как подано)
> On PrimeUI (see primeui.com, released Feb 2026) I've built the page generation flow. It takes a project brief and assembles a page from components from a registry where we have more than 200 real React components. The flow should generate content per component, that match the component schema and cohere with entire page content. The hard part is that one page has to satisfy several things at once: coherent content for the page's purpose, a valid component choice from the registry, props matching each component's schema, and a combination of components that holds up against strict design requirements.
>
> I created the per-component selection and content generation via an LLM (Gemini 2.5 Flash via Mastra), one request per step. And I had to build a harness around it. At each step the model picks from a pre-filtered pool of candidates ranked by a UX scoring system that judge how component combinations sit well together. Each step also gets the component registry, the already-generated content, and the page outline. The model returns structured JSON: component name, props object, and reasoning for the choice. The result is validated against the chosen component's schema (AJV with custom fields). On a validation hit the request repeats with an error message in feedback. After N retries it takes a fallback component. Components persist to DB only after they pass.
>
> Each step logs: cache-hit ratio, latency, retry count, and the UX score of the selected components. Running the generation many times with these logs gave me enough data to analyze. I built a Claude Code skill with instructions on how to compare and analyze the logs, used it to detect repeating patterns and weak spots in the generation, and was able to improve the process significantly.
>
> Before tuning, around 5 of 7 steps on a page needed at least one retry, now it's down to 1-2 of 7. Generation time went from 5-7 minutes to 2-3 minutes per page variant. Component schemas were tuned as well to generate semantically better copy. The overall result: generation quality went up, the flow got significantly faster, and token consumption dropped thanks to better cache hits.
## Источники материала
- `cv-master-extended.md` — Block 4 (Eval & guardrails facts: AJV, retry triggers, MAX_GENERATION_RETRIES=5, per-step logging)
- Русский harness-текст из Lucky Hunter / XPN-чатов (последняя вычищенная версия, прошла финализацию в апреле 2026)
- Ранний Q1-драфт из этого же Supabase-чата (с TODO про harness/AJV — там же были числа compact notation 5x, reduced rendering 10-12x, retry 15-20→2-4, time 5-7→2-3 min)
- Уточнения от Олега в этой подаче: метрика «5 of 7 → 1-2 of 7» вместо «15-20 → 2-4», причина ухода от RAG («analyzed, not effective for this scenario»), `up to 150K tokens`, UX scoring как «modeled on designers' and frontend folks' expert judgment»
## Ключевые приёмы (что делает эссе сильным — для будущего реюза)
1. **Структура «проблема → решение → инструментация → измеримый сдвиг → продуктовое последствие».** Каждый абзац отвечает на отдельную часть вопроса.
2. **Connect measure → change.** Конкретные before/after: 5/7 → 1-2/7 ретраев, 5-7min → 2-3min. Без этого ответ распадается на «вот наш сетап».
3. **Claude Code skill как анализ-петля.** Добавлено в финальной итерации Олегом — это и есть «how did it change the product»: не просто метрики, а *использование* метрик для улучшения. Сильнее, чем «мы логировали».
4. **Voice signatures сохранены:** `that match`, `that judge`, `from components from a registry`, `with entire page content`, длинные цепочки через запятую, drop -s в 3rd person, фраза-заголовок + двоеточие (`The overall result:`).
5. **Что вырезано в цикле редактирования:**
- em-dashes на parentheticals
- триколоны прилагательных (narrow/predictable/typed → narrow/typed)
- «not X but Y» конструкции
- «Worth saying that», «It's important to note»
- `200+``more than 200` (N+ нотация как маркер)
6. **Цена за слово высокая.** ~290 слов финальной версии, ни одного абстрактного прилагательного без числа за ним.
## Что можно адаптировать для других подач
- **Core spine (problem → harness → instrumentation → measured change)** переносится без изменений на любую AI-инженерную роль с уклоном в production reliability.
- **Claude Code skill как анализ-петля** — уникальный приём, добавляет signal зрелого AI-augmented workflow. Использовать когда target отзывается на AI-augmented dev practices.
- **Числа из этого эссе можно повторять буквально:** 5/7 → 1-2/7, 5-7min → 2-3min, up to 150K tokens, more than 200 components, AJV with custom fields. Это всё проверенные формулировки.

View File

@ -0,0 +1,70 @@
# Supabase — AI Tooling Engineer — Эссе Q2 (Docs / interfaces / tooling for agents)
## Метаданные
- **Компания:** Supabase
- **Роль:** AI Tooling Engineer
- **Канал подачи:** ashbyhq, через careers-page Supabase
- **Дата подачи:** 29 мая 2026
- **CV использовано:** CV-A (oleg_proskurin_ai_engineer_fullstack_cv.md), pdf-вариант `oleg_proskurin_ai_engineer_fullstack_cv.pdf`
- **Статус:** подано, ожидаем ответа
## Вопрос (дословно)
> How would you design docs, product interfaces, or developer tooling so agents can use them effectively?
## Выбранный угол
**Knowledge representation deep-dive.** Сознательно отказались от двухполушарной структуры (MCP interface + knowledge representation), хотя она ровно матчила формулировку JD. Решили: один глубокий разворот сильнее, чем два поверхностных. MCP оставлен на интервью.
Сердце ответа — компактный реестр компонентов: minified rendering functions (8KB → 700B на компонент), compact notation для пропсов (1.5KB → 300B из Zod-схем), extended schemas с descriptions и стилями (1.5KB на компонент в итоговом виде).
## Финальный текст ответа (English, как подано)
> The actual problem I faced in PrimeUI was how to pass our component library to the page generation LLM so it can properly use it. Let me highlight the issues with the original source first:
>
> - each component has React component code, TypeScript props, and an additional Zod schema. On top of that each one has a markdown file with description, functionality, "where to use", style details, etc.
> - dependencies. Many files have imported components.
> - huge length of definition: component code is big plus types, schemas, and description. Consumes a lot of tokens if passed raw.
> - the amount of components started from 100 and grew to 200.
> - even with Zod schemas we can't fully rely on them, because we have a lot of semantic and design-driven requirements. E.g. number of words in titles, discrete number of cards, capitalization styles, etc.
> - component code actually repeats in many components. Has a lot of functionality that isn't useful for an LLM. Too noisy to detect the look and feel of a component, its purpose.
>
> Having that I realized we can't just pass component code to a model. First attempt was a RAG system over component code, but it still faced the problem that component structure isn't visible because of the noise from classes, functionalities, tons of HTML tags etc. While the goal was to select each component wisely.
>
> The solution I proposed and implemented is creating a special components registry. The essential parts of which:
>
> - minified reduced functions instead of real components. It just outputs simplified HTML code with rendered props. This is enough to understand the structure of an actual component and easy to render existing content during the generation loop. Reduced code size from around 8KB per component to around 700B.
> - special compact notation schema describing component props. I created a syntax that allows describing not only formal requirements but also LLM-important relationships and styles. Managed to reduce from around 1.5KB in zod files to around 300B.
> - extended compact schemas also with component descriptions and visual styles. Finally one component definition in the registry takes approx 1.5K and provides LLM-friendly information about component functionality and usage.
>
> The total component registry was compact enough to put into the model's context window. I selected Gemini Flash 2.5 after some tests across Anthropic, OpenAI, and Gemini models, as a good candidate because of good performance, speed, and caching support. The biggest part of the context is our registry, which is always the same across all client projects and pages, so it always gets cached. Up to 77% cache hit, with reasonable generation speed.
>
> The registry generation is our own internal AI flow involving a few AI agents and deterministic code. It lets any engineer on our team add and update components in PrimeUI. For clients, when they export their project, we provide a production-ready Next.js codebase with the selected components and their props: it works like a usual project.
## Источники материала
- Драфт Олега в этой подаче (написан с нуля под этот вопрос, не из других чатов)
- `cv-master-extended.md` — Block 1 (RAG / Retrieval facts) для контекста про переход от RAG к cached registry
- Уточнения по числам: 77% cache hit (тут vs 73% в CV — Олег подтвердил 77%), 8KB→700B, 1.5KB→300B, total ~1.5K per component, registry started from 100 grew to 200
## Ключевые приёмы (что делает эссе сильным)
1. **Структура «проблема изнутри → решение через данные».** Список конкретных issues с реальной кодовой базой → реализованное решение с числами. Не теоретизирование «как бы я спроектировал», а «я столкнулся, я решил так».
2. **Числа per-component compression на каждом пункте решения.** 8KB→700B, 1.5KB→300B, итог 1.5K. Это редкий уровень детализации. Любая компания с eval-first культурой считывает зрелость по таким цифрам.
3. **First attempt → solution.** RAG-первая-попытка показана как тупик, после неё — финальное решение. Это сильнее, чем сразу выложить решение. Показывает инженерный путь, а не готовую теорию.
4. **77% cache hit как закрывающий числовой anchor.** Связывает выбор модели (Gemini Flash 2.5) с инструментацией (registry в кэше) и продуктовым следствием (reasonable speed).
5. **Сознательный отказ от MCP-половины.** На этапе финальной редактуры обсуждали: добавлять ли абзац про MCP server, чтобы закрыть второй буллет JD. Решили — нет: глубокий ответ на одну половину сильнее поверхностного на обе. MCP держим на интервью.
6. **Voice signatures сохранены:** `Having that I realized`, `While the goal was to select each component wisely`, постпозиционные `from`, длинные комма-цепочки, фраза-заголовок + двоеточие, drop -s в `that match`, drop article в bullet points.
## Что вырезано / не делали
- MCP-абзац (см. п.5 выше)
- pgvector mention (был nice-to-have в JD, но решили не натягивать — реальный реестр в JSON, не в pgvector)
- Промежуточные эксперименты с другими моделями названы не были — оставлено как «after some tests across Anthropic, OpenAI, and Gemini models»
## Что можно адаптировать для других подач
- **Spine «issues with original source → first attempt → solution with numbers»** — переносимая структура для любого вопроса вида «как бы вы спроектировали X для агентов». Реальный кейс всегда сильнее гипотетического.
- **Числа compression (8KB→700B, 1.5KB→300B, 77% cache)** — все проверенные, можно реюзать буквально.
- **Если в другой подаче нужен MCP-угол** — он есть в `cv-master-extended.md` Block 2 (25 tools, official SDK, 6 хостов). Можно собрать отдельное эссе или короткий абзац к этому.

View File

@ -5,7 +5,8 @@
"private": true,
"type": "module",
"scripts": {
"pdf": "node scripts/generate-pdf.mjs"
"pdf": "node scripts/generate-pdf.mjs",
"chrome": "bash scripts/launch-chrome.sh &"
},
"dependencies": {
"puppeteer": "^24.37.3"

View File

@ -0,0 +1,45 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Oleg Proskurin — Cover Letter — Miratech</title>
<link rel="stylesheet" href="/templates/cv-style.css" />
<style>
.cv-letter p {
margin: 0 0 8pt 0;
text-align: justify;
}
.cv-letter .signoff {
margin-top: 14pt;
}
</style>
</head>
<body>
<header class="cv-header">
<h1 class="name">OLEG PROSKURIN</h1>
<p class="role"><strong>Senior Frontend Engineer &amp; Tech Lead</strong></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>
</p>
</header>
<section class="cv-section cv-letter">
<p>I'm applying for the Senior Frontend Technical Lead role on IQ Platform.</p>
<p>For the last year I've built and governed a shared design system at PrimeUI (<a href="https://primeui.com/">primeui.com</a>): the component library that is the product's core asset, more than 200 React components with props schemas, variants, and design constraints, organized into families and groups. On top of it I built the design-system tooling that defines a project's visual identity (colors, typography, design tokens) and applies it across the library, so every generated site carries a consistent, per-tenant theme.</p>
<p>Before PrimeUI I architected the Tipico US backend. It was a white-label platform for core and state teams, 5 publishing environments over shared content models, running at 75M requests/month. The same data fed several apps and teams: the mobile app, the web portal, the casino team, betting widgets.</p>
<p>My day-to-day stack sits well against what you're asking for: React (11 years, from 0.14 to 19), TypeScript (5 years), TanStack Router (1 year), Tailwind (2.5 years), Vite (1 year). Across those years I've run code review and architecture decisions as routine, and led teams: 30 interviews into 8 hires at FocusReactive, and as sole engineer I own ~70% of PrimeUI architecture. I've also shipped data-heavy frontends when the product needed it: dashboards on Chart.js and interactive Mapbox maps with a PDF report pipeline for a real-estate analytics platform (see Porchlight for details in my CV).</p>
<p>I'm based in Thailand, GMT+7, with a working window that overlaps Australian hours, and I work as a Deel contractor.</p>
<p>Happy to jump on a call and walk through the details.</p>
<p class="signoff">Oleg Proskurin</p>
</section>
</body>
</html>

View File

@ -0,0 +1,13 @@
I'm applying for the Senior Frontend Technical Lead role on IQ Platform.
For the last year I've built and governed a shared design system at PrimeUI ([primeui.com](https://primeui.com/)): the component library that is the product's core asset, more than 200 React components with props schemas, variants, and design constraints, organized into families and groups. On top of it I built the design-system tooling that defines a project's visual identity (colors, typography, design tokens) and applies it across the library, so every generated site carries a consistent, per-tenant theme.
Before PrimeUI I architected the Tipico US backend. It was a white-label platform for core and state teams, 5 publishing environments over shared content models, running at 75M requests/month. The same data fed several apps and teams: the mobile app, the web portal, the casino team, betting widgets.
My day-to-day stack sits well against what you're asking for: React (11 years, from 0.14 to 19), TypeScript (5 years), TanStack Router (1 year), Tailwind (2.5 years), Vite (1 year). Across those years I've run code review and architecture decisions as routine, and led teams: 30 interviews into 8 hires at FocusReactive, and as sole engineer I own ~70% of PrimeUI architecture. I've also shipped data-heavy frontends when the product needed it: dashboards on Chart.js and interactive Mapbox maps with a PDF report pipeline for a real-estate analytics platform (see Porchlight for details in my CV).
I'm based in Thailand, GMT+7, with a working window that overlaps Australian hours, and I work as a Deel contractor.
Happy to jump on a call and walk through the details.
Oleg Proskurin

Binary file not shown.

View File

@ -0,0 +1,173 @@
<!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 &amp; 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 &amp; 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 &amp; 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 &amp; performance optimization</p>
<p><strong>Testing &amp; quality</strong>: Jest, React Testing Library, Playwright, Vitest, code review, architectural decision records</p>
<p><strong>Data &amp; 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 &amp; 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 &amp; 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 &amp; 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 &amp; Writing</h2>
<ul>
<li><strong>Component tooling</strong>: Storybook steering team during the 20162017 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>

View File

@ -0,0 +1,102 @@
# OLEG PROSKURIN
**Senior Frontend Engineer & Tech Lead**
Remote · GMT+7 (EMEA overlap, AU overlap, US East AM) · Deel contractor, W-8BEN
usulpro@gmail.com · Telegram @usulpro · [LinkedIn](https://www.linkedin.com/in/oleg-proskurin-76784453/) · [GitHub](https://github.com/UsulPro) · [Dev.to](https://dev.to/usulpro) · [Blog](https://focusreactive.com/blog/author/usulpro/)
---
## Summary
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 ([primeui.com](https://primeui.com/), 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.
---
## Skills
**Web & Frontend**: 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
**Design systems & UI architecture**: 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
**Testing & quality**: Jest, React Testing Library, Playwright, Vitest, code review, architectural decision records
**Data & Infrastructure**: REST, GraphQL, WebSockets / SSE, PostgreSQL, Drizzle ORM, Docker. AWS (S3, CloudFront, Amplify), Vercel, Cloudflare, CI/CD (GitHub Actions, Bitbucket Pipelines, CircleCI), Sentry
**Headless CMS & eCommerce**: Sanity, Storyblok, Contentful, Payload, Hygraph, DatoCMS, Shopify, Stripe
**AI-augmented development**: Claude Code and Codex as daily drivers; built component-aware AI generation on Mastra + Vercel AI SDK; published an MCP server on NPM
---
## Experience
### PixelPoint Ltd. — Tech Lead & Senior Frontend Engineer, PrimeUI
**Feb 2025 Present** · France · Remote
PrimeUI ([primeui.com](https://primeui.com/), 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.
- **Built and maintain the component library that is the core product asset**: 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.
- **Built the design-system tooling**: 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.
- **Built a component-matching scoring model** 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.
- **Set up the page generation pipeline**: 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.
- **Own the Studio web app frontend** (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.
- **Designed the code-export pipeline** that ships a customer-owned, production-ready Next.js + Tailwind project (no vendor lock-in); published the `@primeuicom/mcp` server on NPM.
- **Run code review and architecture discussions as daily routine**; introduced Claude Code and Codex into the team workflow and built custom developer tooling on top (codex-bee, epic-loop).
### [FocusReactive](https://focusreactive.com) — Tech Lead & Senior Software Engineer
**May 2019 Feb 2025** (5 yrs 10 mos) · London · Remote
International web consultancy for clients in the US, UK, Europe, and Australia.
- **Architected the Tipico US backend on Sanity Headless CMS as a multi-tenant, white-label platform**: 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.
- **Designed and built CMS-KIT**, 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%.
- **Led migration of 15 client projects to Headless CMS and commerce platforms** (Sanity, Storyblok, Contentful, Payload, Shopify, Hydrogen), restructuring content models and cutting update cycles from weeks to days.
- **Built the data-heavy analytics and reporting frontend for Porchlight** (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.
- **Led technical hiring and team development**: designed an assessment mirroring real working conditions, ran 30 interviews leading to 8 hires, mentored new engineers.
### [GitNation](https://github.com/GitNation/live-conferences) — Senior Software Engineer (Part-time, concurrent)
**May 2019 Feb 2025** · Remote
Built a publishing flow via Slack API and a reusable web framework for conference websites; migrated GitNation conferences to Headless CMS.
### [Osome](https://osome.com/sg/) — Frontend Developer
**Jun 2018 May 2019** · Singapore
Built a fuzzy-logic search system and advanced UI animations for the corporate-services platform; configured the Webpack build.
### [Skipp](https://www.skipp.dev) — JavaScript Engineer
**Nov 2017 Jun 2018** · Moscow
B2B marketplace for Skolkovo Innovation Center (100 companies); GraphQL subscriptions for real-time chat.
### BL Group — Head of Engineering Team
**2010 2017** · Moscow
Led an engineering team designing automation and control systems for dynamic architectural lighting (50+ installations).
---
## Open Source & Writing
- **Component tooling**: Storybook steering team during the 20162017 revival; maintain storybook-addon-material-ui (18K weekly downloads) and storybook-addon-console (7M total); published [@usulpro/color-picker](https://github.com/sm-react/react-material-color-picker), a Material-style React color picker with ~17K weekly downloads.
- **AI developer tooling**: [codex-bee](https://github.com/usulpro/codex-bee), a wrapper for long-running Codex sessions; [epic-loop](https://github.com/usulpro/epic-loop), a Codex skill for autonomous large-task execution via tech-lead / engineer role separation.
- **Technical writing**: articles on frontend, Headless CMS, and developer tooling at [FocusReactive blog](https://focusreactive.com/blog/author/usulpro/) and [Dev.to](https://dev.to/usulpro).
---
## Portfolio
[PrimeUI](https://primeui.com/), [MarketFinance](https://focusreactive.com/marketfinance-case-study/), [Tipico Platform](https://focusreactive.com/sanity-platform-case-study/), [Firsty](https://www.firsty.app/), [IWM membership](https://www.iwm.org.uk/membership#membershipModal), [NotSoApp](https://focusreactive.com/notsoape-case-study/), [Porchlight](https://focusreactive.com/porchlight-case-study/), [GitNation](https://github.com/GitNation/live-conferences)
---
## Education
**Master in Engineering**, Faculty of Electronic Engineering, Moscow Power Engineering University ([MPEI](https://mpei.ru/lang/en/Pages/default.aspx)), Russia
---
## Languages
English C1 · Russian native
---
Remote setup: Thailand, GMT+7 (EMEA and AU overlap, US East AM) · Deel contractor · W-8BEN on file · available immediately

Binary file not shown.

View File

@ -0,0 +1,91 @@
# Hostinger — Backend Software Engineer | Node.js | Remote
## Posting
- URL: https://jobs.ashbyhq.com/hostinger/8e4d93c1-ce2a-4e2a-a3af-d477222ace0f
- Team: Horizons (Hostinger's AI "vibe coding" platform — direct analog of PrimeUI)
- Location: Poland (Remote) — ambiguous whether open to non-Poland residents; needs to be clarified
- Employment type: Full time
- Date posted: unknown
- Date applied: TBD
- Source: direct (Ashby)
## Contacts
- Engineering Manager: Tadas Paplauskas
- Recruiter: unknown
- Hiring manager: Tadas Paplauskas (per posting)
- Referral: none
## Why this role
- **Horizons = PrimeUI in scope and spirit.** Both are AI-native platforms for AI-assisted website generation. Direct domain match — strongest possible signal for the hiring team.
- **AI/LLM nice-to-have is Oleg's daily practice.** Multi-model orchestration, MCP server, prompt caching at 73%, custom AI tooling open-sourced.
- **Production scale story** (Tipico 75M req/mo) maps to "API performance, DB optimization, scalability" in the day-to-day.
- 9+ yrs vs 4+ required — overmatch by years, but the role is positioned mid → senior growth, so we need to argue for senior placement.
## Match score
**~6.5/10** — strong on AI/Node.js/scale, weak on infra stack the posting names explicitly.
### Must-have coverage
| Requirement | Status |
| --- | --- |
| 4+ yrs Node.js + TS + PG/MySQL | ✅✅ Overmatch (9+ yrs) |
| REST APIs in production | ✅✅ Overmatch (Tipico 75M/mo, PrimeUI public API) |
| Message queues (RabbitMQ / BullMQ / GCP PubSub) | ❌ No production experience |
| Kubernetes + Docker + containerization | ⚠️ Docker / docker-compose yes; no K8s |
| Observability tools (Grafana or similar) | ❌ No experience |
| Testing (Jest / Mocha, unit + integration) | ⚠️ Have it but not visible on CV |
| SQL + ORM (Sequelize / TypeORM / Prisma) + Redis | ⚠️ Drizzle ORM ✅, Redis no production |
| Git proficiency | ✅ |
| Self-starter / ownership | ✅✅ (Tech Lead, ~70% ownership) |
| Communicator / documentation | ✅ (technical writing, mentoring) |
### Nice-to-have
| Requirement | Status |
| --- | --- |
| Microservices architecture | ⚠️ Implicit (PrimeUI multi-surface) |
| Performance monitoring / optimization | ⚠️ Implicit (caching, scale) |
| CI/CD | ⚠️ Yes but not in CV explicitly |
| **AI tools + LLM providers** | ✅✅✅ Major overmatch |
| Terraform | ❌ |
## Open questions / risks
1. **Location**: posting says Poland; Oleg is GMT+7 / Deel contractor. Needs explicit confirmation from recruiter before any deep investment.
2. **Compensation**: not listed for this role. Comparable Poland Full-Stack listing is 5600-7600 EUR gross/mo. Oleg's floor is 6K EUR net.
- UoP at top of range (~7600 gross) ≈ ~5400 net — below floor.
- B2B / contractor at top of range (~7600 gross) ≈ ~7000 net — meets floor.
- Mid-level entry at bottom (~5600 gross) — below floor in both cases.
3. **Role level**: posting frames the role as mid → senior growth track. Argue for senior placement in cover letter using PrimeUI tech lead context.
## Tailoring decisions
vs. base `base/oleg_proskurin_fullstack_techlead_cv.md`:
- **Title line**: changed from "Senior Full-Stack Engineer & Tech Lead" to "Senior Node.js Backend Engineer & Tech Lead" — leads with what the posting screens for.
- **Summary**: reframed around Node.js / TS backend + AI orchestration as a backend concern. Removed mention of Frontend / Serverless / eCommerce as primary buckets. Kept the consumer-scale number (75M+) prominent.
- **Skills**: restructured into 4 categories with new order:
1. Backend & APIs (was buried inside "Data & Infrastructure")
2. AI Engineering (kept, slight rewording to frame as a backend concern)
3. Infrastructure & Delivery (Docker / docker-compose explicit — no K8s)
4. Full-Stack adjacent (compressed Web & CMS / eCommerce together to keep density, since they are not the focus)
- **PrimeUI bullets**: reordered to lead with AI generation layer (Node.js backend) and public API + code-export pipeline. Added explicit "Owned the Node.js server runtime end-to-end" bullet that names WebSocket streaming, schema validation, retry/recovery, third-party API integrations — direct mapping to the day-to-day.
- **FocusReactive / Tipico bullet**: rewritten to lead with the scale number (75M+ req/month) — Hostinger explicitly looks for "production-level engineering from real challenges at scale".
- **Honest gaps**: NOT padded. Did NOT add Kubernetes, RabbitMQ/BullMQ/PubSub, Redis production, or Grafana — Oleg has only docker-compose level on K8s and exploratory contact with queues/Redis. Will address in cover letter as "willing to ramp on".
## Cover letter — points to hit
1. Open with: "I'm currently Tech Lead on PrimeUI, which is structurally and product-wise the same shape as the Horizons platform — AI-native, multi-surface, Node.js backend with multi-model orchestration. The day-to-day in this posting describes my current job."
2. Address location upfront: "I work remotely from GMT+7 as a Deel contractor with W-8BEN; is this role open to candidates outside Poland, or is Polish residency / EU work authorization required?"
3. Address compensation upfront if comfortable: "Could you share the compensation range and contract type (UoP vs B2B)?"
4. Address gaps honestly: "I'm strong on Node.js / TypeScript / PostgreSQL and on AI/LLM orchestration. I have Docker + docker-compose in production but no Kubernetes; I'm familiar with queue systems and Redis but have not run them at scale. Happy to ramp on those during the first months."
5. Production scale story: Tipico 75M req/month is the anchor.
## Timeline
- 2026-05-30 — CV tailored, location & comp questions open
- 2026-MM-DD — applied

View File

@ -0,0 +1,168 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Oleg Proskurin — CV — Hostinger Horizons (Backend Node.js)</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 Node.js Backend Engineer &amp; Tech Lead</strong></p>
<p class="contacts">Remote · GMT+7 (EMEA full 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 Node.js / TypeScript backend engineer and Tech Lead with 9 years of production
experience, currently leading the backend and AI generation layer of PrimeUI
(<a href="https://primeui.com/">primeui.com</a>, launched Feb 2026): an AI-native
"vibe coding" platform that ships customer-owned Next.js projects. Designed and operated
consumer-scale backends on PostgreSQL and the Sanity-based Tipico US platform (75M
requests/month, 122 CMS users). Comfortable owning services end-to-end: REST API design,
database modeling and optimization, performance tuning, third-party integrations, and
AI/LLM orchestration as a first-class backend concern.
</p>
</section>
<section class="cv-section cv-skills">
<h2>Skills</h2>
<p><strong>Backend &amp; APIs</strong>: TypeScript, Node.js, REST APIs, WebSockets, GraphQL. PostgreSQL, Drizzle ORM, SQL design and query optimization. Schema validation, retry/recovery, streaming responses. Public-API design for cross-host integrations (MCP server, CLI)</p>
<p><strong>AI Engineering</strong>: LLM orchestration and guardrails on the backend: multi-model routing (Claude / GPT / Gemini), context engineering, prompt caching (73% Gemini context-cache hit rate), schema validation, retry recovery. Embeddings-based retrieval. MCP: custom server development; cross-host agent integration</p>
<p><strong>Infrastructure &amp; Delivery</strong>: Docker, docker-compose. Vercel, Cloudflare, Serverless &amp; Edge functions. CI/CD pipelines, NPM package publishing. Web performance: Core Web Vitals, Lighthouse, WCAG</p>
<p><strong>Full-Stack adjacent</strong>: React, Next.js (App Router, SSR/SSG/ISR), TanStack Start/Router, Vite, Tailwind, shadcn-style design systems. Headless CMS: Sanity, Storyblok, Contentful, Payload</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 &amp; Senior Full-Stack 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" style="font-style: normal;">
PrimeUI (<a href="https://primeui.com/">primeui.com</a>, launched Feb 2026) is an
AI-native platform for generating production-ready websites, spanning Studio web app,
public API, MCP server, CLI, and code-export pipeline. Sole full-time engineer on the
project, owning roughly 70% of platform architecture across all surfaces.
</p>
<ul>
<li><strong>Architected the AI generation layer on the Node.js backend</strong>: multi-model orchestration via Mastra + Vercel AI SDK (10 agents, 17 workflows) with per-task routing across Claude, GPT, and Gemini; embeddings-based component retrieval over 1,555 chunks (OpenAI <code>text-embedding-3-small</code>) with three-tier fallback from exact key to family bucket to semantic search; prompt caching reaching 73% Gemini context-cache hit rate.</li>
<li><strong>Public API, code-export pipeline, and CLI</strong>: generates a production-ready Next.js project repo in ~45 seconds, ~1.5 minutes end-to-end from UI Export to a running local project. The generated codebase is customer-owned, shipped as a standard Next.js project, pre-configured for 8 selectable AI coding agents.</li>
<li><strong>Built and published <code>@primeuicom/mcp</code> on NPM</strong>: 25 tools that let any external codebase connect to PrimeUI from inside AI coding environments, with cross-host compatibility verified across 6 major coding agents (Claude Code, Cursor, Codex, others).</li>
<li><strong>Owned the Node.js server runtime end-to-end</strong>, including WebSocket-based streaming of model responses adapted to UI rendering, schema validation, retry and recovery flows for LLM calls, and third-party API integrations.</li>
<li><strong>Drove team AI-tooling adoption</strong>: Claude Code from project start, team transition to Codex ahead of public release. Open-sourced <a href="https://github.com/usulpro/codex-bee">codex-bee</a> and <a href="https://github.com/usulpro/epic-loop">epic-loop</a> as spinoffs.</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 &amp; 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" style="font-style: normal;">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 at consumer scale</strong>: 75M requests/month, 122 CMS users, 98 document types, 165K stored documents. 5 publishing environments, 3 datasets, white-label architecture for core + state teams.</li>
<li><strong>Built a Claude-based content automation pipeline</strong>: JSON translation flow for 190 country-specific Storyblok pages, integrated into publishing and saving ~1 month of manual work.</li>
<li><strong>Led migration of 15 client projects to Headless CMS and commerce platforms</strong> (Sanity, Storyblok, Contentful, Payload, Crystallize, Shopify, Hydrogen), restructuring content models and cutting update cycles from weeks to days.</li>
<li><strong>Designed and built CMS-KIT</strong>, an open-source Headless CMS starter and component library used across 15 client projects, cutting kickoff from days to hours and accelerating development by ~30%.</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; drove team adoption of Claude.ai for research, content, and codebase analysis from 2024 onwards.</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" style="font-style: normal;">Built 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" style="font-style: normal;">Built fuzzy-logic search system and advanced UI animations for the corporate-services platform.</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" style="font-style: normal;">B2B marketplace for Skolkovo Innovation Center (100 companies); GraphQL subscriptions for real-time chat.</p>
</article>
</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.iwm.org.uk/membership#membershipModal">IWM membership</a>,
<a href="https://focusreactive.com/notsoape-case-study/">NotSoApp</a>,
<a href="https://focusreactive.com/casino-reviews-case-study/">CasinoReviews</a>,
<a href="https://www.vegasslotsonline.com/">VegasSlotsOnLine</a>,
<a href="https://www.caleffionline.it/">Caleffy</a>,
<a href="https://focusreactive.com/hardhat-case-study/">Hadhat</a>,
<a href="https://focusreactive.com/porchlight-case-study/">Porchlight</a>,
<a href="https://github.com/GitNation/live-conferences">Gitnation</a>,
<a href="https://focusreactive.com/blog/">FocusReactive blog</a>,
<a href="https://rnd.sk.ru/lk/main">Skolkovo R&amp;D Market</a>,
<a href="https://join.reverse.health/tour/nutrition-monthly-generic-others">Reverse Health</a>,
<a href="https://www.firsty.app/">Firsty</a>
</p>
</section>
<section class="cv-section">
<h2>Open Source &amp; Writing</h2>
<ul>
<li><strong>Storybook</strong>: contributor and steering team member during the 20162017 community revival; addon maintainer (storybook-addon-console, <strong>7M NPM downloads</strong>; storybook-addon-material-ui, <strong>18K weekly</strong>).</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 solving context degradation in long autonomous coding sessions via techlead/engineer role separation and durable epic state.</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>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>
</body>
</html>

View File

@ -0,0 +1,88 @@
# OLEG PROSKURIN
**Senior Node.js Backend Engineer & Tech Lead**
Remote · GMT+7 (EMEA full overlap, US East AM) · Deel contractor, W-8BEN
usulpro@gmail.com · Telegram @usulpro · [LinkedIn](https://www.linkedin.com/in/oleg-proskurin-76784453/) · [GitHub](https://github.com/UsulPro) · [Dev.to](https://dev.to/usulpro) · [Blog](https://focusreactive.com/blog/author/usulpro/)
---
## Summary
Senior Node.js / TypeScript backend engineer and Tech Lead with 9 years of production experience, currently leading the backend and AI generation layer of PrimeUI ([primeui.com](https://primeui.com/), launched Feb 2026): an AI-native "vibe coding" platform that ships customer-owned Next.js projects. Designed and operated consumer-scale backends on PostgreSQL and the Sanity-based Tipico US platform (75M requests/month, 122 CMS users). Comfortable owning services end-to-end: REST API design, database modeling and optimization, performance tuning, third-party integrations, and AI/LLM orchestration as a first-class backend concern.
---
## Skills
**Backend & APIs**: TypeScript, Node.js, REST APIs, WebSockets, GraphQL. PostgreSQL, Drizzle ORM, SQL design and query optimization. Schema validation, retry/recovery, streaming responses. Public-API design for cross-host integrations (MCP server, CLI)
**AI Engineering**: LLM orchestration and guardrails on the backend: multi-model routing (Claude / GPT / Gemini), context engineering, prompt caching (73% Gemini context-cache hit rate), schema validation, retry recovery. Embeddings-based retrieval. MCP: custom server development; cross-host agent integration
**Infrastructure & Delivery**: Docker, docker-compose. Vercel, Cloudflare, Serverless & Edge functions. CI/CD pipelines, NPM package publishing. Web performance: Core Web Vitals, Lighthouse, WCAG
**Full-Stack adjacent**: React, Next.js (App Router, SSR/SSG/ISR), TanStack Start/Router, Vite, Tailwind, shadcn-style design systems. Headless CMS: Sanity, Storyblok, Contentful, Payload
---
## Experience
### PixelPoint Ltd. — Tech Lead & Senior Full-Stack Engineer, PrimeUI
**Feb 2025 Present** · France · Remote
PrimeUI ([primeui.com](https://primeui.com/), launched Feb 2026) is an AI-native platform for generating production-ready websites, spanning Studio web app, public API, MCP server, CLI, and code-export pipeline. Sole full-time engineer on the project, owning roughly 70% of platform architecture across all surfaces.
- **Architected the AI generation layer on the Node.js backend**: multi-model orchestration via Mastra + Vercel AI SDK (10 agents, 17 workflows) with per-task routing across Claude, GPT, and Gemini; embeddings-based component retrieval over 1,555 chunks (OpenAI `text-embedding-3-small`) with three-tier fallback from exact key to family bucket to semantic search; prompt caching reaching 73% Gemini context-cache hit rate.
- **Public API, code-export pipeline, and CLI**: generates a production-ready Next.js project repo in ~45 seconds, ~1.5 minutes end-to-end from UI Export to a running local project. The generated codebase is customer-owned, shipped as a standard Next.js project, pre-configured for 8 selectable AI coding agents.
- **Built and published `@primeuicom/mcp` on NPM**: 25 tools that let any external codebase connect to PrimeUI from inside AI coding environments, with cross-host compatibility verified across 6 major coding agents (Claude Code, Cursor, Codex, others).
- **Owned the Node.js server runtime end-to-end**, including WebSocket-based streaming of model responses adapted to UI rendering, schema validation, retry and recovery flows for LLM calls, and third-party API integrations.
- **Drove team AI-tooling adoption**: Claude Code from project start, team transition to Codex ahead of public release. Open-sourced [codex-bee](https://github.com/usulpro/codex-bee) and [epic-loop](https://github.com/usulpro/epic-loop) as spinoffs.
### [FocusReactive](https://focusreactive.com) — Tech Lead & Senior Software Engineer
**May 2019 Feb 2025** (5 yrs 10 mos) · London · Remote
International web consultancy for clients in the US, UK, Europe, and Australia.
- **Architected the Tipico US backend on Sanity Headless CMS at consumer scale**: 75M requests/month, 122 CMS users, 98 document types, 165K stored documents. 5 publishing environments, 3 datasets, white-label architecture for core + state teams.
- **Built a Claude-based content automation pipeline**: JSON translation flow for 190 country-specific Storyblok pages, integrated into publishing and saving ~1 month of manual work.
- **Led migration of 15 client projects to Headless CMS and commerce platforms** (Sanity, Storyblok, Contentful, Payload, Crystallize, Shopify, Hydrogen), restructuring content models and cutting update cycles from weeks to days.
- **Designed and built CMS-KIT**, an open-source Headless CMS starter and component library used across 15 client projects, cutting kickoff from days to hours and accelerating development by ~30%.
- **Led technical hiring and team development**: designed an assessment mirroring real working conditions, ran 30 interviews leading to 8 hires, mentored new engineers; drove team adoption of Claude.ai for research, content, and codebase analysis from 2024 onwards.
### [GitNation](https://github.com/GitNation/live-conferences) — Senior Software Engineer (Part-time, concurrent)
**May 2019 Feb 2025** · Remote
Built publishing flow via Slack API and a reusable web framework for conference websites; migrated GitNation conferences to Headless CMS.
### [Osome](https://osome.com/sg/) — Frontend Developer
**Jun 2018 May 2019** · Singapore
Built fuzzy-logic search system and advanced UI animations for the corporate-services platform.
### [Skipp](https://www.skipp.dev) — JavaScript Engineer
**Nov 2017 Jun 2018** · Moscow
B2B marketplace for Skolkovo Innovation Center (100 companies); GraphQL subscriptions for real-time chat.
---
## Portfolio
[PrimeUI](https://primeui.com/), [MarketFinance](https://focusreactive.com/marketfinance-case-study/), [Tipico-Platform](https://focusreactive.com/sanity-platform-case-study/), [IWM membership](https://www.iwm.org.uk/membership#membershipModal), [NotSoApp](https://focusreactive.com/notsoape-case-study/), [CasinoReviews](https://focusreactive.com/casino-reviews-case-study/), [VegasSlotsOnLine](https://www.vegasslotsonline.com/), [Caleffy](https://www.caleffionline.it/), [Hadhat](https://focusreactive.com/hardhat-case-study/), [Porchlight](https://focusreactive.com/porchlight-case-study/), [Gitnation](https://github.com/GitNation/live-conferences), [FocusReactive blog](https://focusreactive.com/blog/), [Skolkovo R&D Market](https://rnd.sk.ru/lk/main), [Reverse Health](https://join.reverse.health/tour/nutrition-monthly-generic-others), [Firsty](https://www.firsty.app/)
---
## Open Source & Writing
- **Storybook**: contributor and steering team member during the 20162017 community revival; addon maintainer (storybook-addon-console, **7M NPM downloads**; storybook-addon-material-ui, **18K weekly**).
- **AI developer tooling**: [codex-bee](https://github.com/usulpro/codex-bee), a wrapper for long-running Codex sessions; [epic-loop](https://github.com/usulpro/epic-loop), a Codex skill solving context degradation in long autonomous coding sessions via techlead/engineer role separation and durable epic state.
- **Technical writing**: articles on frontend, Headless CMS, and developer tooling at [FocusReactive blog](https://focusreactive.com/blog/author/usulpro/) and [Dev.to](https://dev.to/usulpro).
---
## Education
**Master in Engineering**, Faculty of Electronic Engineering, Moscow Power Engineering University ([MPEI](https://mpei.ru/lang/en/Pages/default.aspx)), Russia
---
## Languages
English C1 · Russian native

6
tailored/salmon/CL.md Normal file
View File

@ -0,0 +1,6 @@
Hi,
I'm applying for the Frontend Engineer (React / Next.js) role. I have 9 years of commercial experience, more than 5 of them building and maintaining shared UI libraries as part of my workflows, plus a long open-source track record around component tooling.
My open-source work centers on component tooling: I was on the Storybook steering team during the 20162017 revival, I maintain storybook-addon-material-ui (18K weekly downloads) and storybook-addon-console (7M total), and I published @usulpro/color-picker, a Material-style React color picker that still gets ~17K weekly downloads. At PrimeUI (primeui.com) I built and maintain a library of 200+ React components, the design-system tooling, and the pipeline that composes them into production pages. I've also shipped fintech directly: the frontend for MarketFinance (focusreactive.com/marketfinance-case-study). And I've worked at production scale, architecting a Sanity backend that handled 75M requests/month.
My day-to-day stack: TypeScript, React, 7 years of Next.js (App Router, SSR/SSG/ISR), Redux Toolkit and RTK Query in production, Emotion for styling, REST and GraphQL with generated typings. I spent dedicated effort on performance at FocusReactive: Core Web Vitals, Lighthouse, bundle analysis, accessibility. Testing with RTL, Jest, Playwright, Vitest. Code review and architecture are daily routine.
I'm based in Thailand, GMT+7, and my working hours are 11am8pm, which fully overlaps with your 126 PM GMT+8 core hours. Happy to walk through any of this on a call.
Oleg Proskurin

View File

@ -0,0 +1,179 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Oleg Proskurin — CV — Salmon (Senior Frontend)</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 &amp; Full-Stack Engineer / Tech Lead</strong></p>
<p class="contacts">Remote · GMT+7 (EMEA overlap, AU overlap) · 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 and full-stack engineer with 9 years of production experience,
specialized in <strong>React, Next.js, and TypeScript</strong> with deep
<strong>design-system and component-library</strong> work, including 5 years
leading remote projects for US, UK, EU, and AU clients. Storybook steering-team
alumnus and maintainer of widely-used Material-UI and component tooling on NPM.
Comfortable across the full stack: Redux Toolkit / RTK Query state, Emotion
styling, REST / GraphQL integration with generated typings, web performance
(Core Web Vitals, bundle analysis) and accessibility. Currently Tech Lead on
PrimeUI (<a href="https://primeui.com/">primeui.com</a>, launched Feb 2026),
where I built and maintain a 200+ React component library, the design-system
tooling, and the pipeline that composes components into production pages.
</p>
</section>
<section class="cv-section cv-skills">
<h2>Skills</h2>
<p><strong>Frontend</strong>: TypeScript, React (18/19), Next.js (App Router, SSR/SSG/ISR, data fetching). Redux Toolkit, RTK Query. Emotion, Tailwind, Material-UI (MUI), shadcn-style design systems. TanStack Start/Router, Vite, Webpack. Component-driven development, design systems &amp; shared component libraries, Storybook, theming &amp; localization</p>
<p><strong>Testing &amp; Quality</strong>: React Testing Library, Jest, Playwright, Vitest. Sentry, error monitoring. ESLint, Prettier. CI/CD: GitHub Actions, Bitbucket Pipelines, CircleCI, Travis, Netlify, Vercel. Code review, architecture design</p>
<p><strong>Performance &amp; Accessibility</strong>: Core Web Vitals, Lighthouse, bundle analysis, render optimization, WCAG</p>
<p><strong>Data &amp; Integration</strong>: REST &amp; GraphQL with generated API typings, WebSockets. PostgreSQL, Drizzle ORM. Vercel, Cloudflare, Serverless &amp; Edge functions, Docker</p>
<p><strong>Headless CMS &amp; eCommerce</strong>: Sanity, Storyblok, Contentful, Payload, Hygraph, DatoCMS. Shopify, Crystallize, Stripe. Content modeling, multi-environment publishing, large-scale migrations</p>
<p><strong>AI Engineering</strong>: LLM orchestration (multi-model routing, prompt caching), MCP server development, AI-augmented development workflows (Claude Code, Codex daily)</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 &amp; Senior Frontend / Full-Stack 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" style="font-style: normal;">
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 maintained the component library that is the core product asset</strong>: 200+ React components with props schemas, variants, and design constraints, organized into families and groups. Curated and structured it as a design system that the rest of the 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 component library, so generated pages carry a consistent 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.</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): canvas-based sitemap interface, generation/preview/editing UI, with WebSocket-based streaming of responses into the UI.</li>
<li><strong>Designed the code-export pipeline</strong>: generates a customer-owned, production-ready Next.js + Tailwind project (no vendor lock-in) in ~45 sec, ~1.5 min end-to-end. Also built and published the <code>@primeuicom/mcp</code> server on NPM (25 tools, verified across 6 coding agents).</li>
<li><strong>Run code review and architecture discussions</strong> as daily routine; introduced Claude Code and Codex into team workflow, 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 &amp; Senior Frontend / 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" style="font-style: normal;">
International web consultancy for clients in the US, UK, Europe, and Australia.
Shipped 15 production Next.js / React applications with TypeScript, Redux Toolkit
and RTK Query, headless CMS, and serverless/edge backends.
</p>
<ul>
<li><strong>Built and maintained shared component libraries and design systems</strong> across client projects, working component-driven with Storybook, theming, and localization. Shipped CMS-KIT, an open-source Headless CMS starter and component library reused across 15 projects, cutting kickoff from days to hours and accelerating development by ~30%.</li>
<li><strong>Owned frontend performance and accessibility</strong>: optimized client applications for Core Web Vitals, ran bundle analysis and render optimization, and brought pages to WCAG accessibility standards.</li>
<li><strong>Built the frontend for MarketFinance</strong> (<a href="https://focusreactive.com/marketfinance-case-study/">case study</a>), a fintech lending platform, and other consumer-facing products across regulated and high-traffic domains.</li>
<li><strong>Architected the Tipico US backend on Sanity Headless CMS</strong>: 5 publishing environments, 3 datasets, white-label architecture. Operating scale: 122 CMS users, 75M requests/month, 98 document types, 165K stored documents.</li>
<li><strong>Integrated REST and GraphQL APIs with generated typings</strong> across projects; authored a <a href="https://focusreactive.com/headless-graphql-api-comparison/">comparison of headless GraphQL APIs</a> on the FocusReactive blog.</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; introduced error monitoring (Sentry) and code-review practices.</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" style="font-style: normal;">Built 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" style="font-style: normal;">Built fuzzy-logic search system and advanced UI animations for the corporate-services platform.</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" style="font-style: normal;">B2B marketplace for Skolkovo Innovation Center (100 companies); GraphQL subscriptions for real-time chat.</p>
</article>
</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://www.firsty.app/">Firsty</a>,
<a href="https://focusreactive.com/sanity-platform-case-study/">Tipico-Platform</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://www.caleffionline.it/">Caleffy</a>,
<a href="https://focusreactive.com/hardhat-case-study/">Hardhat</a>,
<a href="https://focusreactive.com/porchlight-case-study/">Porchlight</a>,
<a href="https://github.com/GitNation/live-conferences">Gitnation</a>,
<a href="https://focusreactive.com/blog/">FocusReactive blog</a>,
<a href="https://join.reverse.health/tour/nutrition-monthly-generic-others">Reverse Health</a>
</p>
</section>
<section class="cv-section">
<h2>Open Source &amp; Writing</h2>
<ul>
<li><strong>Storybook</strong>: contributor and steering team member during the 20162017 community revival; addon maintainer (storybook-addon-console, 7M NPM downloads total; storybook-addon-material-ui, 18K weekly).</li>
<li><strong>UI components</strong>: <a href="https://www.npmjs.com/package/@usulpro/color-picker"><code>@usulpro/color-picker</code></a>, a Material-style React color-picker component, ~17K weekly downloads six years after release.</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 addressing context degradation in long autonomous coding sessions.</li>
<li><strong>Technical writing</strong>: articles on frontend, Headless CMS, GraphQL, 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>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>
</body>
</html>

View File

@ -0,0 +1,94 @@
# OLEG PROSKURIN
**Senior Frontend & Full-Stack Engineer / Tech Lead**
Remote · GMT+7 (EMEA overlap, AU overlap) · Deel contractor, W-8BEN
usulpro@gmail.com · Telegram @usulpro · [LinkedIn](https://www.linkedin.com/in/oleg-proskurin-76784453/) · [GitHub](https://github.com/UsulPro) · [Dev.to](https://dev.to/usulpro) · [Blog](https://focusreactive.com/blog/author/usulpro/)
---
## Summary
Senior frontend and full-stack engineer with 9 years of production experience, specialized in **React, Next.js, and TypeScript** with deep **design-system and component-library** work, including 5 years leading remote projects for US, UK, EU, and AU clients. Storybook steering-team alumnus and maintainer of widely-used Material-UI and component tooling on NPM. Comfortable across the full stack: Redux Toolkit / RTK Query state, Emotion styling, REST / GraphQL integration with generated typings, web performance (Core Web Vitals, bundle analysis) and accessibility. Currently Tech Lead on PrimeUI ([primeui.com](https://primeui.com/), launched Feb 2026), where I built and maintain a 200+ React component library, the design-system tooling, and the pipeline that composes components into production pages.
---
## Skills
**Frontend**: TypeScript, React (18/19), Next.js (App Router, SSR/SSG/ISR, data fetching). Redux Toolkit, RTK Query. Emotion, Tailwind, Material-UI (MUI), shadcn-style design systems. TanStack Start/Router, Vite, Webpack. Component-driven development, design systems & shared component libraries, Storybook, theming & localization
**Testing & Quality**: React Testing Library, Jest, Playwright, Vitest. Sentry, error monitoring. ESLint, Prettier. CI/CD: GitHub Actions, Bitbucket Pipelines, CircleCI, Travis, Netlify, Vercel. Code review, architecture design
**Performance & Accessibility**: Core Web Vitals, Lighthouse, bundle analysis, render optimization, WCAG
**Data & Integration**: REST & GraphQL with generated API typings, WebSockets. PostgreSQL, Drizzle ORM. Vercel, Cloudflare, Serverless & Edge functions, Docker
**Headless CMS & eCommerce**: Sanity, Storyblok, Contentful, Payload, Hygraph, DatoCMS. Shopify, Crystallize, Stripe. Content modeling, multi-environment publishing, large-scale migrations
**AI Engineering**: LLM orchestration (multi-model routing, prompt caching), MCP server development, AI-augmented development workflows (Claude Code, Codex daily)
---
## Experience
### PixelPoint Ltd. — Tech Lead & Senior Frontend / Full-Stack Engineer, PrimeUI
**Feb 2025 Present** · France · Remote
PrimeUI ([primeui.com](https://primeui.com/), 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.
- **Built and maintained the component library that is the core product asset**: 200+ React components with props schemas, variants, and design constraints, organized into families and groups. Curated and structured it as a design system that the rest of the platform builds on.
- **Built the design-system tooling**: an internal tool to define a project's visual identity (colors, typography, design tokens) and apply it across the component library, so generated pages carry a consistent theme.
- **Built a component-matching scoring model** 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.
- **Set up the page generation pipeline**: 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.
- **Own the Studio web app frontend** (TanStack Start, React, TypeScript): canvas-based sitemap interface, generation/preview/editing UI, with WebSocket-based streaming of responses into the UI.
- **Designed the code-export pipeline**: generates a customer-owned, production-ready Next.js + Tailwind project (no vendor lock-in) in ~45 sec, ~1.5 min end-to-end. Also built and published the `@primeuicom/mcp` server on NPM (25 tools, verified across 6 coding agents).
- **Run code review and architecture discussions** as daily routine; introduced Claude Code and Codex into team workflow, built custom developer tooling on top (codex-bee, epic-loop).
### [FocusReactive](https://focusreactive.com) — Tech Lead & Senior Frontend / Software Engineer
**May 2019 Feb 2025** (5 yrs 10 mos) · London · Remote
International web consultancy for clients in the US, UK, Europe, and Australia. Shipped 15 production Next.js / React applications with TypeScript, Redux Toolkit and RTK Query, headless CMS, and serverless/edge backends.
- **Built and maintained shared component libraries and design systems** across client projects, working component-driven with Storybook, theming, and localization. Shipped CMS-KIT, an open-source Headless CMS starter and component library reused across 15 projects, cutting kickoff from days to hours and accelerating development by ~30%.
- **Owned frontend performance and accessibility**: optimized client applications for Core Web Vitals, ran bundle analysis and render optimization, and brought pages to WCAG accessibility standards.
- **Built the frontend for MarketFinance** ([case study](https://focusreactive.com/marketfinance-case-study/)), a fintech lending platform, and other consumer-facing products across regulated and high-traffic domains.
- **Architected the Tipico US backend on Sanity Headless CMS**: 5 publishing environments, 3 datasets, white-label architecture. Operating scale: 122 CMS users, 75M requests/month, 98 document types, 165K stored documents.
- **Integrated REST and GraphQL APIs with generated typings** across projects; authored a [comparison of headless GraphQL APIs](https://focusreactive.com/headless-graphql-api-comparison/) on the FocusReactive blog.
- **Led technical hiring and team development**: designed an assessment mirroring real working conditions, ran 30 interviews leading to 8 hires, mentored new engineers; introduced error monitoring (Sentry) and code-review practices.
### [GitNation](https://github.com/GitNation/live-conferences) — Senior Software Engineer (Part-time, concurrent)
**May 2019 Feb 2025** · Remote
Built publishing flow via Slack API and a reusable web framework for conference websites; migrated GitNation conferences to Headless CMS.
### [Osome](https://osome.com/sg/) — Frontend Developer
**Jun 2018 May 2019** · Singapore
Built fuzzy-logic search system and advanced UI animations for the corporate-services platform.
### [Skipp](https://www.skipp.dev) — JavaScript Engineer
**Nov 2017 Jun 2018** · Moscow
B2B marketplace for Skolkovo Innovation Center (100 companies); GraphQL subscriptions for real-time chat.
---
## Portfolio
[PrimeUI](https://primeui.com/), [MarketFinance](https://focusreactive.com/marketfinance-case-study/), [Firsty](https://www.firsty.app/), [Tipico-Platform](https://focusreactive.com/sanity-platform-case-study/), [IWM membership](https://www.iwm.org.uk/membership#membershipModal), [NotSoApp](https://focusreactive.com/notsoape-case-study/), [Caleffy](https://www.caleffionline.it/), [Hardhat](https://focusreactive.com/hardhat-case-study/), [Porchlight](https://focusreactive.com/porchlight-case-study/), [Gitnation](https://github.com/GitNation/live-conferences), [FocusReactive blog](https://focusreactive.com/blog/), [Reverse Health](https://join.reverse.health/tour/nutrition-monthly-generic-others)
---
## Open Source & Writing
- **Storybook**: contributor and steering team member during the 20162017 community revival; addon maintainer (storybook-addon-console, 7M NPM downloads total; storybook-addon-material-ui, 18K weekly).
- **UI components**: [`@usulpro/color-picker`](https://www.npmjs.com/package/@usulpro/color-picker), a Material-style React color-picker component, ~17K weekly downloads six years after release.
- **AI developer tooling**: [codex-bee](https://github.com/usulpro/codex-bee), a wrapper for long-running Codex sessions; [epic-loop](https://github.com/usulpro/epic-loop), a Codex skill addressing context degradation in long autonomous coding sessions.
- **Technical writing**: articles on frontend, Headless CMS, GraphQL, and developer tooling at [FocusReactive blog](https://focusreactive.com/blog/author/usulpro/) and [Dev.to](https://dev.to/usulpro).
---
## Education
**Master in Engineering**, Faculty of Electronic Engineering, Moscow Power Engineering University ([MPEI](https://mpei.ru/lang/en/Pages/default.aspx)), Russia
---
## Languages
English C1 · Russian native

Binary file not shown.

View File

@ -7,3 +7,4 @@ Statuses: `applied` → `screen` → `interview` → `offer` / `rejected` / `wit
| Date | Company | Role | Channel | CV used | Status | Last update | Notes |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 2026-MM-DD | Example Co | Senior FE Engineer | LinkedIn / referral / direct | `tailored/example-co/cv.pdf` | applied | 2026-MM-DD | Link to JD, recruiter name |
| 2026-05-30 | Hostinger (Horizons) | Backend Software Engineer \| Node.js \| Remote | direct (Ashby) | `tailored/hostinger-horizons-backend/oleg_proskurin_senior_frontend_backend_cv.pdf` | to apply | 2026-05-30 | JD: https://jobs.ashbyhq.com/hostinger/8e4d93c1-ce2a-4e2a-a3af-d477222ace0f · EM: Tadas Paplauskas · Open questions: location (Poland-only?) + comp range + UoP vs B2B |