Timeline
Now
- Full-stack TypeScript systems that stay maintainable after launch
- Fast MVP delivery without turning the codebase into a short-term mess
- AI-enabled workflows that solve a real operational or product problem
- Clear technical communication with founders, PMs, and stakeholders
On this page
Chapter 01
Why this page exists
Most portfolio websites compress a developer into a short paragraph: full-stack, TypeScript, SaaS, AI, scalable systems, reliable delivery. Those words are not wrong in my case, but they are incomplete. They describe the surface area of the work, not the path that formed it. They say very little about where I come from, what pushed me toward software, how I learned to think about systems, why I care so much about ownership, or why I naturally drift toward product-minded engineering instead of feature-only execution.
The long version matters because the kind of work I want is long-term, trust-based work. If somebody is hiring me to help build a product, ship an MVP, improve a codebase, or shape an engineering direction, they are not only evaluating whether I know a framework. They are evaluating whether I can think clearly under pressure, communicate honestly, make tradeoffs that will still look good six months later, and carry real responsibility without drama. A longer About page gives the right context for that.
I also think there is value in being specific. Generic bios are easy to write and easy to forget. A real one has texture. It includes where you are from, what kind of student you were, what your first experiments looked like, which projects changed your standards, and what you still enjoy outside work when the laptop is closed. Those details are not filler. They explain how a person became the engineer they are now.
So yes, I believe it is absolutely appropriate to say that I am from Ukraine, that I live in Lviv, that I studied at the Lviv State University of Life Safety, that I started with simple HTML pages and then got obsessed with Minecraft plugins in Java, that I helped build university bots used by more than a thousand people, that I got my first commercial experience early, and that sport, motorsport, and competition still shape the way I think about discipline and consistency. Those facts belong here because they are part of the real story.
Chapter 02
Growing up in Ukraine and learning to build things
I am from Ukraine and based in Lviv. That matters to me not as a decorative fact for a profile, but because place shapes temperament. Ukraine has a way of teaching directness, resilience, improvisation, and responsibility earlier than many people expect. When you grow up around people who solve practical problems without over-romanticizing them, you absorb a certain bias toward action. You learn not to wait for perfect conditions. You learn to work with the constraints in front of you and still produce something useful.
Lviv in particular gave me a mix I value a lot: history, structure, strong educational communities, and a growing connection to technology. It is a city where you can feel tradition and movement at the same time. That combination fits me well. I like systems, standards, and craft, but I also like momentum. Good engineering is a version of that same balance. It respects fundamentals while still pushing things forward.
Before I had any professional language for it, I was already drawn to building and modifying systems. I was interested in how things worked under the surface, why certain tools felt smooth and others felt awkward, why some experiences looked simple but were clearly supported by deeper logic. Even when I could still make basic HTML pages, I was already getting pulled beyond the surface layer. Styles alone were never enough for me. I wanted to know what made something interactive, stateful, smooth, fast, or frustratingly slow. That instinct showed up before I knew what architecture, developer experience, or product thinking meant. It showed up as curiosity, experimentation, and a stubborn desire to make software behave the way I thought it should.
When I look back, one of the strongest through-lines in my life is that I never liked being only a consumer of technology. I wanted to open it, change it, inspect it, and shape it. I did not always have the vocabulary or discipline I have now, but the impulse was already there. The long-term version of that impulse became engineering.
Chapter 03
HTML first, then Minecraft plugins and Java at fourteen
Before Minecraft plugins, I could already make simple HTML pages. But almost every time I learned one layer, I immediately ran into the next question. I do not only want styles, I want logic. I do not only want logic, I want a better way to manage state. I do not only want a working page, I want animation, smoother behavior, and better optimization. I do not only want a feature, I want to know why it lags, what a SPA really is, what SSR changes, and why some software feels alive while other software feels heavy. That pattern of curiosity started early and never really stopped.
One of my earliest real gateways into programming as a deeper craft was Minecraft. For a lot of people it is just a game, but for many future developers it becomes a lab. In my case, at fourteen, I got pulled into the world of Java plugins and server customization. At first, the appeal was simple: I wanted to change the experience, add logic, automate things, and make the server environment behave differently from the default. But that simple motivation quickly turned into something much deeper.
Working with plugins taught me a lesson that still matters in professional work: software becomes interesting when users can feel your decisions. You are not writing abstract code into a void. You are changing the behavior of a live system that other people interact with. If your logic is bad, people notice. If the flow is awkward, people notice. If the setup is clean, fast, and intuitive, people notice that too. That direct feedback loop was addictive in the best possible way.
Java also gave me an early taste of structure. It forced me to think in terms of organization, explicitness, and maintainability earlier than I probably would have if I had started somewhere looser. I did not understand everything formally at the time, of course, but I was already becoming sensitive to code shape, code readability, and the difference between something that merely works once and something that can keep evolving. A lot of what I learned in those years came from direct experience and direct mistakes. I broke things, misunderstood things, fixed them, and slowly built intuition by going through the friction instead of avoiding it.
More importantly, those early experiments made me feel the satisfaction of creating software for the pure reason that I liked it. Nobody needed to tell me to do it. There was no salary attached to it. There was no official roadmap. I was building because it was genuinely compelling to me. That kind of motivation matters. It is often what separates somebody who can perform tasks from somebody who will keep learning when no one is watching.
Chapter 04
University years and building for real users
I studied at the Lviv State University of Life Safety. People sometimes underestimate how important the university period can be for engineers who are willing to use it properly. For me, university was not just a box to check. It was a place where I kept learning how to work with people, how to move ideas into working systems, and how to take initiative in environments that do not automatically organize themselves around strong technical execution.
By the time I was sixteen and on the first year of university, I already stood out from many people around me because I had been learning by building for years. Not through a perfectly structured curriculum, but through self-directed experiments, broken projects, weird bugs, side quests, and the habit of following technical questions until I understood them better. That made a real difference. I was not better because I had memorized more terms. I was ahead because I was already comfortable learning through friction and through my own mistakes.
One of the most meaningful things from that period was participating in the development of schedule bots that ended up serving more than one thousand users. That experience mattered because it changed the scale of the feedback loop. It was no longer enough to build something for myself or for a small test group. Now the software had a real audience with recurring needs, practical expectations, and a low tolerance for needless friction. When software becomes part of people’s routine, quality suddenly becomes much less theoretical.
Projects like that taught me to care about reliability and clarity in a more serious way. A bot that helps people organize their schedules sounds simple from the outside, but anything used by a large student audience quickly runs into real problems: usability questions, update speed, edge cases, maintenance burdens, and the need to keep behavior predictable even when the inputs are messy. The project sharpened my sense that a good product is often just disciplined engineering made visible.
University was also where I started stepping into leadership more naturally. Not in the loud or theatrical sense, but in the practical sense: taking ownership, making sure people moved in the same direction, filling ambiguous gaps, and raising the level of execution around me. I liked being useful in that way. I learned that leadership in technical work is often much less about authority and much more about helping a team think clearly and ship reliably.
Chapter 05
Building projects for myself simply because I loved it
A lot of the most formative work I did was not assigned by a company or a professor. It was self-initiated. I kept creating projects for myself because I enjoyed the act of building. Some of those projects were experiments, some were learning vehicles, some were attempts to solve a problem I cared about, and some were simply excuses to understand a new piece of the stack more deeply. That pattern stayed with me for years.
There is something powerful about self-directed projects when they are done honestly. They reveal what kind of problems you are naturally drawn to when no one is optimizing your choices for you. In my case, I kept circling back to systems that combined logic, utility, and user-facing value. I liked workflows, integrations, interfaces, backend structure, and products that solved something concrete. Even before I had a polished portfolio, the direction was already visible. I was consistently more interested in behavior than cosmetics, more interested in why something worked than in how quickly I could make it simply look finished.
Those projects also helped me build range. Commercial work often forces depth in a narrower band, which is useful and necessary. Personal work lets you explore adjacent layers without waiting for formal permission. That is part of how I became comfortable working end to end: not only because employers needed it, but because I kept choosing to touch the full shape of the product. I wanted to know how the interface connected to the API, how the API shaped the database, how deployment affected architecture, and how all of that influenced user trust.
Most importantly, building for myself protected my sense of enthusiasm. It reminded me that coding was not only a career path; it was something I actively enjoyed. That enjoyment does not replace discipline, but it strengthens it. When the work is hard, deadlines are real, and quality matters, intrinsic interest becomes an advantage. It helps you stay curious instead of cynical.
Chapter 06
First commercial experience at eighteen: TetaLab
I got my first commercial engineering experience when I was eighteen at TetaLab. That transition mattered a lot. There is a clear difference between learning in public, building for yourself, and entering an environment where real stakeholders depend on your output. The standards change. The pace changes. The cost of vague thinking changes. You start seeing how technical choices connect to actual business operations, time constraints, and team dynamics.
At TetaLab I worked on an IoT growing project. I was not just looking at isolated frontend tickets or artificially clean exercises. I was dealing with a product that had real operational logic behind it: devices, sensor data, dashboards, backend services, reliability concerns, and the need to represent physical-world information inside software systems in a way that stayed useful and understandable. That is a strong place to grow because it forces you to think beyond isolated features.
The project taught me to respect applied engineering. It is easy to glamorize software in abstract terms, but when you are connected to a domain like IoT and agriculture-related processes, you feel the value of software differently. Interfaces are not just visuals. They are operational tools. Data structures are not just academic decisions. They affect how people interpret reality and make decisions. That kind of environment matures your judgment quickly.
Getting that first commercial experience early also gave me confidence. Not false confidence, but the kind that comes from seeing that you can contribute meaningfully in a real setting, learn fast, and adapt under pressure. Once that threshold is crossed, the path forward becomes much more concrete. You stop wondering whether you can work professionally and start focusing on how good you can become.
Chapter 07
Balancing full-time work with university
One of the defining things about that period was that I was not only working. I was also continuing my university studies. Combining full-time work with education is demanding in a way that is hard to explain to people who have not done it. It forces discipline because there is no fantasy schedule. You cannot rely on motivation alone. You need systems, priorities, energy management, and a tolerance for sustained pressure.
That period shaped my work ethic in a permanent way. I learned how to protect focus, how to move even when tired, and how to distinguish between what is urgent and what is merely noisy. I also learned that consistency is more valuable than occasional intensity. A person can look impressive for a week on adrenaline. It is much harder to stay dependable month after month when responsibilities overlap. That is where real habits show themselves.
There was also an emotional side to that period. When you are young and carrying both academic and professional responsibilities, you are constantly negotiating identity. You are a student, but also no longer only a student. You are a junior in one sense, but in another sense already responsible for work that matters. Navigating that transition taught me to mature quickly without becoming rigid. I had to grow into responsibility while still staying open to learning.
Looking back, I would not remove that difficulty. It gave me stamina and perspective. It made later challenges feel more manageable because I already had experience operating with limited time, competing priorities, and real expectations. That period did not just make me better at working hard; it made me better at working deliberately.
Chapter 08
Leadership in university projects and then in commercial work
I gradually became a leader in university projects and later in commercial ones as well. I do not mean leadership as branding. I mean the practical version that appears when a team needs somebody to step forward, structure the work, reduce confusion, and keep the standard from drifting downward. I found that I was naturally drawn to that role, partly because I care about quality and partly because I dislike avoidable chaos.
In academic settings, leadership often means bridging gaps that nobody officially owns yet. Clarifying direction, organizing people, deciding what matters most, and keeping momentum alive. In commercial settings, the same core behavior continues, but the stakes are higher. Now delays cost money, technical debt compounds faster, and unclear communication affects more people. Learning to operate in both environments helped me see that leadership is mostly about reliability and clarity, not about status.
I like working with strong teams, but I also do well when structure is weak and somebody needs to create it. That is relevant to the kind of clients and companies I often fit best with: startups, small product teams, and growing companies where execution matters more than bureaucracy. In those environments, somebody who can think across product, engineering, and delivery becomes especially useful.
Leadership also changed how I think about code itself. Once you start leading work, you stop evaluating technical decisions only by whether they are clever or satisfying in isolation. You start asking whether they help other people move, whether they reduce long-term friction, whether they make onboarding easier, and whether they keep the team operating at a healthy speed. That broader frame improved my engineering a lot.
Chapter 09
Joining Appexoft at nineteen and growing for more than two years
At nineteen, I joined Appexoft. I spent more than two years there, and that chapter became a major part of my professional development. It gave me continuity, exposure to different product contexts, and the chance to deepen my full-stack judgment over time rather than only through short bursts. Long enough involvement with real teams teaches lessons that fragmented work cannot.
At Appexoft I kept strengthening the parts of engineering I care most about: TypeScript-first development, frontend and backend coordination, scalable API work, thoughtful database design, and the discipline required to build products that can survive real usage rather than just demo well. When you stay in an environment long enough, you start seeing not only how systems are built, but how they age. That perspective is incredibly valuable.
I also learned more about communication inside product work. It is one thing to write code well. It is another to align with product managers, stakeholders, and growth-oriented people while keeping technical standards intact. That translation layer matters. A lot of engineering value is lost not because the code is impossible, but because the conversation around the code is weak. I became much more intentional about making tradeoffs legible to non-engineers while still defending what genuinely matters.
Those years reinforced something I still believe strongly: the best engineers are not only implementers. They are stabilizers. They create clarity, reduce hidden risk, and increase a team’s ability to ship without panic. That is the role I increasingly moved toward and the one I still want to grow further into.
Chapter 10
How those experiences shaped my engineering philosophy
If I had to summarize the engineering philosophy that came out of all of this, it would be this: build products, not just features. That sounds simple, but it changes almost every decision. It means I care about user outcomes, architecture, maintainability, delivery speed, communication quality, and business reality at the same time. It means I am not interested in elegant code that only impresses other developers while creating unnecessary friction for the product.
I prefer clean systems, but I am not dogmatic. I like good abstractions, but only when they remove future pain instead of manufacturing present complexity. I value performance, but not as a vanity metric detached from product value. I care about developer experience because teams that can move clearly and confidently build better products. I care about naming, API boundaries, data modeling, and deployment hygiene because those things quietly shape how sustainable the entire system becomes.
This is also why I fit well with SaaS, MVPs, and AI-enabled products. Those environments reward practical thinking. You need enough architecture to avoid chaos, enough speed to stay commercially relevant, and enough judgment to know which problems are worth solving deeply right now. I enjoy that balance. It is the zone where engineering feels most alive to me.
My background made me this way gradually. Early HTML pages taught me that UI is only the entrance to deeper questions. Minecraft plugins taught me that software should feel different to users when your work is good. University bots taught me that reliability matters when people depend on your tools repeatedly. TetaLab taught me that product logic connects to real-world operations. Appexoft taught me to sustain quality over time inside commercial delivery. Together, those experiences built the kind of engineer I am now.
Chapter 11
Why personal details belong on a serious About page
I think it is completely appropriate to include personal context on a serious About page, as long as it is done with intention. Saying that I am from Lviv, Ukraine is not random autobiography. It tells you something about the environment I come from and the perspective I bring. Mentioning my university is not there to inflate credentials. It gives continuity to the story of how technical interests turned into professional work.
Telling the story of HTML pages, Minecraft plugins, university bots, self-initiated projects, TetaLab, and Appexoft is also appropriate because it shows progression. It is not a list of unrelated memories. It is an arc. You can see curiosity becoming discipline, experimentation becoming responsibility, and responsibility becoming leadership. That is exactly the kind of pattern a good About page should reveal.
The same is true for sports and hobbies. If I say that I play football and volleyball in my free time, support Liverpool, believe in “You’ll Never Walk Alone,” enjoy Formula 1, follow Red Bull, and simply love driving, those details are not there to pretend a hobby section is deep philosophy. They are there because they reveal something true about rhythm, temperament, and the way I recharge. Competitive sports, team loyalty, and motorsport all connect naturally to what I value in work: discipline, coordination, momentum, composure, and standards under pressure.
People often try to sound professional by removing everything human from their story. I think that usually makes the story weaker. Seriousness does not require dryness. A strong About page should be credible, specific, and human at the same time.
Chapter 12
What I care about now
Today, I care about building products that are both useful and well-made. I want to work on software that earns trust through quality: clean architecture, practical interfaces, strong backend foundations, reliable integrations, and a visible respect for the people using it. I am especially energized by products where engineering choices clearly shape user outcomes rather than disappearing into purely internal maintenance loops.
I am interested in SaaS, internal tools, startup products, AI workflows, and systems that require thoughtful coordination between frontend, backend, and business goals. I like environments where technical decisions matter and where somebody who can think across layers is genuinely valuable. I do not need everything to be glamorous. I do care that the work is real, that the product has purpose, and that the team wants to build responsibly.
I also care about the trajectory of my own growth. I want to keep getting better at architecture, product judgment, communication, and leadership. Not leadership as status, but leadership as leverage: the ability to improve clarity, raise execution quality, and help teams move more confidently. The older I get, the more I respect engineers who create calm and consistency around them. That is the direction I am consciously moving toward.
And outside of work, I still value the things that keep life balanced and grounded. Football and volleyball give me movement and team energy. Liverpool reminds me why loyalty and belief matter. Formula 1 gives me a constant appreciation for precision, systems, and marginal gains. Driving gives me the simple satisfaction of motion and control. None of those replace engineering, but they support the kind of energy and focus I want to bring back into it.
Chapter 13
The short version after the long one
If somebody reaches the end of this page and wants the short version, here it is. I am a full-stack TypeScript developer from Lviv, Ukraine. I started with HTML pages, moved into Minecraft plugins in Java at fourteen, learned a huge amount through direct experimentation and mistakes, stood out early in university because I had already been building for years, helped create university bots used by more than a thousand people, got my first commercial experience at eighteen at TetaLab on an IoT growing product, balanced full-time work with university, grew into leadership through both academic and commercial projects, and then spent more than two years developing further at Appexoft.
Today I build SaaS products, MVPs, AI integrations, and scalable web applications. I care about ownership, clarity, architecture, maintainability, delivery quality, and products that feel solid in real use. I enjoy working across the full stack because I like seeing the whole system, not just one layer of it. I care about details because details accumulate into trust.
So yes, a long About page makes sense. It is not there because I enjoy hearing myself talk. It is there because context matters, and because the kind of work I want to do is the kind of work where people should understand who they are building with. If that is what you wanted to know, then this page has done its job.



