Skip to content
View igor-vuta's full-sized avatar
🏠
Working from home
🏠
Working from home

Block or report igor-vuta

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
igor-vuta/README.md

banner

Typing intro

First-Class BSc (Hons) Computer Science · De Montfort University, Leicester, UK

Portfolio LinkedIn Email

fireworks eagle Statue of Liberty

Life, liberty, and the pursuit of reproducible applications.


Hi waving hand

I write backends and the web apps that lay on top of them, and I have an unreasonable soft spot for the part most people skip: proving the thing actually works.

A benchmark from a single run tells you almost nothing — change the seed and it can tell you the opposite. So when I claim my optimiser beats a greedy baseline, that number comes from 120 scenarios × 30 seeds, reported as a mean with the spread next to it. A result without a distribution is just an anecdote with good lighting.

That habit came out of my degree and never left. Give me a dataset and I'll happily lose an evening to it.

What I've been building rocket

Intelli-Factory — final-year project

A supply-chain matching platform: FastAPI + PostgreSQL backend running an NSGA-II genetic algorithm (DEAP), with a Next.js/TypeScript frontend.

The interesting part isn't the stack, it's the trade-off. Cost, delivery time and reliability all pull against each other, so there's no single "best" answer — you get a Pareto front and then have to decide what you're actually optimising for. Measured over 3,600 evaluations (120 scenarios × 30 seeds) against the production engine code:

Metric Greedy baseline Optimised Change
Composite fitness 0.682 0.801 +17.5%
Delivery time 8.02 days 4.67 days 41.8% faster
Reliability 0.824 0.891 +8.1%
Raw cost 21,296 KZT 51,648 KZT +142.5% — a deliberate trade

Pareto-front hypervolume 0.852 ± 0.12, converging around generations 50–60. Feasibility 100% across every scenario. Response time 0.069 s ± 0.015 s. Runs are seeded, so the numbers reproduce.

Also 51 pytest tests (TDD on the engine) and OWASP-aligned security — Argon2id, server-side sessions, rate limiting.

Live demo · API docs · Code

Heads up: the API sits on a free tier and falls asleep. Open the register page and give it ~90 seconds to wake up before assuming it's broken.

All the repos sparkles

Project What it is Live
intelli-factory Supply-chain matching platform — NSGA-II optimiser (DEAP), FastAPI, PostgreSQL, Next.js Visit
portfolio Editorial one-pager. Hand-rolled animations, zero UI libraries Visit
todo-webapp-refactored Full-stack task manager — PHP 8.2, MySQL, JWT, shared group lists, Docker Visit
drivePro-website Bilingual (RU/KK) site for an equipment-hire company Visit
currency-exchange-bot Button-only Telegram bot, API with a scraper fallback @currenvy_bot
vue-folder-tree Recursive Vue 3 tree component — keyboard nav, ARIA, no dependencies Visit
react-starter-pro React 19 + Vite starter with the lint/format/hooks/CI boring bits already done Visit
qubly-landing Older pixel-perfect landing page. Plain HTML, CSS, jQuery Visit

What I reach for

Python TypeScript FastAPI Next.js React PostgreSQL Tailwind Docker pytest

Alongside those: DEAP for evolutionary algorithms, pandas and NumPy when I'm poking at data, and Recharts when a result needs to be looked at rather than read.

Currently sparkler

Looking for entry-level software or web developer roles in the UK. I'm on the Graduate Route with full-time work rights, so no sponsorship needed.

Certified: Meta Front-End Developer · Palo Alto Cybersecurity Foundation · Red Hat RH124.

If you've got a problem where the right approach isn't obvious and someone needs to measure which one actually wins — that's the job I want.

Reach me at igor_vuta@proton.me.


a snake eating my contribution graph

The snake eats my commits so I don't have to.

footer

Pinned Loading

  1. currency-exchange-bot currency-exchange-bot Public

    Button-only Telegram bot for live currency rates and conversions — python-telegram-bot with persistence, currencylayer API and a BeautifulSoup scraping fallback.

    Python

  2. intelli-factory intelli-factory Public

    Multi-objective supply-chain optimisation platform — NSGA-II genetic algorithm (DEAP) on a FastAPI + PostgreSQL backend with a Next.js/TypeScript frontend. BSc final-year project.

    TypeScript

  3. todo-webapp-refactored todo-webapp-refactored Public

    Full-stack task manager with JWT auth, shared group lists and role-based access. PHP 8 REST API + vanilla JS frontend on MySQL, shipped as a single Caddy container and continuously deployed to Rail…

    PHP