Skip to content
View svyatov's full-sized avatar
👨‍💻
👨‍💻

Block or report svyatov

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
svyatov/README.md

Full-stack engineer, 15+ years in production. Ruby and Rails at the core, TypeScript and Go alongside it. I ship end to end: schema, backend, frontend, deploy pipeline. Coding agents are part of my daily workflow, and I review what they produce the same way I'd review any other contributor's patch.

Based in Yerevan (UTC+4). I work late, so my day overlaps a full US East workday.

Open source I maintain

The work below is mostly closed-source, so here's the stuff you can actually click into.

sec_id - a securities-identifier toolkit: validate, parse, normalize, detect, convert, generate, classify and repair 16 schemes (ISIN, CUSIP, CEI, SEDOL, FIGI, LEI, IBAN, CIK, OCC, WKN, Valoren, CFI, FISN, BIC, DTI, UPI), check-digit math included. My oldest gem: first released in 2019, 18 versions since, now on 7.x. RBS type signatures, a written migration guide for every major bump, and CI across supported Rubies.

clsx-rails - clsx/cn view helpers for Rails, a drop-in replacement for class_names that benchmarks 2-4x faster and never slower on realistic markup. The framework-agnostic core ships separately as clsx-ruby for ViewComponent, Phlex, or plain templates.

oss-kit - curated agent skills for open-source maintainers. Audit a repo's health and get back only the gaps, each routed to the skill that fixes it: improve the README, bring the project in line with community guidelines and best practices, and publish releases to npm, RubyGems, PyPI and crates.io. Works on repos hosted on GitHub or GitLab, and holds itself to its own standard. Docs.

hacker_news_sorted - Chrome extension that re-sorts the HN front page by points, time, comments, velocity or heat, marks posts you haven't seen, and highlights repeat comment authors. TypeScript, Manifest V3, zero data collection.

oz - config-driven CLI wizard framework in Go: define prompts in YAML, wrap any tool in a discoverable TUI. golangci-lint, GoReleaser, CI on every push.

13 more

AI & agent tooling

  • agentskills-lint - zero-config npx linter for the Agent Skills spec: errors for spec violations, warnings for weak authoring.
  • agent-toolkit - reusable skills and plugins for Claude Code, Cursor, Codex, and Gemini CLI; the agent setup I actually work with day to day.

Ruby gems

  • candor - turn a block or callable into a real method with an honest signature.
  • briefly - a terse, curated facade over your application's most reached-for objects.
  • card_dealer - a delightful card-dealing companion for your digital table.
  • http_wrapper - a small, ergonomic skin over stdlib Net::HTTP.
  • smsru-ruby - dependency-free client for the SMS.ru API: send SMS, phone-call verification, delivery status. Fully RBS-typed, with constant-time webhook signature verification.

Frontend for Rails / Tailwind

  • clsx-ruby - the framework-agnostic core behind clsx-rails: conditional CSS class strings for ViewComponent, Phlex, or plain templates.
  • tailwind-merge-typography - a tailwind-merge plugin that resolves @tailwindcss/typography prose-* conflicts correctly.

TypeScript libraries

  • devto-client - typed, zero-dependency client for the dev.to (Forem) v1 API. Response types come from Forem's own OpenAPI spec; the versioned Accept header and the undocumented rate limits are handled for you, so requests can't silently downgrade to the deprecated v0 API.

CLI tools & wizards

Learning by building

  • database-transactions - learn database transactions from verified, runnable examples. Every claim proven against a real PostgreSQL/MySQL database.
  • deck - basic operations on a deck of playing cards, in Elixir.

a few more on the repos tab

What I like working on

  • A blank repo and broad ownership - schema, infra, deploy pipeline, the lot. oz and create-rails-app both exist because I kept starting from zero and wanted the starting part to be good.
  • Designing good interfaces - candor and briefly are entirely about this: the implementations are small, the shape of the API was the whole problem.
  • Making slow things fast - finding the real bottleneck and killing it. clsx-rails is the smallest public version of that: 2-4x, measured, with the benchmark in the repo so you can check.
  • Small teams with a short chain of command. Move fast, but with quality; no long approval chains.

Pinned Loading

  1. oss-kit oss-kit Public

    Curated agent skills for open source maintainers.

    TypeScript 1

  2. hacker_news_sorted hacker_news_sorted Public

    Chrome extension that instantly sorts Hacker News by points, time, comments, velocity, or heat, marks new posts, and highlights comment authors.

    TypeScript 3

  3. sec_id sec_id Public

    A Ruby toolkit for securities identifiers — validate, parse, normalize, detect, convert, generate, classify, and repair. Supports ISIN, CUSIP, CEI, SEDOL, FIGI, LEI, IBAN, CIK, OCC, WKN, Valoren, C…

    Ruby 8 1

  4. clsx-rails clsx-rails Public

    The fastest conditional CSS class builder for Rails - 2-4x faster than class_names

    Ruby 8

  5. oz oz Public

    Config-driven CLI wizard framework

    Go 2

  6. briefly briefly Public

    A terse, curated facade over your application's most reached-for objects.

    Ruby 1