00

Ilia Dereviashkin

I design and build complex, stateful product interfaces.

I turn product requirements into robust frontend systems — with careful state modeling, clear boundaries, strong contracts, and an emphasis on keeping complexity under control as products evolve.

Core
React / TypeScript
Company
Kameleoon · 2021—Present
Work
Remote
01

Kameleoon

AI-powered A/B Experiment Builder

Took the frontend from MVP to production for an AI-assisted experiment builder used to create, preview, compare, and refine website variations through prompts and human-in-the-loop interactions.

Role

Sole frontend engineer during the MVP. I designed the initial frontend architecture, state model, AI conversation experience, preview synchronization, manual editing and compare flows, and the frontend testing approach.

Today, I continue to design most product-facing frontend architecture in a three-person frontend team, collaborating with a frontend-oriented tech lead on browser injection, CSP, and CORS constraints.

Coordinated state

  1. Prompt execution
  2. Conversation storage
  3. Experiment state
  4. Local UI state
  5. Generated variation
  6. Preview / compare / manual edit
01

Keep local state minimal

Backend-owned data stays backend-owned. Local state contains only what is required to reproduce the current interface.

02

Derive instead of synchronize

If information can be computed from existing state, derive it rather than maintain another mutable copy. Expensive derivations are memoized only when necessary.

03

Design message content for evolution

Evolved human messages from plain prompts into strongly typed structured content while keeping the conversation-storage service generic. That later allowed richer messages and HITL flows to be introduced without redesigning the storage service.

04

Make external boundaries explicit

Use generated OpenAPI and GraphQL contracts where possible, strong internal typing, and Zod runtime validation where external data crosses application boundaries.

02

Kameleoon

Feature Flags & Experimentation

Joined the team as a junior when the product was primarily a feature kill switch, then worked on it as it evolved into a broader feature-management and experimentation platform.

Editor model

Feature flag
├─ Environments
│  └─ Rules
│     ├─ Variation
│     ├─ Audience
│     ├─ Scheduling
│     └─ Rule-specific config
├─ Variations
├─ Variables
└─ Goals

The main engineering goal was not novelty. It was keeping a configuration-heavy editor stable, maintainable, and predictable while the domain expanded with experimentation, results, and integrations.

For a period I operated as the sole frontend engineer: making frontend technical decisions, implementing features, maintaining the product, resolving reported frontend issues, and participating in GraphQL API contract discussions.

  1. 01
    Joined as a junior

    Implemented scoped work independently with close review.

  2. 02
    Increasing autonomy

    Gradually became responsible for frontend technical decisions.

  3. 03
    Sole frontend period

    Handled frontend feature work, maintenance, reported issues, and API contract discussions.

  4. 04
    Moved to AI Builder

    After another frontend engineer joined, moved to the new product as its sole frontend engineer for the MVP.

03

Principles I use to keep complex frontend systems predictable.

01

Keep state minimal

Persist the source of truth. Store only the state required to reproduce the interface.

02

Derive instead of synchronize

Avoid duplicated representations of the same information. Derive them from authoritative state whenever possible.

03

Make boundaries explicit

Strong types inside the application. Generated contracts and runtime validation at system boundaries.

04

Refactor before complexity compounds

Small structural changes are cheaper while the system is still understandable.

05

Design for evolution, not speculation

Create room for demonstrated directions of change without generalizing for hypothetical requirements.

04

July 2021 — Present

Kameleoon

Middle Frontend Developer

Joined Kameleoon as a junior frontend engineer and grew into independently owning frontend technical decisions for substantial product areas. Worked first on Feature Flags as the product evolved into a full experimentation platform, then moved to the AI Builder as its sole frontend engineer during the MVP.

2021
Feature Flags

Joined as a junior frontend engineer.

Later
Increasing autonomy

Independent implementation, frontend decisions, and GraphQL contract discussions.

Then
Sole frontend responsibility

Owned the frontend side of Feature Flags for a period.

MVP
AI Builder

Sole frontend engineer; established the initial product-facing frontend architecture.

Now
Product-facing architecture

Continue to design most of the product-facing frontend system in a three-person frontend team.

05

Tools are secondary to the system they serve.

Core

React · TypeScript · GraphQL · OpenAPI · Zod

Libraries & tooling

Redux Toolkit · Zustand · TanStack Query · React Router · Vite · Vitest · Playwright · Storybook

06

Remote frontend opportunities

Interested in working together?

I’m open to remote frontend engineering opportunities where complex product work, technical ownership, and implementation quality matter.

dereviashkinilia@gmail.com