Projects

Here are my personal projects, the newest ones at the top. All of them are open source, and you can also find me on Github.


DejaReview

DejaReview is a VS Code extension to review code changes made by AI agents. Code that is good I stage with git, for the rest I leave notes right in the code and diffs, and then copy all notes with their context to the agent in one click.

AI agents are very willing to produce huge changes, and while reviewing them I kept opening the same files again and again with a strong feeling of déjà vu, not sure if I had already written a note about it or not. So I wanted an easy way to keep track of what is accepted and what still needs work.

All code was written by AI agents in OpenCode under my guidance in September and October 2026, and from the second day the extension was reviewed with itself. The panel UI is built with nice Preact library bundled with esbuild, so there are still no runtime dependencies. More details about this story are in the blog post, and there is also a short demo video.

Features:

  • Notes on selected lines in files and in diffs, on both sides of a comparison.
  • Notes for a whole file, and general notes.
  • List of files to review with Stage and Revert buttons, the next file opens automatically.
  • Copy all notes as Markdown with file paths, lines and code snippets.
  • Restore the last copied notes.
  • Everything stays on your machine, the extension does not call any AI.

Since October 29, 2026 it is published on the VS Code Marketplace, so it can be installed right from VS Code by searching for "DejaReview".


Yet another tuner

Yet another tuner is a guitar tuner which works directly in web browser. I was tired of tuner apps on my phone with ads, and also I wanted to explore Web Audio APIs on something real.

Sound from the microphone is processed locally in an AudioWorklet, separately from the UI thread, and never leaves the device. Pitch detection is done by the McLeod Pitch Method implemented in plain JavaScript without any runtime dependencies.

The first prototype was written by me in 2025, and in August 2026 the app was completed by AI (GPT-5.6 Sol in OpenCode) under my guidance. More details about this story and implementation are in the blog post.

Features:

  • Automatic string detection or manual string lock.
  • Tuning meter in cents and pitch history graph.
  • Standard and alternate tunings, or a custom one.
  • A4 calibration, capo, and reference tone.
  • Light and dark themes, left-handed layout.
  • Works offline and can be installed as an app (PWA).

Demo is deployed here: https://olekboiko.com/yet-another-tuner/.


Linked graph

Linked graph is a demo Web application which allows to build, edit and view linked graph data structures. One of important functionalities is a live layout which adjusts positions of objects based on link constraints between them. This layout calculation is provided by nice WebCola JavaScript library with is used in direct combination with React rendering. Awesome library D3 was intentionally not used here.

Features:

  • Adding new objects and connections.
  • Move object with drag and drop.
  • Editing of objects and managing connections.
  • Automatic live graph force layout.
  • Displaying link directions and text.
  • Zooming and panning.
  • Mobile friendly.
  • Possibility to undo 5 last operations.

Logo playground

Logo playground is an online IDE for LOGO programming language with ability to write and execute programs directly in web browser.

LOGO was my first programming language which I learned when I was 10 years old, so I decided to create a decent own-made environment to fulfill my nostalgia and have some fun during the process.

This project turned to be quite long lasting, initially I started it to try different ways of organizing React frontend application. I refactored it several times trying different architecture approaches experimenting with reactive event model RxJS or dependency injection with Inversify library. At last I settled on "classic" React + Redux combination with Redux-thunk middleware. I still dream of writing some sort of documentation wrap-up for this project.


2048 game

2048 is a single-player sliding block puzzle game. You need to move blocks in order to combine the same tiles. The goal is to reach 2048 or a maximum you can.

This is just another implementation of 2048 Game initially written by Gabriele Cirulli. Fun project to get my hands to work with some technologies.

Demo is deployed here: https://megaboich.github.io/2048/.

Main goal of this project was to make me more familiar with TypeScript programming. Also here I used amazing JavaScript library for canvas rendering PixiJS.


Javascript Map Parser

JavaScript map parser is an extension for Visual Studio and Notepad++ to show panel with hierarchy structure of your JavaScript file. I created this tool to improve navigation over monstrous spaghetti-styled legacy JavaScript codebase.

The Visual Studio version was first published on the Visual Studio Marketplace on February 17, 2010, and the last update was on May 2, 2016. On October 30, 2026 it had more than 300K installs and was rated 4.66 out of 5 by 76 people. Notepad++ users are not counted there.

Now this extension is mostly obsolete unless you are stuck in previous era and still working with ES5, especially with huge monstrous spaghetti-styled JavaScript files.