nile
44ms

Senior Frontend Engineer. I own Vue 3 + TypeScript frontends for real-time, multi-brand products - architecture, design system, and the metrics after ship.
Punta del Este, Uruguay · Remote
Open to Senior Frontend and UI Platform roles. Vue.js, TypeScript, Design Systems, Real-Time Web Apps.
I ship Vue, React, and TypeScript products end to end: spec, architecture, UI, tests, then the numbers. At Looptain that was one codebase for three live brands, a token-driven design system, and real-time gameplay plus wallet sync over WebSockets. I am now building Noxaren, a white-label demo casino: React player app, operator console, and the NestJS API behind them.
The work I care about is usually invisible in a GitHub sample. Animation pipelines that hold 60/30 FPS. A JavaScript bundle cut by about 30%. Lighthouse load from ~2.0s to ~1.5s. PostHog owned on the frontend - flags, experiments, offer timing - not bolted on after launch.
I use AI as leverage, not as the author. It handles research, scaffolding, refactors, and first drafts. I keep architecture, taste, and review. I do not ship generated slop. If it goes out, I can defend every line.
At Looptain I worked with product, design, backend, QA, and data in a six-engineer team. Native Russian. English for speech, writing, and technical docs. Remote from Punta del Este.
Noxaren is the platform I built alone. Below that, Looptain is the measured frontend: load, bundle, brands, components, and frame budget. The component line is an illustrative path to the 50+ floor.
Three systems, one person. The player, the API, and the admin. A win is settled on the server, and the platform runs without SQL.
Player
React 19 · Vite · Socket.IO
API
NestJS · Postgres · Redis
Admin
React · MUI · NestJS
Crash
noxaren.com/crashOne camera for the curve, the ship, and every cash-out.
The multiplier is a curve that keeps growing. A camera follows it. A 3D ship rides that curve, with flame, spin, and parallax stars and planets behind it. Other players' cash-outs pin to the same camera, so a marker stays on the curve as it moves. On crash the chart freezes and the ship blows. Axis labels, markers, and the rocket have to agree on one frame, including when motion is reduced.
Plinko
noxaren.com/plinkoMany balls in the air, one decided bucket each.
A drop is a peg path the server already chose. The board draws it in Pixi: a trail, the bounce, then the ball slips behind the bucket rim and the bucket fires. Autoplay keeps several balls in flight. Changing rows or risk rebuilds the pegs and the buckets. A narrow screen takes a lighter draw path. The motion has to look physical and still finish in that bucket.
Chicken
noxaren.com/chickenA hop, a scrolling road, and traffic that has not arrived yet.
Each step is a short hop with a ghost trail. The road scrolls so the chicken stays in the middle of five visible lanes and never slides off either end. Cars run in lanes ahead, so the next lane is not shown as safe before the player commits. Cash out, or take the hit. The hop, the camera, and the traffic have to land on the same lane.
Tower
noxaren.com/towerOne live floor, then the whole tower climbs.
Only the next floor accepts a pick. A press settles into safe or trap. A safe door clears the floor and the board climbs by one measured row, so a resize does not leave the climb short. A trap blows that door and reveals the rest of the floor. Glow steps up as you climb. The pick, the reveal, and the climb offset have to move together.
Gameplay UI, not a marketing landing page. Lazy routes, asset delivery, render strategy.
Lighthouse load 2 seconds before, 1.5 seconds after.
Vite analyzer: code splitting, dependency cleanup, build config.
One tree. Three live production skins. Same components, tokens, and ship path.
Codebase
Vue 3 + TypeScript
1 frontend
01
Live brand
02
Live brand
03
Live brand
One Vue 3 and TypeScript codebase serving 3 live production brands.
Illustrative build-up on the current platform, from first tokens to the Storybook floor. Fifty is the landed count, not a sprint log.
Component library growing from 6 to 50 or more.
Crate and gameplay UI. The clay line is one pass before the render budget - it hunts between 50 and 15. After: desktop holds 60, mobile holds 30.
Held floor
Average before vs after, desktop and mobile.
One live pass
Same UI over time. Jagged is the old pass. Flat is the held budget.
Before optimizations, frames swung between 50 and 15 FPS. After, desktop holds 60 and mobile holds 30.
Tokens, a wallet sheet, a live feed, a roll, a stack you can try, and an upgrader on those marks - the kind of UI I ship, compressed into this page.
Switch skins. The tree stays. Open wallet for the real sheet.
Atlas
live · 3 brandsSame tree, same tokens contract. Figma tokens in, one component out.
Wallet, live count, and a roll over a synthetic socket.
Wallet
$2,480.00
184 live
Start the roll. The land is the reveal.
Newest events land first. The rail carries them off.
nile
44ms
orio
40ms
ash
36ms
lumen
32ms
rex
28ms
mira
24ms
kade
20ms
nova
16ms
Tap a mark to load the wheel, then spin.Click a mark or drag it onto the target. Tiles can grow to 5×5.
Chance dial
Tap a mark to load it. Drag the hold to aim. A thinner hold is harder to keep.Click a mark or drag it onto the target. A thinner hold aims bigger.
0% to holdAlready 5×5
0%
Set the hold, then spin.Drag a mark onto the target slot. Tiles can grow up to 5×5.
Daily driver. Vue 3 Composition API on the current platform, plus earlier Vue 2 / Nuxt work.
Aug 2026 – Present2 moIndependent · Remote
Noxaren
Building Noxaren, a white-label demo casino: player app, operator console, and the NestJS API. Virtual NOX only. The server settles every result.
React 19 · TypeScript · Vite · Tailwind · TanStack Query · Socket.IO · MUI
noxaren.com/crashnoxaren.com/plinkonoxaren.com/chickennoxaren.com/tower
May 2024 – Oct 20262 yr 5 moRemote
Looptain.Limited
Owned the Vue 3 + TypeScript frontend for a real-time web platform: architecture, design system, gameplay UI, wallet, and product analytics. Spec → ship → metrics with product, design, backend, QA, and data.
Vue 3 · TypeScript · Pinia · Vite · Tailwind · WebSockets · Storybook · PostHog · Playwright
Sep 2021 – Jul 202211 moTürkiye · Remote
Insider
Customer-engagement and marketing automation platform used by global enterprise clients.
Vue.js · JavaScript · NPM · REST · PHP · Go
Dec 2020 – Dec 20211 yr 1 moMoscow · Remote
Unicode
Visual website constructor - a Tilda-style site builder for user-generated pages.
Vue.js · JavaScript · Jest · REST · Python
Dec 2019 – Jan 20211 yr 2 moPoland
SEDEMO Trading and Investments
Real-time live platform - the same product class as the later roles.
Vue.js · Nuxt.js · JavaScript · SCSS · REST · PHP
Independent · Aug 2026–present
White-label demo casino: React player app, operator console, and a NestJS API. Virtual NOX only.
Crash holds one camera for the curve, the ship, and every cash-out. Plinko keeps several balls in flight and lands each in the decided bucket. Chicken times a hop against traffic on a road that scrolls to stay centered. Tower climbs one measured floor per safe pick and reveals the floor on a trap. Admin covers users, risk, bans, RTP, VIP, and retention.
React 19 · TypeScript · Vite · Tailwind · Socket.IO · MUI
noxaren.com/crashnoxaren.com/plinkonoxaren.com/chickennoxaren.com/tower
Looptain · 2024–2026
One Vue 3 + TypeScript frontend serving three live brands, with gameplay and wallet state over WebSockets.
Hundreds of concurrent players on live rooms and match surfaces. Low-latency game state and wallet sync.
Vue 3 · TypeScript · Pinia · WebSockets · Vite
Looptain · design system
Token-driven component library that replaced one-off brand UI with a single production system.
50+ reusable components, Storybook, Figma tokens. One codebase, three production brands, CDN-delivered assets.
Storybook · Figma tokens · Tailwind · SCSS
Looptain · platform
Bundle, load, and frame-budget work on interactive gameplay UI - not a marketing landing page.
JS bundle about −30%. Lighthouse load ~2.0s → ~1.5s. Animation pipelines holding 60/30 FPS on live gameplay screens.
Vite · Webpack · Lighthouse · GSAP
Unicode · 2020–2021
Editor and renderer for user-generated sites: layout, blocks, preview, publish.
Python API integration for structure and assets. Jest coverage on editor and publish. Mentored juniors on the same codebase.
Vue.js · Jest · Python APIs
Open to Senior Frontend and UI Platform roles. Punta del Este, Uruguay. Remote.