Skip to content

Ruslan Gilmullin

Portfolio

Poetry website

Personal project — my poems and prose organized into themed sections, with bookmarks, comments, voting, and full-text search. Migrated a long-running PHP site into a multi-stack architecture: separate frontend and API with JWT + WebAuthn passkeys, search index, all self-hosted on a single VPS

Next.js · React · Fastify · Meilisearch · MySQL · DDEV · Docker · Dozzle · GitHub Actions · nginx · WebAuthn · TypeScript · Zod · Seeded RNG

Yandex Pay

Web app and native-app webviews for the payment service. Built the registration flow; owned most of the frontend for the multi-level KYC — Basic, mobileID + Gosuslugi, and full identification via either offline courier (Yandex Maps polygons for delivery zones) or online selfie. Built the Apollo Server BFF for registration, KYC, and OTP-auth flows — composed internal-service calls into a single graph consumed by the frontend. Led dark-theme integration and the Figma-token CSS pipeline; engineered webview safe-area handling on mobile devices

AbortController · Next.js · React · Apollo GraphQL · React Hook Form · Apollo Server · NestJS · Webviews · Jest · TypeScript · Zod · Yandex Maps

Alex Glushko

·announcement

Plastic surgeon’s website. CMS-fed page-block architecture: pages composed of typed blocks, content-driven popups triggered by inline links in body text, Lottie/canvas animation scenes are configured in the CMS. Scroll-tied theme switching, responsive SVGs, text along a curve, Google Maps

React · Sass · Redux · Canvas · Lottie · Google Maps

Financial Culture

·announcement

Bank of Russia’s financial-literacy portal. Hand-rolled loan and deposit calculator engines with unit tests: annuity + differential amortization, variable rates, weekend-to-Monday carry-over for due dates, banker’s rounding, out-of-schedule payments. Built the ‘superfood’ price-comparison mode in the inflation calculator and the dynamic SVG charts

React · React Hook Form · Redux · Jest · d3 · Seeded RNG · Leaflet

Agrobank Uzbekistan Site

·announcement

Multi-language website for an Uzbek bank. Locale routing (ru/uz) via i18next, branch lookup with Yandex Maps, client-side PDF generation, Storybook component library

React · Sass · Redux Toolkit · Jest · TypeScript · i18next · @react-pdf/renderer · Storybook · Swiper · Yandex Maps

Compass Plus (TXIB / TWIB)

Compass Plus’s web internet-banking platforms — TranzAxis Internet Banking (TXIB) for retail/SMB customers and TranzWare Internet Banking (TWIB / IB6, the next-generation architecture). Co-designed the modular client-side component system; implemented core flows — accounts, cards and deposits, third-party card linking, vendor payments, transaction history. Migrated the client app core from ES3 to ES6 and shipped a Rollup-based ES-module build pipeline; in parallel maintained the un-migrated ES3 component layer. Wrote backend logic in Java (Spring, Tomcat, Groovy) and REST APIs for the frontend

ES3 · ES6 · ESM · Groovy · Java · REST APIs · Spring · Tomcat · Rollup · Legacy Code Migration · Performance Optimization

Homesite

(this site)

Personal bilingual (ru/en) site — bio, portfolio, open-source, contacts, and technical articles. Locale auto-detection via cookie / Accept-Language. Articles in Markdown with dual-theme syntax highlighting, per-locale RSS, and structured-data SEO. A custom Node watcher delivers HMR for .md and image edits (which Turbopack doesn’t track on its own). Deploys via rsync to a VPS

Next.js · React · Tailwind CSS · Node.js · GitHub Actions · nginx · TypeScript · Zod · Markdown pipeline