Delivering solutionsSmile and watch the magic happenCoding with Purpose and Passion
Dmitriy Logunov
Delivering solutionsSmile and watch the magic happenCoding with Purpose and Passion
Contacts
Projects
Prototype for Guitar Practice Assistant
AI-powered guitar practice assistant that scores accuracy and tempo
.NET, BasicPitch Neural Network, MIDI
A .NET application built as a proof of concept for an app that listens to you playing guitar and scores your accuracy and correct tempo. It uses the open-source BasicPitch neural network from Spotify to convert played recordings into MIDI notes, then compares them with the expected performance. It's a long road from this prototype to an actual playable app, though.
Modern rewrite with smooth animations and enhanced graphics
Vue, TypeScript, Vite
Complete rewrite of my Mahjong Solitaire game with modern technologies, smooth animations, and enhanced gameplay. Designed with enjoyment in mind - all puzzles are guaranteed solvable with slightly reduced difficulty, because having fun matters more than the challenge.
A website for a local bicycle team, with a focus on the team's achievements and upcoming events. I maintained the website and added new features as needed, up until 2022.
Another win with the AI agent. Had my Ubuntu laptop's root partition running out of space. Claude Code analyzed the disk usage across apt packages and snaps, listed the unused ones and the most impactful for me to choose, then provided the commands to uninstall what wasn't needed. Freed 7.2GB out of a 32GB system drive. What would have taken hours of manual investigation was done in minutes.
From Ubuntu to Windows 11
Being an Ubuntu enthusiast for a long period of time, I'm now sort of forced to use Windows 11. The reason - my tools like Unity, Android Studio, and .NET all run better on Windows. Gaming is also a big thing for me, and despite all the progress in Unix compatibility, Windows remains the go-to platform for it. And I must say, yes there's some tension, but overall it's not too bad. I even like it. Especially paired with Ubuntu on WSL2 where I run all the familiar tools. And I'm still running Ubuntu on my laptop.
On AI-Generated Content
I don't mind using AI-generated posts. Why? If there's a party that does something better than me, it makes perfect sense to delegate the task to them. As long as it follows my thoughts, my ideas, and my style, I let the LLM cook.
AI-Powered Learning for Real Projects
There's a very interesting way to use AI when learning technology for a new project. Instead of going through generic tutorials before even touching production code, I ask AI (Claude Opus in my case) to create a tailored tutorial for me, implementing the actual project at hand. Right now I'm implementing a game in Godot and this approach works perfectly.
Game Asset Creation
As a developer, I always believed coding was the hardest part of making video games. That was before I created my first game asset pack. The entire process - creating with AI assistance, post-processing, and preparing the graphical assets - involves so much more than I anticipated. Gimp proved to be an excellent editor for this work; I'd definitely underestimated it before.
Mahjong Solitaire Remastered - Fun First
I just updated the Mahjong Solitaire Remastered game with a fresh philosophy: fun comes first. All puzzles are now guaranteed to be solvable, and I've slightly reduced the difficulty level. Why? Because it's not about the challenge - it's about how much enjoyment you get from playing. Sometimes the best games are the ones that just make you smile.
In the world where laptops define the modern workstation, I've chosen a desktop computer as my main work PC. Here's why:
Best bang for the buck: Dollar for dollar, desktops offer significantly more computing power than laptops
Whisper quiet: My desktop runs virtually silent even under heavy loads. This is due to optimized component selection based on noise levels.
Serviceable and upgradeable: Ever had to throw away a perfectly good laptop just because the power module on the motherboard failed? I have. With a desktop, I can replace or upgrade any component
Multi-monitor capability: Runs three screens effortlessly, creating an immersive workspace that laptops struggle to match
Ideal for gaming: When work is done, it transforms into a high-performance gaming machine
It just feels good: There's something satisfying about a proper workstation setup - the ergonomics, the space, the control over your environment
It also doesn't take much space on the desk or on the floor, sitting neatly in the holder bracket underneath my desktop. And if I want to work at a cafe? I have an old lo-fi laptop to which I sync my work via GitHub.
Vibe Coding
The vibe coding trend is here. Of course I took my time to experiment. So far, I'm happy with the results, if you know what to expect, where to use it, and where not to use it.
How it has blown my mind:
It refactored my old web Mahjong project from Angular 2 to Vue JS. Yes, the initial version had errors but was a very solid start. From there, through iterations and tracking down the issues, I've got it working in a few days. I was able to finally address all todos and small glitches, too. Just wow.
What it won't do for you:
Write an entire project from scratch, or remove the need for developers altogether
Do *everything*. Occasionally you need to jump back into the IDE and do things the old school manual way
What it did well for me:
Analysing existing codebases. Ever wondered where this text is coming from, or where this piece of logic is implemented? It finds it in a breeze.
Updating this website, it saves me significant time on mechanical work regarding design, structure, and wording
At work, it created a code structure diagram for a web front end project. The initial generated version was very obviously wrong, but served as a good starting point. From there, it took just a couple of hours to create a perfect and correct Mermaid diagram - a task that would have taken a full day otherwise
What it requires for success:
A good high level understanding by the user (developer) of what is being built, why and how. Yes, it shifts you up from basic coding to a more... senior or project designer level, but still requires you to be there and think critically
Portfolio website
Technologies: Jekyll, HTML, SASS, YML, Javascript
The idea of this website was long in the making, but finally I decided to put it together. It is a static website, built with Jekyll, and hosted on GitHub Pages.