Skip to content
Join us for the 10th year of GitHub Universe, Oct. 29-30. Get your ticket now.
Anton Mirhorodchenko

Realizing potential with AI

Anton uses AI to write code and tackle more projects.

Anton Mirhorodchenko // @GreenWizard2015

Hi! My name is Anton Mirhorodchenko and I’m a software developer from Ukraine. I have been passionate about AI for several years, particularly in reinforcement learning, unconventional approaches, and using AI to tackle accessibility barriers. Despite having cerebral palsy, and enduring the challenges of housing insecurity and war in my native country, I stay positive and find ways to pursue my passions. I am most excited about sharing my experiences and ideas with this community and for the opportunity to learn from others.

The ReadME Project amplifies the voices of the open source community: the maintainers, developers, and teams whose contributions move the world forward every day.

One of my strongest childhood memories is of the attic of my old house, where my family stored old scientific books. I would climb out onto the roof to read them. For my ninth birthday, I asked for a set of encyclopedias about math, physics, chemistry, and biology. I was always curious, always seeking answers.

Much of my curiosity stemmed from realizing early in life that I was different from others. I was born with cerebral palsy, which always made it hard for me to do things that I could see others do with relative ease. I couldn't walk until I was six. I encountered discrimination and inequality at a young age and began searching for the reasons behind this mistreatment. Simple answers like "bad people behave that way" didn't satisfy me. The lack of information about the experiences and lives of other people with disabilities was always frustrating to me. I had a hard time reconciling my own abilities with negative stereotypes about disabled people.

Computing gave me an outlet to explore my curiosity and creativity. When I was 14, I received an old laptop. The hard drive died after around two months, so the only thing it could do was boot into MS-DOS from a floppy disk. I wanted to keep using it to play computer games, but to do that, I would have to learn to program my own games. Fortunately, I found a book on QBasic in the school library, so I started teaching myself. I had no idea that programming could be a career, or even much sense of the other benefits it could bring. At the time it was just another way to solve a problem I faced.

After about two months I created a simple racing game. The hardest part wasn't the code, but typing. It's physically painful for me to type. It's also slow going. To type parentheses or brackets, I have to hold down shift with my nose. 

If you try working the way I had to, you'll quickly see how hard it is. Even for QBasic, I started to come up with basic techniques on my own to simplify the development process. Later, I discovered that the effort put into code structuring, OOP, and writing unit tests truly pays off. My disability heightened my perception of code, and many best practices make perfect physical sense to me, rather than being mere pieces of advice. Basically, my love for clean code started thanks to my disability.


Check out the video below—the latest in GitHub’s Coding Accessibility video series—and keep reading to learn how Anton not only uses AI as an assistive technology, but how he's expanding his efforts to build AI-powered assistive technologies himself.

Audio descriptive version also available.


Building independence

Eventually, I acquired a better computer. Around 2007, I showed a school teacher some of my programs, which I thought were pretty simple. But they told me that my code was too advanced for the classes they taught at my school. So I'm mostly self-taught, though I did take some courses in university, where I studied systems administration.

My first relationship began while I was in university, but ended because I was too concerned about my disability. The breakup had a huge impact on me. I decided to better myself and become more independent. I began working out at the gym. It turned out that the most athletic member of my family was my grandmother. We went to the gym together for around 12 years. I have also tried yoga, wushu, and even a few basic workouts from boxing. Sports have given me many insights and helped shape my personality. I'm not attending the gym much right now, but it taught me a lot about life.

I have a lot of people in my life that are willing to help me and I receive some support from the government, but I don't want to rely solely on that. I don't want to just take, I don't want to be dependent. In my situation, this may seem normal and acceptable, but I have chosen a different path.

I started freelancing in 2012 after a house fire destroyed part of our home. I always inform my clients about my disability. I present it as an advantage because it provides me with extensive experience in solving complex and unconventional problems. I won’t give up when faced with difficulties in my work—I don't know how to give up. I can literally delve into a problem for days and nights, reading articles, and searching for any possible ways to at least partially solve it.

In the early days, many of my clients were students who had no money to pay me, but I did the work to gain experience. I learned JavaScript, C++, and any other languages that my clients requested. I wrote small games, solved simple problems like implementing matrix classes, developed game bots, and anything else that seemed interesting. Sometimes, I had to deobfuscate and reverse engineer JavaScript or even binaries. I worked with DirectX and even injected my code into processes. 

Anton leaning in to a tablet and pressing the screen with his nose.

To type parentheses or brackets, I have to hold down shift with my nose.


Expression through AI

Fortunately, coding became easier for me once I acquired a newer computer and learned how to take advantage of autocomplete features in my IDE. However, assistive technologies in general were out of reach or unhelpful to me at the time. Eye-tracking tools were too expensive. And, because of my speech defects, voice-to-text solutions don't work well for me. It's even harder for me to speak than type.

More recently, AI-based tools have radically reduced the amount of typing I need to do. I was skeptical at first, but soon realized that, for me, the benefit of GitHub Copilot wasn’t that it could solve programming problems for me, but that it simplifies the physical acts of coding and writing. Symbols and punctuation have always been particularly difficult for me to type, but now I can omit many of them and let ChatGPT generate them.

Before ChatGPT and GitHub Copilot, I almost never wrote code comments or documentation. Remember, every keystroke was a literal pain. That made it hard for me to follow industry best practices, or even to share my work with others. Large language models made it possible for me to write in shorthand, typing very few characters. I just type my shorthand into ChatGPT, and it expands it into readable writing in Ukrainian. I can also easily translate this into English. It saves me an enormous amount of time, effort, and discomfort. I can start writing a comment and let GitHub Copilot finish it, along with the code implementation. It’s a huge time and effort saver. 

I used to abandon ideas because I couldn't work fast enough. That created mental pain on top of physical pain. It was difficult to express myself. Now I can communicate with family, friends, and strangers more comfortably. I even wrote a guide to coding with AI that can hopefully help others in a similar position. I never would have considered writing something so long before. AI has expanded the realm of possibilities for me and helped counter much of my pessimism.

Anton sits at his desk coding.

New journeys

For many years, I was preparing to leave Ukraine. I felt that I wouldn't be able to live a normal life there and sensed an impending war. Despite my preparations, the war that came to us was a shock for me. Part of me wanted to stay and help my people. However, I realized that not only would I be unhelpful during wartime, but I could also create liabilities for others as well. A friend moved to Slovakia several years ago, so my sister and I decided to move there shortly after the war started. We both thought that he would have to help me, but I managed to settle down here on my own. My life didn’t change much because even in Ukraine I had a basic lifestyle. I spend most of my time working on my projects.

Much of my work is focused on solving both my own problems and those of others with disabilities. For instance, I created a robotic cart for a friend with an even more severe form of cerebral palsy. He could control it with a mobile phone and use it to fill a cup from a thermos, enabling him to have a cup of tea when he liked.

I started a journey into machine learning not because it was trendy or because I thought it would make me money, but with the idea of creating an inexpensive robot that could feed me or someone else with similar difficulties. It's a very challenging task, but I'm steadily gaining the necessary experience and knowledge in areas like reinforcement learning, computer vision, and more. I’ve already created a simple feeding robot. I'm also working on building open source eye gaze tracker software that uses neural networking to turn standard webcams into alternatives to more expensive products. Kirsty McNaught gifted me a Tobii EyeX, and I'm very grateful to her, but these devices are not affordable to everyone. 

Longer term, perhaps we will live in a future with simpler and more intuitive ways to interact with computers for everyone, not just people with disabilities. For example, miniature devices attached to clothing or skin that could respond to various metrics such as a person's pulse, position, or pressure on different parts of the body, using AI to adapt to the individual and connect even the slightest changes in the body to personalized commands.

Someday I'd like a job as a full-time AI/ML researcher. I'm constantly studying AI, experimenting, and have created several projects using neural networks. I also participate in Kaggle competitions to test my skills, but I have an unusual approach: I choose new experiences over efficiency. For example, even if I know that a decision tree is a better solution for a particular task, I might try to improve the accuracy of a neural network instead, because it's intellectually stimulating, and the experience gained will help me in other projects.

Likewise, I always try to choose freelance projects in such a way as to learn something new. If it’s a web development project, I try to learn something like React. If I need to process data quickly on a low-end server, I learn the nuances of Java NIO and the count-min sketch algorithm. If a project is really boring, I turn it into a research opportunity for LLM.

All of this work remains enormously challenging. I still don't work as fast as I'd like. But each of my projects teaches me something new, and much of my work makes my future work easier—not just for me but for others as well. I’m excited to see where my work takes me next.

Anton sits in a gray chair with his arms crossed at a wooden table in a concrete building.

About The
ReadME Project

Coding is usually seen as a solitary activity, but it’s actually the world’s largest community effort led by open source maintainers, contributors, and teams. These unsung heroes put in long hours to build software, fix issues, field questions, and manage communities.

The ReadME Project is part of GitHub’s ongoing effort to amplify the voices of the developer community. It’s an evolving space to engage with the community and explore the stories, challenges, technology, and culture that surround the world of open source.

Follow us:

Nominate a developer

Nominate inspiring developers and projects you think we should feature in The ReadME Project.

Support the community

Recognize developers working behind the scenes and help open source projects get the resources they need.

Thank you! for subscribing