chornous.dev

Projects·Volodymyr Chornous

Project systems with clear contracts.

A small set of realistic, editable project records — each rendered from typed data, not hardcoded markup spread across routes. Front-end platforms built to hold real product pressure.

Records6 systems
In progress2 active
Finished3 systems
Filter
01
Finished2026
/ chornous-dev
Animated chornous.dev brand logo

chornous.dev

The finished production baseline for this portfolio: static App Router pages, typed publishing, fast search, and motion kept outside the content contract.

Built with Next.js App Router, React 19, strict TypeScript, Tailwind CSS v4, Zod-validated MDX, and Pagefind. One loader keeps local and Outstatic posts consistent across pages, tags, RSS, sitemap, and search; isolated animation layers and reduced-motion fallbacks keep the publishing system dependable.

RoleProduct engineer and systems designer
Next.js App RouterReact 19Strict TypeScriptTailwind CSS v4Zod + MDXPagefind
02
In progress2026-present
/ meridian
  • Meridian weekly meal plan on a mobile viewport
  • Meridian today view with the generated plan and daily meals

Meridian

A meal-planning PWA that turns a dietitian's PDF into a reusable meal pool and a seven-day plan without inventing meals.

V1 is live with PDF review and import, two-person profiles and portions, recipes, favourites, history, shopping lists, reminders, and offline use. I kept it to vanilla JavaScript, localStorage, a static Tailwind build, and a bounded backtracking generator to prove the workflow first. The in-progress V2 is planned around SQLite, PowerSync, Supabase, TanStack Start, and Capacitor.

RoleProduct engineer
Vanilla JavaScriptTailwind CSSPDF.jsPWA
03
In progress2026-present
/ gaming-story
  • GamingStory desktop library with game cards, filters, and backlog navigation
  • GamingStory mobile library showing the responsive game backlog

GamingStory

A private-first journal for keeping a game backlog, playtime, notes, and only the progress someone chooses to share.

The tested local V1 spans a React 19 and Vite web app, React Native 0.82 with Expo 54, and a typed Node and SQLite API in one TypeScript npm monorepo. Separate note, tip, and progress models keep private writing out of public feeds; a modular monolith keeps the first deployment simple. OAuth, object-storage uploads, production routes, and wiring the current in-memory clients to the API are still in progress.

RoleProduct engineer and systems designer
React 19 + Vite 7React Native 0.82Expo 54Node.js + SQLiteOpenAPI
2026-present
04
Concept2026
/ motion-interface-lab
Chornous logo on a dark motion surface

Motion interface lab

A compact interaction lab for testing spring states, route reveals, and physics-inspired UI without harming accessibility.

A practical design engineering sandbox focused on when motion clarifies UI state: hover tension, drag affordances, reduced-motion fallbacks, and bounded Matter.js token fields.

RoleInteraction engineer
Motion for React@react-spring/webMatter.js
05
Finished2025-2026
/ typed-content-toolkit

Typed content toolkit

A local content pipeline pattern for portfolios and docs that validates frontmatter before pages, feeds, and search can publish it.

A reusable approach to parse MDX once, validate metadata with Zod, derive tags and feeds from shared helpers, and keep draft filtering consistent across public surfaces.

RoleContent systems engineer
Zodgray-matterRSSsitemap
2025-2026
06
Finished2025
/ frontend-review-ops

Frontend review operations

A pragmatic workflow for tightening PR review around visual QA, browser evidence, accessibility checks, and production build health.

A review system that makes UI changes easier to trust by pairing deterministic checks with browser screenshots, route smoke tests, and concise verification notes.

RoleFront-end lead
BiomeBrowser QATypeScriptCI

Want a system like these for your product, not another pile of one-off screens?

Each project above is a contract: typed data, accessible states, and motion that clarifies instead of decorates. Email is the primary route — open to senior front-end roles and focused engagements.