GRISHALEVINE-ROZENVAYN 

Frontend & platform engineer and team lead building data-heavy, real-time UIs — live 911 maps and transcripts, micro-frontends, design-system infrastructure — plus open-source apps on the AT Protocol.

📍 New York, NY he/him ↳ led teams up to 14 engineers

selected work

Projects.

also in the workshop

nosky

Creator & Lead Engineer · 2026

ATProto social client (Expo/RN) that bypasses the centralized AppView — fans out directly to followed PDS servers with client-side merge/sort, on the Microcosm stack (Slingshot, Constellation, Spacedust).

Social Leagues

Founder & Lead · in dev

Multi-tenant sports social platform (Fastify, Postgres, Socket.io, Expo) replacing LeagueApps — ~10K players across 4 cities, real-time war room, referee app, portable identity.

viewsky

Creator & Lead Engineer · 2025

Full-stack ATProto feed viewer — instant browse plus self-hosted Jetstream indexing, full-text search, and getFeedSkeleton so feeds work inside Bluesky.

ATmosphereConf

OSS Contributor · 2026

Theming system for the official AT Protocol conference site (Astro + React + Tailwind) — 5+ community themes auto-detected by handle, plus flippable profile cards. 38 commits, ~7K lines.

Blento

OSS Contributor · 2026

Editable pronoun sets for an ATProto personal-website builder (Svelte 5) — multi-pronoun support, display-mode toggle, ATProto record persistence with Bluesky native-field fallback.

Higher Empire

Sole Engineer · 2026

Five-app commerce + delivery platform — storefront, admin, menu, splash + a Bun/Hono backend (100+ endpoints). Square catalog/payments sync, OnFleet dispatch, live order tracking, custom discount engine.

next-persist

Creator · 88k+ dl

Lightweight NPM package for persistent client state in Next.js with SSR/SSG benefits and stateful React/Redux wrappers.

design system

Built as a system.

This site runs on its own small design system: tokens in three tiers (base, semantic, component), typed components built from atoms up, and themes that only swap the base values. Two pages show how it works.

/themes

Theme lab

Build a theme from scratch: colors, corners, spacing and type, previewed live on every kind of component. Then wear it around the site, or take the CSS with you.

  • 6 built-in themes
  • live preview
  • CSS export
open the theme lab
/components

Component library

Every piece of this site, from buttons up to whole cards, live in the current theme. The props and tokens are read from each component's source, so the docs can't drift from the code.

  • atoms → organisms
  • props from source
  • token tiers
browse the components

insert coin

The arcade.

Games I built into proto Instant Messenger — fully ATProto-native, so high scores and your personal stats live in your own repo, not a database I control.

FAST HOPPER
0
BEST 0

HOPPER

Designer & Engineer · live now

A vertical platform-climber — leap up an endless ladder of platforms and chase the high score. Runs on a deterministic sim so every run is verifiable. Global leaderboards by difficulty (fast / faster), and your bests are written straight to your ATProto repo as actor.rpg.stats records.

TypeScript Canvas Deterministic Sim ATProto Records Leaderboards
HURDLES

HURDLES

In development

A reflex hurdler, in development for proto IM games — the next cabinet to light up in the arcade. Can’t wait? There’s a preview hidden on this site, if you look hard enough 👀

TypeScript Canvas WIP

career.log

Where I've worked.

RapidSOS

Jun 2025 — present
Team Lead (Jan 2026 — present) · Senior Software Engineer, Frontend (Jun — Dec 2025)
  • Wrote and delivered a cross-repo design proposal for a Module Federation platform: found 908 hardcoded colors across 18 modules, made theme changes ship with zero module rebuilds (proven with byte-identical bundles), and enforced it with a Vite plugin. First migrations cut audit errors from 137 → 7; rollout across all 21 modules is underway.
  • Led the team that shipped Communicator 1.0, a real-time 911 call-handling app now generating $2.5M ARR. Built live transcript and map visualizations (jurisdiction boundaries, co-located call pins) on high-volume WebSocket streams.
  • Co-own the Communicator and Supervisor apps as the only engineer in the owner group: work directly with pilot 911 centers on rollout and customer escalations, and respond to production incidents, including after hours.
  • Built a cross-jurisdiction interoperability layer (911 call handoff, mutual aid, live supervisor A/V bridge) in a two-day hackathon: 3 entity packages and 4 frontend modules. It placed 2nd and was merged into the product.
  • Promoted to team lead after stepping up during attrition. Lead 3 engineers and a designer, run planning, and reviewed 50+ PRs in two months. Taught our designer, who had never coded, to ship: 9 merged PRs in their first week.
  • Traced LLM commentary leaking into live 911 translations to a model swap and fixed it with an output guard and 19 new tests. Wrote the multilingual transcription architecture (10 → 70 languages) that became a 10-ticket epic.

FireHydrant

Sep 2024 — May 2025
Staff Frontend Engineer
  • Built a collaboration editor for an incident management platform (Tiptap, live commenting, AI-assisted drafting) on Temporal.
  • Led the migration from Jest to Vitest and the upgrade to Vite 6, cutting test and build times.

Kitman Labs

Jan 2022 — Sep 2024
Lead Engineer (Mar — Sep 2024) · Senior Software Engineer (Nov 2022 — Mar 2024) · Software Engineer (Jan — Nov 2022)
  • Led 14 engineers across frontend and backend, from SWEs to tech leads, building athlete performance and medical software for NFL, NBA, and Premier League clubs. Raised user satisfaction from 48% → 95%.
  • Ran structured 1:1s on direct reports’ goals and career growth, and mentored through code reviews and pairing. Led the frontend style guide and set team standards for accessibility, performance, and testing.

Codesmith

May 2021 — Oct 2021
Software Engineer (Contract)
  • Built a parsing algorithm for dynamic content rendering on the public site and educational platform, enabling non-technical contributions.

loadout

The toolkit.

Languages

TypeScript JavaScript Go Python Swift Kotlin Rust SQL

Frontend

React 18/19 React Native Expo Next.js Module Federation Svelte Astro Vite Redux Toolkit TanStack Query Zustand Tailwind Chakra UI Storybook

Data Viz & Maps

SVG charts TanStack Table TanStack Virtual Google Maps JS API real-time streaming UIs

Backend & Realtime

Node.js Express Hono Fastify Bun WebSocket (ws) Socket.io WebRTC LiveKit coturn Temporal

Data & Infra

PostgreSQL SQLite Supabase Redis Drizzle Kysely Docker Fly.io Vercel Cloudflare Workers Turborepo GitHub Actions pnpm

Protocols & APIs

AT Protocol Lexicon Jetstream XRPC PDS OAuth/DPoP Square OnFleet APNs FCM Resend Deepgram Cloudinary Google Maps

Native & Testing

Tauri v2 SwiftUI Jetpack Compose Expo (iOS+Android) Vitest Jest RTL Supertest

Observability

Sentry Prometheus Pino

the parts this site is built from, with their props and tokens: component library

talks & writing

  • Bridging the Gap Between SSR & Client-State Persisted Data — JS Plain in English
  • What is the JAMstack & Serverless Architecture — SingleSprout Speaker Series
  • Intro to JavaScript: Variables, Control Flow & Looping — Build with Code

education

  • The New School University — BA, Creative Writing, Riggio Honors Program · with honors
  • Codesmith — Software Engineering Immersive, 2021

off the clock

  • Soccer, for the love of the game
  • Chess under summer stars
  • Walking with the dead poets of the West Village