Ilya Mois

Ilya Mois

Software engineer · remote or on-site in Tbilisi (GMT+4)

Looking for a full-time role: sole engineer on a product, or platform and DX inside a team. September 2026

I build a product's technical side end to end — lately that has meant developer platforms: APIs, and the SDKs other engineers install.

Developer platforms

At Tonkeeper, I worked on the layer between the public API and the engineers using it: the OpenAPI schema, generated TypeScript SDK, developer console and integration guides. Some of that work also reached the wallet and the TON Connect specification.

For 21 months I was the only developer on the console. I moved its billing from TON to USDT without forcing existing subscribers through a hard cutover, and built webhooks management, pricing tiers, analytics queries and airdrop tooling.

From mid-2024 I also maintained tonapi-js, the TonAPI TypeScript SDK, on my own. I rewrote its packages and generator so the public schema produced an isomorphic client with int64 values preserved as bigint and one runtime dependency.

Two ambiguities I found in TON Connect became edits to the TON Connect protocol specification: the address format in a sign-data response and the encoding of appDomain. In both cases, the old wording allowed two conforming implementations to produce different messages for the same request.

Building now

Since March 2026 I have been building two private products.

The first splits shared expenses. An edit appends an event instead of overwriting the bill, so concurrent changes survive and every balance can be rebuilt from history. Property-based tests compare the settlement algorithm with a smaller reference implementation.

The second turns a receipt photo into line items that several people can claim at the same time. It runs on Cloudflare Workers with no origin server. A staged extraction pipeline can switch vendors at each step, and its arithmetic must match the receipt total before the result is shown.

The public repositories and both private products are collected on the projects page.

Earlier work

Before Tonkeeper I worked on a booking platform, streaming speech-to-text, an Amazon Seller Central ingestion pipeline, and a backend migration from a VPS to AWS. At Upper Echelon Products I moved from JavaScript developer to technical lead and took three to five engineers and one to two QA through about eleven releases.

CV

Contact

Telegram is fastest. Email gets read the same day.

If something above overlaps with what you're working on, send the context and what you need. No formal introduction necessary.

If you're writing about a job, skip the cover letter — what the team does, what I'd be working on and a rough range is enough to start.

I don't take gambling work. I use LLM tooling every day and expect to keep using it; a team that has ruled it out is unlikely to be a fit. The same is true of a process where shipping a button takes a quarter of approvals.