Portfolio website on Github Pages

Hello! My name is Irina!

I am a frontend developer. For more than 7 years I have been building web applications using Vue.js and TypeScript, focusing on performance, user experience, and clean code.
Example of my code

My career in numbers

The most important things — summarized in a few numbers.

Portrait of Irina Dyakova

About Me

A good developer is not the one who knows the most technologies, but the one who can bring complex tasks to completion. And yes — you usually don’t get taught this; you learn it along the way, through mistakes, projects, and experience.

👋🏽 Hi! My name is Irina Dyakova

I’m a frontend developer with 7+ years of commercial experience. My main stack is Vue.js, Nuxt, and TypeScript, but throughout my career I’ve also worked as a backend and fullstack developer. For several years I was the only frontend developer on projects, responsible for everything users interacted with: interfaces, architecture, performance, SEO, and code quality.

🚀 I started my career in gamedev: worked on a mobile game in Unity, built backend with Node.js and MySQL, and later developed several Android apps. That’s when I realized that web development brings me the most joy, and since then I’ve fully focused on frontend.

💚 I’m especially proud of two projects. In the marketplace Wee.ae I contributed to the full migration to Nuxt 3, introduced testing, and improved development processes. In the travel service "Treasure Island" I was the sole frontend developer: migrated the project from Laravel Livewire to Vue 3, improved performance and SEO, raised PageSpeed scores from about 50 to 92, and once quickly fixed a severe memory leak in production by replacing a problematic third‑party library with my own solution.

🤝 I enjoy working at the intersection of development, design, and product. I’m used to not just completing tasks, but finding solutions, suggesting improvements, and taking responsibility for the result.

My Stack

How I Work

For me, development is not about the number of technologies — it’s about the approach to solving problems. Over the years, I’ve developed several principles that help me build stable and clear interfaces.

  • I think before I write code I analyze the task, sketch the logic, and only then move to implementation.
  • I care about maintainability I write code that is easy to understand later — for myself or other developers.
  • I’m not afraid to rewrite If I see that a solution harms the product, I suggest an alternative or redo it.
  • I think about the product I consider not only the task but also its impact on users, speed, and stability.
  • I work well in a team I communicate comfortably with design, backend, and managers when needed to close a task.
Illustration representing my work approach

Projects

Here are some of the projects I’ve worked on. Click “All projects” to see the full list.

Projects icon All projects

Year: 2025

A travel service for booking excursions abroad (Thailand, Vietnam): AI assistant, curated tours, price lists, customer reviews, and a blog. I was the sole frontend developer: migrated the site from Laravel Livewire to Vue 3, implemented booking flow, cart, checkout, favorites, catalog, blog, user account, AI tour‑matching test, and major admin panel sections. Fixed a memory leak, raised PageSpeed from 50 to 92, improved SEO, and introduced an AI‑powered code review workflow.

Visit website Link icon
  • Laravel
  • Vue.js
  • Pinia
  • TypeScript
  • SCSS
  • Vite
  • ESLint
  • Stylelint

Year: 2024

A modern multifunctional marketplace with fast delivery: many sellers, discounts, favorites, AI assistants. I participated in all development stages: implemented cart, product page, favorites, checkout, and payment confirmation. In summer, migrated the project to Nuxt 3 + Vue 3 + TypeScript, wrote Jest/Vitest tests, added ESLint/Stylelint automation, and introduced a new code review report format adopted by the whole team.

Visit website Link icon
  • Nuxt.js
  • Vue.js
  • Vuex
  • TypeScript
  • HTML
  • Stylus
  • i18n

Year: 2021

A crypto wallet for instant transfers with minimal fees: multi‑currency support, offline signing, NFC encryption, referral links. I built almost all pages and implemented transaction logic — both online via Socket.io and offline. The site gained stable real‑time backend sync and the ability to perform transfers without constant connection.

Visit website Link icon
  • JQuery
  • Vue.js
  • Webpack
  • Socket.io
  • Node.js
  • SCSS
  • HTML

Year: 2020

A travel company focused on excursions in Prague and nearby countries. I rewrote legacy WordPress code, updated the user authorization plugin, cleaned the database, and fixed a critical bug: broken cookies caused new session records on every visit, eventually overflowing the DB. After fixing cookies and rewriting plugin logic, order processing was restored.

Visit website Link icon
  • WordPress
  • PHP

What People Say

I asked some of my former colleagues to share their impressions of working with me.

Photo of Igor Mozhzhakov
Engineer icon

Igor Mozhzhakov

Team Lead at “Treasure Island”

“Irina was a real gem for the project. From the very beginning she was the only frontend developer and essentially carried the entire frontend on her shoulders. What was especially valuable is that she didn’t just complete tasks — she suggested improvements: in architecture, interfaces, and performance. Many of these solutions went into production. I still remember the moment when she raised PageSpeed from ~50 to 90+ with a single commit — even the team didn’t expect that. She has a great sense of where the problem is and quickly finds practical solutions.”

Photo of Mikhail Korotych
Engineer icon

Mikhail Korotych

Team Lead at “Seichas”

“Irina is a developer who not only writes code but explains her decisions. I saw how she grew toward more systematic thinking and began working confidently with product architecture. Her pull requests were always a pleasure to read — clear logic, comments, and understanding of why the chosen approach was correct. Sometimes her modesty held her back — she didn’t always push a good solution through, even when it was technically the right one.”

Photo of Igor Z
Engineer icon

Igor Z

Team Lead at Blackwood.cloud

“You could rely on Irina. She calmly took tasks that usually require a more experienced developer and delivered them without extra supervision. I often trusted her with small projects entirely — and was always confident everything would be done properly.”

Photo of Pavel Chernykh
User icon

Pavel Chernykh

Team Lead at SykGameLab

“What impressed me most about Irina is her ability to learn quickly and not fear complex tasks. Even at university it was clear she didn’t limit herself to basics — she always dug deeper into technologies. At her first job this became especially noticeable: she quickly adapted to the project and took on tasks usually not given to juniors — and handled them confidently.”

Work Experience

  1. Sep
    2014 Education icon
  2. Aug
    2018 Work icon
  3. Jan
    2019 Finance project icon
  4. Nov
    2019 Remote work icon
  5. Sep
    2022 E‑commerce project icon
  6. Feb
    2025 Finance project icon
  1. 2014 – 2018 (4 years)

    Applied Mathematics and Computer Science

    Pitirim Sorokin Syktyvkar State University External link icon

    The program was divided into two parts — general mathematics and software development. During practical training we studied various languages and technologies: C++ programs, Android apps in Android Studio, backend development with PHP and MySQL, and frontend development with JavaScript, HTML, and CSS. Mathematics was mostly applied — integration of differential equations, advanced calculus, numerical methods, and string theory.

    • learned the basics of web development: JS, PHP, SQL, CSS, HTML, as well as C++ and Java;
    • participated in developing a student newspaper website;
    • built a JavaScript graphic editor and a C++ game; took part in annual programming competitions;
  2. August 2018 – April 2019 (9 months)

    Junior Unity / Backend Developer

    SykGameLab

    I joined a small team founded by a university acquaintance who decided to launch a mobile game studio. We developed a card game in Unity and C# for iOS and Android, and I was responsible for the server side: I built the backend in Node.js, designed and created a MySQL database via HeidiSQL, and implemented an achievements system through Google Play. Meanwhile, to generate some income, we released several small Android apps in Java — including a habit tracker and a calendar app. The card game was never released because the studio closed after a few months.

    • developed a mobile card game in Unity for iOS and Android;
    • designed and built a MySQL database, developed a Node.js backend server;
    • implemented achievements and player progress saving via Google Play;
    • developed several small Android apps in Java (habit tracker, calendar) to support team income;
    • Unity
    • C#
    • Node.js
    • MySQL
    • HeidiSQL
    • Android Studio
    • Java
    • Git
    • Google Play
    • Trello
  3. May 2019 – October 2019 (6 months)

    Junior Frontend Developer

    Platon Finance External link icon

    Platon Finance is a blockchain digital ecosystem with its own wallet, currency, and payment gateway. I joined the Platon Wallet team as an intern under the mentorship of a senior developer who taught me Vue 2 from scratch. Over four months I progressed from zero layout knowledge to a confident junior developer: fixed UI bugs, built new interface elements, and by the end of the internship independently implemented the logic of an integrated support chat. I also learned Lighthouse, SEO optimization, and Schema.org markup.

    • developed support chat logic using socket.io;
    • built the transaction history page and payment animations;
    • fixed layout bugs: logout page animation, incorrectly hiding mobile TabBar;
    • added new UI elements: new crypto wallet connection, website language switcher;
    • learned SEO basics, Lighthouse metrics, and Schema.org markup;
    • Vue.js 2
    • vue-router
    • JQuery
    • Bootstrap 4
    • GIT
    • socket.io
    • SCSS
    • JavaScript
    • HTML
    • CSS
  4. November 2019 – August 2022 (2 years and 10 months)

    Middle Fullstack Developer

    Blackwood.cloud External link icon

    Blackwood Software is an outsourcing company managing multiple diverse projects. I started as part of a pair with a team lead, but eventually began handling projects independently — from small online stores and landing pages to cryptocurrency and investment platforms. Often there were no testers or product managers, so many architectural decisions were made solely by me. My peak independence was a full grocery delivery website, developed entirely alone, from backend to frontend. In total, I completed around 12 projects, including legacy code refactoring and WordPress work.

    • developed a full grocery delivery website “from scratch” (Node.js backend, Vue frontend);
    • built Vue.js interfaces for Mitilena, Scammercoin, Med-Revolution, LocalCrypto;
    • integrated external APIs (RESTful, axios) across several projects;
    • ensured cross-browser compatibility and responsiveness for CZTransfer, K&LRock, Blackwood Software;
    • refactored legacy code for CZTransfer and Zlato pro radost;
    • grew from frontend to fullstack: Node.js backend, transition from Vue 2 to Vue 3;
    • Vue.js 2/3
    • Vuex
    • Vue-router
    • Vue CLI
    • Nuxt.js 2
    • WebPack
    • npm
    • Node.js
    • ejs
    • MySQL
    • SASS
    • WordPress
    • REST API
    • Websockets
  5. September 2022 – November 2024 (2 years and 3 months)

    Senior Frontend Developer

    Wee.ae External link icon

    Wee is a one-hour delivery marketplace in the UAE with a full product team: daily standups, product manager, QA, UX designers, DevOps. I joined at the early stage when the site was built with PHP and Vue CLI/Webpack, and spent the summer rewriting the project to Nuxt 3 with Vue 3, Composition API, and TypeScript (which I learned during this work). I proposed improvements to the review and release process, later adopted by the entire team. I built the testing process from scratch: learned Jest and Vitest, wrote unit tests for every component and e2e tests for key flows. Together with the team lead, I added ESLint and Stylelint checks to the GitLab pipeline. Due to the team lead’s long illness, I temporarily took over part of his responsibilities. I left because salary was delayed for more than six months.

    • led the rewrite from PHP/Vue CLI to Nuxt 3, Vue 3, Composition API;
    • introduced TypeScript and trained part of the team;
    • proposed and implemented a new code review and release process;
    • built the testing workflow: Jest/Vitest unit tests, e2e tests;
    • configured ESLint and Stylelint automation in GitLab;
    • wrote Schema.org markup for SEO;
    • temporarily took over team lead responsibilities;
    • Vue 3
    • Nuxt 3
    • TypeScript
    • Composition API
    • JavaScript
    • ejs
    • Stylus
    • BEM
    • Vitest
    • Jest
    • ESLint
    • Stylelint
    • Git
    • Figma
    • Jira
  6. February 2025 – June 2026 (1 year and 5 months)

    Lead Frontend Developer

    Trasis LLC (formerly Treasure Island LLC)

    The project — a tourism excursion service for Thailand and Vietnam with a separate admin panel. I was the only frontend developer from the start. The main site was built with Laravel and Livewire — I proposed and implemented a migration to Vue 3, rewriting 4 pages and adding 7 new ones, turning the project into a partial SPA with a microfrontend on Pinia. I set my own tasks, conducted reviews with the team lead, and made architectural decisions. When the site started leaking memory due to a third-party package, I quickly replaced it with my own component, raising PageSpeed from 50 to 92. In the admin panel, I implemented pages for excursions, seat availability, tags, categories, collections, attractions, including HTML sanitization in a custom editor.

    • proposed and implemented full migration from Laravel Livewire to Vue 3 (4 rewritten + 7 new pages);
    • built architecture with Vue 3 + Pinia without vue-router (routing handled by Laravel);
    • handled all frontend work independently;
    • fixed a critical memory leak by replacing a third-party package;
    • raised PageSpeed from 50 to 92;
    • designed and partially implemented admin panel migration to Nuxt 3;
    • introduced automatic AI code review workflow;
    • used ESLint, Stylelint, and TypeScript to maintain code quality;
    • Vue 3
    • Pinia
    • TypeScript
    • Laravel
    • Livewire
    • Blade
    • Vite
    • SCSS
    • ESLint
    • Stylelint
    • Git

Ready to discuss collaboration?

QR code linking to contact information

If you have a job opening or a project, I’d be happy to connect and discuss the details.

Choose the communication method that works best for you — Telegram or email.