Norayr Avetisyan · Senior Fullstack Engineer: TypeScript, React, Next.js, Node.js

Interfaces at scale, and the systems under them.

I've written JavaScript and TypeScript since 2018. At MTS Web Services I built a design system of 200+ components that 15+ teams used. At Proof App I built the whole product alone, Postgres backend included.

Open to senior fullstack roles at remote EU/US product companies · Yerevan, UTC+4

  • 8+

    years of JavaScript and TypeScript

    Since August 2018

  • 10M+

    monthly users in the ecosystem my design system served

    MTS Web Services

  • 50K+

    concurrent sessions, with zero state-desync incidents

    Appfox, iGaming portal

  • 70+

    Postgres migrations, 40+ tables with row-level security

    Proof App, built alone

Case studies

Products I built, end to end.

  • Case study

    Proof App

    A Telegram fitness app I built as the only engineer and took to a closed beta. One Gemini 2.5 Flash pass judges reps, form and liveness. Under it: 40+ Postgres tables with row-level security, 70+ migrations, 16 Edge Functions and 3 pgmq job queues.

    Supabase Edge Functions · Google Gemini API · pgmq · FFmpeg.wasm · Telegram Mini App SDK

  • Case study

    Nova Prism

    A trading platform in four apps: a landing site with live prices, a client portal for leveraged trading, a host panel, and the API under them. Fastify and Socket.IO, a trading engine, contracts checked against OpenAPI, and 58 test files.

    Fastify · Socket.IO · OpenAPI · Drizzle · SQLite · React · Astro · TanStack Query · Vitest · Playwright · Docker

  • Case study

    norav.dev

    This site, and the CMS I wrote to run it. Next.js and raw PostgreSQL on one side, Vite and React 19 on the other, joined by a snapshot that's baked into every build and revalidated after the page loads.

    Next.js · PostgreSQL · Zod · PGlite · Vite · React 19 · Tailwind 4 · Vercel

Live demos

Four demos you can run in the browser.

These are demos, not client work. They run on sample data, and any number they show is measured as you use them.

  • A logistics map on Leaflet: simulated shipments and routes between 12 hub cities, drawn from GeoJSON. The stress test adds 40 markers, ten per animation frame.

    Leaflet · React · GeoJSON

  • A data grid over 100 sample shipments. TanStack Table renders it without owning its markup, TanStack Query caches it, and Zod checks every response.

    TanStack Query · TanStack Table · Zod

  • Faceted search over a sample catalogue. Filters depend on each other, and the address bar holds them, so any view is a link you can send.

    URL State · Faceted Search · Dependency Graph · React.useMemo · Modal · Multi-step Form · Confetti

  • A merch configurator. Every control writes to one configuration, and the preview, the price and the JSON output are all read from it.

    React State · JSON Sync · Derived Data · Typing Animation

Experience

Where I've worked.

  1. Sep 2026 — Present

    Fendr (via TIRSoft LLC) · Frontend Engineer

    Two web apps in a Turborepo monorepo, set up from scratch.

  2. Nov 2025 — Jun 2026

    Proof App · Founder & Fullstack Engineer

    A Telegram fitness app I built as the only engineer and took to a closed beta.

  3. Sep 2025 — Feb 2026

    Vizogen · Lead Frontend Engineer (Fullstack Delivery)

    A multi-tenant AI SaaS module for 500+ enterprise users.

  4. Feb 2024 — Jun 2025

    MTS Web Services · Core Frontend Engineer / UI Architect

    A design system and micro-frontend platform in a 10M+ MAU ecosystem.

  5. Sep 2023 — Jan 2024

    Appfox · Senior Frontend Engineer

    A high-load iGaming portal at 50K+ concurrent sessions, with zero state-desync incidents.

  6. May 2020 — Sep 2023

    TIRSoft LLC · Lead Frontend Developer

    Frontend lead across 8+ SaaS products.

  7. Aug 2018 — May 2020

    TIRSoft LLC · Frontend Developer

    React interfaces for client products.

Full experience

Open to senior fullstack roles

Contact

Hiring a senior fullstack engineer?

Write a line about the team and the problem. Email reaches me fastest. I work from Yerevan (UTC+4), remotely, with EU and US hours overlapping.

noroavetisyan@gmail.com