About Zoran Ravić

Lead dev for great projects

Commercial app development experience with:

Native App dev with React Native / TypeScript

Full Stack Web dev with React / Node / TypeScript

Web dev with Drupal / PHP

Game dev with Unity3D / C#

Technology Stack

Overview of the technologies I'm using

 TypeScript

Type validation is the foundation of any professional project and I believe that the early adoption of TypeScript was key to the success of the projects I worked on.

I included it in all of my work projects, even back when I worked with PHP frameworks that required a fairly limited amount of frontend code.

Frankly I consider any plain JavaScript project as amateur and I'd recommend introducing type checking before doing any unit testing.

 React

My framework of choice for any web project and a big reason behind our client's trust in our products.

Most of my professional experience involved this framework and with a good reason.

React integrates well with the rest of my stack and the large community around it makes it the most reliable choice for me and my team.

 React Native

With my track record I can guarantee that I can develop any app and do it in a fairly reasonable amount of time.

One of the main features of my apps is that I try to make them as flexible as possible in order to allow future changes to be done server side, rather than requiring a new app build. And the flexibility of React is the main thing that lets me do this.

 Serverless

This is really the only way I can imagine hosting a service and not caring when thousands of people are using it at the same time.

I push for serverless whenever I can and by far the most practical and reliable provider I found was Vercel.

I even host all of my personal websites with them, like this one.

A thing I care a lot about is not being bound to a provider, so I write code in a way that would let me easily deploy the website anywhere.

 GraphQL

This simple yet powerful framework has been the central point of my production projects for years.

In an effort to popularise it I'm even working on a website for learning GraphQL with interactive examples.

I must note that unlike most developers I avoid the Apollo framework and instead focus only on the core GraphQL framework,
mainly because I don't like being limited to the features Apollo offers.

 MobX

I've compared every state management library available for React and by far the most powerful and easy to use solution was MobX.

This tool has been powering my production websites and native apps for years and I don't see myself recommending anything else.

 WebGL

If your website requires web graphics then you'll need a developer that specializes in WebGL and I with my experience of writing graphics frameworks I'm sure I'd be able to handle any use case you may be dealing with.

 MongoDB

While I do like working with MySQL and MariaDB, the database I'd go with for most flexibility is MongoDB.

 Sentry

Users rarely report issues when they encounter them and even when they do they aren't very helpful.
This is why I can't imagine maintaining a project that doesn't use an error collecting platform like Sentry.

Work Experience

 Native and Web apps - React / React Native

Currently delivering amazing products that require me to build both native apps and web platforms to cover all of our client's requirements.

 Drupal - PHP

At my full-time Drupal web dev job I've worked with the MediaMonks team on a website for GE.

PHP used to be my go-to for web, but I've long since abandoned it in favor of more modern solutions.

 Unity3D - C#

Back when mobile games were getting hot I started accepting jobs as a game dev mostly working on clones of existing games.

I've freelanced with Unity3D for about 3 years before moving to full-time web development.

Education

Formal education

I was always interested in tech, so naturally I studied computer science in both high school and university.

My education focused on C++, C# and relational databases.

Languages

I'm from Serbia and I've had private English lessons since I was 10, so I'm basically bilingual for as long as I can remember.

I've been additionally learning French for a long time. I can understand a lot, but I'm still not confident enough to use it.