Senior Frontend DeveloperVue 3 · Nuxt · TypeScript
Dmitriy Klimov
Dmitriy Klimov
Six years of building web interfaces with Vue and Nuxt. These days I work on a banking app used by more than 100,000 people every month.
Work
Products and sites I built as an employee, together with the teams.
Quadcode
Senior Frontend Developer
- Business banking web app
- Accounts, payments, cards and currency exchange for companies. Led its move from Vue 2 and Vuex to Vue 3, Pinia and strict TypeScript.
- Client onboarding
- KYC flows for companies and individuals with SumSub identity checks. Drop-off fell by 15%.
- Back office
- Admin console for the operations team: client plans and pricing, incoming payments, fees.
- Mobile banking app
- React Native and Expo. Moved it from Expo SDK 53 to 57 and React 19, and cleaned up its types on the way.
- Digital wallet
- A consumer e-wallet on the web: cards, transactions, withdrawals and passcode sign-in.
- End-to-end tests
- Playwright suites that walk through the main client and back-office flows.
Infonomica
Frontend Developer
- 3D kitchen builder
- An interactive configurator for ordering a kitchen online. Sessions got 40% longer and conversion to order rose by 15%.
- Component library
- The team’s Storybook library and embeddable Web Components, checked against WCAG 2.1.
Racurs Agency
Frontend Developer
- Client websites
- More than ten Nuxt and Vue sites built from Figma mockups. Performance budgets and Lighthouse CI took their PageSpeed from about 50 to 90+.
- Analytics dashboard
- An internal tool on GraphQL, Google BigQuery and the Search Console API.
Web-Nanny
Fullstack Developer
- Content websites
- Sites on PHP (Bitrix, OctoberCMS) and JavaScript. Cut their total asset weight by 30%.
Side projects
My own products, built and run outside work.
Uplatnica
Payment slips with an IPS QR code, for Serbia and Montenegro
Fills in a payment slip and draws the IPS QR code that banking apps scan. The Serbian edition follows the NBS standard, the Montenegrin one the rules of the Central Bank of Montenegro. Everything runs in the browser, so no data leaves the device.
The Serbian slip as Uplatnica fills it in. Sample data; the QR code opens the site. Naplata
Payment collection for clubs, schools and small businesses in Serbia
Issues payment slips in bulk and matches incoming payments against bank statements, so a sports club knows who has paid without keeping a spreadsheet. A multi-tenant Go API on PostgreSQL with its own job queue, statement import for Halcom, MT940 and Raiffeisen formats, and a Nuxt front end.
Statement lines matched to payers by their model 97 reference. Sample data.