From Android Freelancer to Full-Stack: How My Stack Evolved
If you ask “what’s your main stack,” my answer has changed quite a bit over the past few years. Here’s a rundown of that path, and why I don’t regret any of the shifts.
The Android phase (2019—2023). I started as an Android freelancer at Koding Works — building Android apps, collaborating across teams on new features, fixing bugs and performance issues. The focus was narrow but deep: native UI, Activity/Fragment lifecycle, REST API integration to a backend usually handled by another team.
Branching into full-stack web. Alongside and after that, I started taking on both backend and frontend web work — React on the client side, Spring Boot for Java-based backends, plus exploring Python and Go for lighter services. This came from a real need: freelance clients often didn’t have a separate backend team — if I could only do Android, I’d lose projects that needed a full end-to-end solution.
The cross-platform desktop phase (2023—present). Since June 2023 I’ve been at Hantechno, building cross-platform desktop apps for VPN connections, remote desktop, and security reporting, using Avalonia (C#), Golang, and Python depending on what each module needed. This is an area I barely touched early in my career, but it turns out a lot of the fundamentals (state management, networking, concurrency) transferred well from mobile and web experience.
What I learned from this transition: a specific stack is a tool, not an identity. The fundamentals that actually matter — problem solving, quickly reading unfamiliar documentation, and the discipline to write code other people can maintain — are what’s portable across platforms. Languages and frameworks get picked up as needed.