Self taught developer. I started as a Flutter developer and then SwiftUI. I love UI design and animation. Now, I enjoy writing backend in Rust. I am not good at front-end web.

Flutter - Dec 2018

I started to learn mobile app development when flutter was beta. I am really good at it. I made some open source packages.

Some flutter UI designs.


I was working as flutter developer but I was struggling to find a well-paid job. So I decided to learn iOS app development. And I went with SwiftUI, which turned out to be a bad decision.

Some UI designs in SwiftUI.

Even tho I like SwiftUI more than Flutter. But the problem with SwiftUI, It wasn't mature, lack of API. And nobody was hiring SwiftUI developer. It's not backward compatible which led to low adoption rate. Bad documentation. Very slow update cycle. Learning UIkit was difficult for me, since most tutorials and Q&A used storyboards or objective-C, not to mention many outdated answers. And I hate XCode. I wasted some time there.

Backend and Front-end

During that time, I also took some time to learn node-js which I enjoyed a lot. I always wanted to learn the backend. Then I went ahead and decided to learn React and I was overwhelmed by the number of hooks. Also, front-end JS is very overwhelming with tons of frameworks. Anyway, I eventually built my first portfolio using SevelteKit.

Setting up a node-express project with TS, top-level await, etc is not easy. Every time I open a project or update I get errors. And there is always another npm package to do simple thing. And everyone is using some meta framework like Next-JS to write backend which is built on top of a front-end library React. I don't like the abstraction. Then there is Deno and Bun, and both weren't mature. JS ecosystem is chaotic.

Anyway, after that I found Go and I liked it. It's a static type language, very simple, good ecosystem, and good first-party support for the backend. And I build this website in go.

Well, I had to learn Rust since it was trending, and boy, I love it. The fantastic type system, enums, and error handling. It makes Go a very minimal language. Finally, I ported this site to Rust from Go.