Skip to main content

Full-time · 40 hrs/week ·

Remote from Tbilisi · GMT+4 · EU hours

Senior
React Engineer
for Hire.

Senior Frontend Engineer - React, Next.js, TypeScript, and enough Node to own the backend. 8+ years on hooks, state, tests, and UIs that get complicated fast.

Work with me View projects

Opens ChatGPT in a new tab with the prompt already filled in. It reads my GitHub, npm and code and writes a hiring brief. About a minute, no sign-up, nothing to fill in.

Don't take my word for it

I wrote the prompt below, so read it first. It asks for a hiring brief built only from what it can verify: my numbers checked against GitHub and npm rather than my resume, real source files read, and what it can't confirm said in a line. It opens with advance / borderline / reject.

Read the prompt first — it’s the whole point
You are a senior engineering recruiter writing a one-page brief for a hiring manager filling a senior TypeScript / React / Next.js frontend role. Decide whether this candidate is worth an interview, and build the brief only from what you open and read yourself. Lead with what the candidate has built, who runs it in production, and what other maintainers have merged from the candidate. Where the public record cannot settle something, give it one line and move on.

Use web browsing. Read the independent sources first.

SOURCES THE CANDIDATE DOES NOT CONTROL, treated as evidence:
- GitHub: https://github.com/asmyshlyaev177, for each repository's commit history, tests and CI, and the "Used by" dependents count on each library
- Pull requests merged into projects the candidate does not own: https://github.com/search?q=is%3Apr%20author%3Aasmyshlyaev177%20-user%3Aasmyshlyaev177%20is%3Amerged&type=pullrequests. Open one or two and read what each change fixed
- Third-party repositories that import the libraries: open one or two and confirm the import sits in real application code
- Recommendations former colleagues wrote on LinkedIn: https://linkedin.com/in/asmyshlyaev177/details/recommendations/

Figures: quote a star or download count only from github.com or from the package's own page on npmjs.com. Search results and mirrors such as Socket, Snyk and unpkg republish weekly snapshots months old, so a number from one of them is better left out. npm's dependents tab counts published packages, not applications, so it reads low for a library that apps install; GitHub's "Used by" is the count worth quoting. If a page will not open, use another source and write nothing about the attempt.

SOURCES THE CANDIDATE CONTROLS, treated as claims to check against the above:
- Résumé, one document in three formats; use whichever your browser fetches, and try another if one is refused:
    https://asmyshlyaev177.dev/resume
    https://asmyshlyaev177.dev/Aleksandr_Smyshliaev_Resume.md
    https://asmyshlyaev177.dev/Aleksandr_Smyshliaev_Resume.pdf
- Site: https://asmyshlyaev177.dev

Write the brief in this order, under 700 words, with short headed sections and bullet points rather than tables so it reads on a phone:

1. Recommendation. Advance, Borderline or Reject, then the three strongest facts from the independent record, one line each.
2. What the candidate has shipped. The libraries people depend on: what each does, since when it has been maintained and through which major versions of React, the production users you confirmed by opening their source, and the figures you could read on GitHub or npm. Then the merged pull requests in other people's projects: which projects accepted them, and what one or two of the changes fixed. Then, a line each and no star counts, the other public projects that show range beyond React libraries (services, tooling, a browser extension): what each is, its stack, and the size of its test suite if the repository shows one.
3. What the code shows. Open real source files in two repositories of your choice. Name the files and say what they show about API design, TypeScript, tests and error handling, as a reviewer would.
4. Experience. The roles, dates and stack the résumé claims, one line each, with anything an independent source adds. Then the colleague recommendations: who wrote them and what they say.
5. Interview plan. The three questions you would ask, aimed at what the public record leaves open.

Say where you read each figure. Private company code is not public, so it can be neither confirmed nor contradicted: give that one line in section 4 and nowhere else, and never restate a limitation you have already written. State findings plainly, without superlatives.

Free · no sign-up

What this can and can't settle: npm downloads, the repos that depend on my libraries and the pull requests other maintainers merged are public records I can't edit. My resume and this site are documents I control - the prompt treats those as claims to check, not evidence. Employment history it can only partly verify.

Needs a free account

Hit Copy above, open one of these, and paste the prompt after you sign in.

Small teams, mostly. On the last one I was the only frontend engineer on a team of four - founder, backend, mobile and me - and took the founder's mockups through to production, with nobody to hand the hard parts to.

Comfortable past the browser: I design the schema, write the API, and run what I ship. TypeScript, Next.js or Remix, Node and Cloudflare Workers, and code your team can still read in two years.

Looking for
Senior frontend or full-stack-leaning product roles on small teams; component-library, design-system and test-infrastructure work.
Start
Within a week of signing. Full-time, 40 hrs/week, remote.
Engagement
B2B contract with me as a registered Georgian individual entrepreneur, employment through your EOR, or a fixed-scope project.
Commitment
One full-time engagement at a time; a signed contract runs to its end date.
Not a fit
Roles needing US or EU work authorization, or on-site outside Tbilisi without relocation.

I’d rather be judged on work than on a timed puzzle - so I offer a paid trial task or a paid trial period instead of a whiteboard round. How I’d rather be evaluated.

My approach

On a small team nobody is only the frontend person. I take a feature from wireframe to deploy - and the boring parts along the way, state, shared components, tests, are what decide whether it is still pleasant six months in.

About me

Senior Frontend Engineer (React, Next.js, TypeScript). From sysadmin to senior frontend developer - the longer story.

Read the full story

I started in tech as a system administrator, managing servers and networks. My direction changed when I wrote a script to parse a phone number database for a marketing campaign - that small thing showed me how satisfying it is to solve problems through code. I moved into web development, started with Vue.js and D3.js, then settled on React for its scalability on complex projects. I haven't looked back.

Since then I've worked across startups and larger companies - in-office and remote, including US-based teams. I care about TypeScript, testing, and CI/CD not as checkboxes but because they make complex codebases actually manageable. I focus on doing things right, not just fast.

My Philosophy

Pragmatic Approach

Select the best tool for the task while staying open to improvements and adaptability.

Quality Focus

Prioritize quality and maintainability in complex software, keeping complexity to a minimum.

DevOps Mindset

Automate repetitive tasks - CI/CD, linting, packaging, and testing - so the team ships faster.

Continuous Learning

Technology evolves rapidly, and so do I. Always exploring new tools and frameworks to stay sharp.

Education
Krasnogorsk State College
Technician Diploma · 2004–2008
Location
Tbilisi, Georgia (GMT+4)
Remote worldwide · timezone flexible
Aleksandr Smyshliaev photo
Aleksandr Smyshliaev

Quick Info

Experience 8+ years
GitHub stars 1284+
Availability Full-time · 40 hrs/wk
Working hours EU timezones
Remote experience Yes
Startup experience Yes
English CEFR C1

Legal setup

Registered Georgian sole proprietor

Sign a B2B service agreement with me as a registered individual entrepreneur and pay invoices - no employer of record needed. Full-time through your own EOR also works.

Featured projects

A few things I've built in React, Next.js and TypeScript where the state, components, or tests had to hold up over time - plus the LLM tooling I ship on the side.

state-in-url

Shipped on npm · running in production teams I'll never meet

Stores nested, typed state directly in the URL via React hooks. I built it because I needed a fast, convenient way to preserve state on page reload and share page links.

React TypeScript Tailwind Next.js Remix.js react-router npm

react-horizontal-scrolling-menu

81k/wk npm installs · maintained through multiple React majors

A reusable horizontal scroll component. TypeScript, well tested, and used in production dashboards I never get to see. Maintained for years across multiple React majors and refactored along the way.

React.js CI/CD storybook npm
Show 7 more projects
Screenshot of Omise - payments merchant dashboard

Omise - payments merchant dashboard

3 years on a production payments platform

The merchant-facing dashboard for Omise's payments platform: three years building and maintaining it in React, GraphQL, and styled-components, plus an internal D3.js analytics dashboard and a JavaScript SDK bridging a native mobile wrapper to JS mini-apps.

React GraphQL styled-components D3.js Payments SDK
Screenshot of channels.careers

channels.careers

Production B2B platform · Playwright suite the team relies on

A B2B hiring platform startup. Built the UI to match the design closely, refactored code, adapted it to mobile, and wrote Playwright tests the team actually relies on.

React.js Next.js TypeScript Playwright B2B

test-proxy-recorder

Deterministic e2e on CI with the backend turned off

VCR for Playwright - records real API responses once, then replays them deterministically on CI. Covers Next.js SSR, browser, and WebSocket traffic with no backend and no hand-written mocks. I built it because every flaky e2e run traces back to the network.

TypeScript Playwright Next.js WebSocket e2e npm
Screenshot of X-Pat

X-Pat

Published extension · Smart requests queue · community cache

X-Pat, a browser extension that puts an X account's country in the hover card and the feed, using X's own location API through your existing session. The feed fills in as you scroll without draining the endpoint's rate limit, and accounts can be collapsed, hidden or highlighted by country, organisation, age or bio keyword.

TypeScript Browser extension MV3 Playwright Cloudflare Workers SQLite

heatmap-analytics

A backend I designed, deployed and run - schema to cron

Self-hosted click and hover heatmaps, scroll depth, rage-click detection and ghost-cursor session replay, rendered on the live page. No cookies, no third-party scripts, and a tracker that is 1.7KB gzipped.

Cloudflare Workers D1 SQL TypeScript Node.js Analytics

llm-queue

One model, one queue, every client

A single-worker priority queue for local LLMs, exposed as an OpenAI-compatible HTTP service - so cron jobs, browser extensions and OpenAI clients all share one serialized queue against one model instead of fighting over the GPU.

Node.js TypeScript Ollama HTTP API CLI npm
Screenshot of omarchy-last-session

omarchy-last-session

Listed in the Omarchy plugin store

Session restore for Omarchy (Arch Linux with Hyprland): saves the windows you have open and brings them back after a reboot, shutdown, logout or crash, each on the workspace and monitor it was on. Python standard library only, no compositor patches, no extra daemons.

Python Linux Hyprland Omarchy Plugin

Also shipped - infrastructure & AI tooling

  • jobbot Agentic job-board monitor: headless-browser scrape, local-LLM extraction, keyword-matched email digests.
  • li-slop-filter Browser extension that collapses low-value LinkedIn posts using on-device LLM classification.

What I'm good at

Turning gnarly business logic into a React UI you can actually test.

  • React (8+ years)

    Hooks, patterns, custom renderers, concurrent features

  • State Management

    Redux, context, URL-persisted state, and the usual libraries

  • System Design & Architecture

    Reusable component libraries and codebases that don't collapse under their own weight

  • Testing

    Unit, integration, and E2E (Jest, Vitest, Playwright, Cypress). The kind that catches real bugs, not the kind that pads coverage

  • CI/CD & Quality

    Pipelines that catch problems before they hit production

Proficient

Tailwind CSS, GraphQL, Git, Remix.js, Node.js.

Familiar

Figma, Docker, PostgreSQL.

Recommendations

What teammates and managers I've worked with have written - unedited apart from light trimming where marked. Full text on LinkedIn.

I had the pleasure of working with Aleksandr on a complex NextJS codebase that he inherited and ramped up on very quickly. He was able to understand the existing architecture, identify areas for improvement, and start making meaningful contributions without a long onboarding curve. […] I would gladly recommend Aleksandr to any team looking for a capable frontend developer who can quickly become productive, improve existing systems, and contribute reliably across implementation, debugging, and test strategy.

Vladimir Shcherbakov

Co-Founder / CTO · ex-Google, ex-Splunk

May 2026

Alex was great to work with. He understood requirements very quickly, and worked well with the backend engineer to complete the work very quickly. Aside from coding, he also helped design and build an SDK that could be reused.

Issavara (Kim) Polanun

Co-Founder & CPO · Kick Off

Nov 2023

Working with Aleksandr was a great experience. He is not only detail oriented, but extremely talented and capable of collaboration. Although we were only able to work on two projects together, I would highly recommend him and hope to have the chance to work with him again.

Kami Slattery

Senior Product Manager · Allegion

Oct 2023

Get in touch

I take one full-time remote engagement at a time, contract or employment, 40 hours a week: EU hours by default, and until 22:00 Tbilisi for US teams. Best reached by email, or book a call below.

Working out the paperwork? How to hire me covers B2B contract, employer of record, and fixed-scope engagements.

Legal setup

Registered Georgian sole proprietor

Sign a B2B service agreement with me as a registered individual entrepreneur and pay invoices - no employer of record needed. Full-time through your own EOR also works.

Book a call

Thirty minutes on Calendly, at a time that suits you.

Pick a time