Nikola Vasović
Full-stack Developer
As a software engineering student and a national scholarship holder for highly talented students, Nikola began working as a freelancer and gained years of experience in web development. As an experienced engineer with a master's degree, Nikola has extensive knowledge in cross-platform application development using the Flutter framework. He feels most productive and comfortable when he is occupying full-stack or Flutter front-end developer roles in projects.
Portfolio
Availability
Preferred Environment
IntelliJ IDEA, IntelliJ, Ubuntu, Visual Studio, Android Studio, PhpStorm
The most amazing...
...project I've implemented is a decentralized file-sharing system: an app for secure file sharing between users based on Ethereum smart contracts and IPFS.
Work Experience
Chief Technical Officer
Varius Software
- Led a team of 20 software engineers that provided remote outsourcing services as a startup for Authority Builders Co., ECD, Ahold Delhaize, and Samsung.
- Played a major role in performing technical interviews and assembling a team of the most talented software engineers from the University of Belgrade, capable of collaborating in the office and delivering high-quality code for such a big client.
- Developed core system features, prepared code structures, and designed architectural patterns for employees. Introduced each employee to the project and found best-fit positions and teams to maximize their utilization.
- Supervised implementation processes that employees took part in by reviewing their code, reports, and issues for tasks I previously assigned them with Jira and Trello. Managed sprints and made full planning of the development process.
- Oversaw and collaborated on integrating, developing, and securing different third-party software services for payment processing, authentication, and marketing, which directly affected the clients' incomes.
- Managed a team as a technical project manager and lead developer that delivered multiple web development software solutions for Samsung Adriatic, Samsung UK, and Samsung IE by creating them from scratch and enhancing the existing ones.
- Implemented web application features for huge sale campaigns and promotions (e.g., Black Friday) with the team, which successfully helped the clients gain thousands of customers.
- Involved in deploying the client's web platform programming code by using automatically configured Git hooks to multiple environments. Set up automatic deployment using Docker and GitLab software.
- Provided front-end, back-end, and full-stack development, mainly in Flutter (Android and iOS applications), PHP, and Laravel, on core features on most of the projects we outsourced.
Flutter Developer
Kento Health Inc. (via Toptal)
- Developed "Kento Health" iOS application intended to help people with heart diseases in US and Canada, using Flutter as a cross-platform development tool.
- Used Get as a state management plugin for the app, which is backend-less, having only Cloud Firestore as a NoSQL database that holds exclusive content of the app. Firebase is also used for authentication purposes.
- Built everything from scratch based on predefined design and features available in Figma prototype. The actual app I've built looks and behaves the same as a prototype, which was the main goal for MVP.
- Integrated Apple Health App data, which can be synchronized through smartwatch or iPhone, and "Kento Health." This application takes and renders data from it in real-time, which is very important for users to track their health state.
- Configured "Apple Store - in-app purchase" for purchasing auto-renewable yearly subscriptions to access the app. Created offer codes for promotions that the partners and testers use.
- Integrated RevenueCat as a back-end system for making and validating purchases. RevenueCat was integrated with their native Flutter plugin since it doesn't have its first-party back-end.
- Rendered historical data, current progress, community scores distribution using different forms of the charts (bars, lines, etc.).
- Deployed the app to App Store, got approval for in-app purchase and its features, so it's available on this URL: https://apps.apple.com/us/app/kento-health/id1583843414.
Full-Stack Developer
10AK Digital LTD (via Toptal)
- Developed new features for existing dating websites in five countries (USA, Canada, Australia, UK, and Ireland). Provided fixes for security and functional issues. Created new dating platforms for other EU countries based on existing ones.
- Enhanced all aspects of customer experience for dating websites, which led to a huge growth of income every month. The rise was more than 600% since I took over the project's development, resulting in more than 100,000$ monthly profit.
- Scraped content, images, automatic chat messages from websites that are global leaders in the dating industry.
- Improved scalability of dating platforms to be able to serve millions of users with the highest response rates with "A" ratings on https://gtmetrix.com/. Introduced various database optimizations, Redis caching tweaked NGINX parameters, etc.
- Defined multiple scripts and cron jobs responsible for making daily and weekly backups of all dating platforms, their databases, and file system (more than 1 TB), storing it outside droplet in collaboration with third-party backup providers.
- Integrated RocketGate, PaysafeCard, and CCBill payment providers for buying chat credits, using asynchronous notification systems with webhooks and payout files.
- Provided real-time support by fixing many bugs that escalated as a product of various user behavior, especially using the chat feature and payment system.
- Connected websites with the Everflow marketing platform, used for tracking sign-ups, account verification, and purchase conversions through cookies. Integrated both front-end and back-end cookie validation and complete stats using Everflow API.
Full-stack Web Developer
WBAM Digital (via Toptal)
- Developed custom features for existing SuiteCRM system (built in PHP), adapted to the requirements of Payment1 Loan company (https://payment1.com). Was responsible for front and back-end development and DevOps.
- Created and designed MySQL database architecture, capable of supporting a huge amount of records without affecting overall system performance.
- Set up automatic daily synchronization of CRM system to users, payments, and loan records from the data warehouse of the loan company, through an SFTP connection.
- Implemented a lot of raw database queries, supported by various indexes in order to extract full statistics of business processes in an arbitrary timeframe.
- Introduced a tracking cookie to properly identify unique users along with referral data and make it available to the CRM. Tracking consists of referrer websites, visited pages, average time spent, and more.
- Worked on the implementation of a conversion identification system so the system became able to connect users and their data with customers who are signing up in the Payment1 Loan company system.
- Scheduled automatic email campaigns processed by Payment1 custom email server, which were used for customer notifications, promotions, and more.
- Migrated whole CRM system (code and database) from Ubuntu VPS to Windows server, adapted automatic scripts and cron jobs to work in Windows environment, through Virtual machines.
- Maintained web, database, and email server. Was responsible for deployment and monitoring server activities.
Flutter Developer
Eunotics, Inc. (via Toptal)
- Developed a Flutter social app called Munch, which uses a gesture-driven user interface that allows groups to decide where they want to eat from.
- Used Firebase as a support for social authentication (Google, Facebook, Apple) and user management.
- Implemented screens' design and functionalities to look and behave exactly as in the pre-defined Invision prototype provided by the designer.
- Introduced a location feature to the app which allows groups to have a unique experience based on the selected location and radius distance on an interactive map with in-built Google Places API search options.
- Implemented a lot of animations on different screens, which makes the gesture-driven interface more powerful and user-friendly, causing the product to look more professional.
- Architected and developed a native deep-linking feature for Android and iOS, which allows new users to easily join the eating decision process. Also, there is a smart push notification system that keeps the app's synchronization in real-time.
- Deployed the app's beta version on Android and iOS to Google Play Store and App Store.
Full-stack Developer (Flutter and Laravel)
Praktice LLC (via Toptal)
- Developed an app for online personal training, where subscribed clients can see video workouts and exercises of their favorite trainers. Responsible for Flutter application, Laravel API, and Laravel MVC Admin Panel.
- Refactored the whole code structure on both sides (Flutter and Laravel API), to be reusable and adjusted with all recommended design patterns (Flutter BLOC, REST API).
- Fixed all design issues in Flutter, created new screens and functionalities based on design provided in Adobe XD file. Design of all pages adjusted to different screen sizes and device pixel ratios.
- Reimplemented API logic in Laravel including the social login, subscriptions, search, feed, favorites, and profile.
- Added new functionalities to existing admin panel including image and video upload, standard forms using Laravel MVC pattern. The front end was implemented using HTML, CSS, Bootstrap, JavaScript, and jQuery.
- Localized all parts of the system (Arabic and English). Flutter app localized with language JSON sheets, Laravel API returned localized database columns based on HTTP Accept-Language header.
- Deployed Android and iOS Applications to Google Play Store and App Store (Test Flight).
Full-stack Developer
Kintek Group (via Toptal)
- Developed the "COVID Access" mobile app using the Flutter framework and Spring Boot and PostgreSQL. It provides COVID-19 Stats for the US, locations of test centers, test results, business events, and other stuff to help fight this disease.
- Deployed Android and iOS "COVID Access" applications to Google Play Store and App Store (Test Flight).
- Developed multiple web portals from scratch, which are used by 100+ airline companies (American Airlines, Delta Airlines, and Air Canada). These portals provide bulk import of data, generation of different reports (PDF, Excel), big data management.
- Worked on code and functionality enhancements of existing web portals which are used by the biggest airline companies, where they can track employees, tasks, projects, aircraft, engines. The tech stack used included PHP, MySQL, HTML, CSS, JavaScript, and Bootstrap.
- Integrated the Okta multi-factor authentication system into all existing and newly created web portals as a mandatory security feature for all users.
- Remediated code and database structure of all existing web portals to overcome all security holes reported by automatic testing tools (code scanning reports, web application security tests, and more).
Web and Mobile Developer
Freelance Work
- Developed a cross-platform (iOS, Android) social network app in Flutter, Spring Boot REST API, and Laravel admin panel. This was used by the Makeover Academy and its students.
- Implemented a generic CMS for eCommerce websites, which is now successfully used by several companies in Serbia.
- Created and tested a secure REST API for webshop sales statistics and reports, invoices, authentication, and more.
- Built multiple webshops using MVC architecture, with the integration of the aforementioned generic CMS and REST API.
- Developed the complete front end and back end of a website that hosts recorded classes for many courses at the University of Belgrade, School of Electrical Engineering, which is extremely helpful to students for preparing and passing exams.
- Built the back end of a web application that connects teachers with students and supports the booking process for private lessons, authentication, and payment.
Experience
Kento Health (iOS)
https://apps.apple.com/us/app/kento-health/id1583843414The look and feel of the app rely on the Figma prototype. The app's core is the Get design pattern and state management system (https://pub.dev/packages/get), and it's very suitable for creating reusable and generic portions of the code, which can be implemented easily in some other application environments. The app is accessible only to subscribers registered into RevenueCat back-end using Apple Store in-app purchase mechanism.
After subscribing, users have access to health tests, daily/weekly tasks, and health data (integrated Apple Health Kit). Based on their daily activity, the app calculates scores using very complex calculations to present users real state of their bodies.
Samsung Boost
https://samsung.com/uk/boostThe app's front-end was developed using React framework, and the back-end was implemented in Node.js, while MongoDB is used on the database side. I led a team of two developers and a QA engineer as a technical project manager with some support in development and deployment.
Some of the features are:
• Samsung Account Social Sign In
• ReCaptcha Enterprise
• Device detection (eligible devices - S21 Series, Flip, Fold, Tab S7, Desktop)
• Country detection (used third-party API - https://ipdata.co/pricing.html)
• Integration of new partners (Disney+) and their voucher codes
Back-end deployment requires Kubernetes and Helm usage; Front depends on Adobe Experience Manager.
Samsung Competitors Platform
I led a team of two software engineers who delivered the product, and I was responsible for communication with the client and partners. Competitors' platform offers its API for redeeming voucher codes and tracking sales on partner's websites. Partners can sign in to their admin panel and track their vouchers.
Project is implemented in Laravel (MVC + API) with front-end stack - HTML, CSS, JavaScript, Bootstrap. MySQL is used as a database server. I set up CI/CD with Docker and self-hosted Gitlab.
MAXI Augmented Reality (Android and iOS)
https://marvelapp.com/prototype/28ih64cg/screen/78270657The application consists of an integrated puzzle game built using the Unity framework. Besides that, there is an interactive map filled with markers on the territory of Serbia, generated by a specific algorithm that takes into the account user's location and location of all retail stores in the country. Map markers are representing gift boxes that can be collected by using the Augmented Reality feature. Gift boxes are used for getting giveaway products from stores and for getting additional lives for the game.
From the additional features, the app used Firebase Dynamic Links and Push Notifications. I was providing weekly builds to be tested by the end company using Firebase Distribution and Test Flight.
ECD - Crypto Exchange
https://ecd.rs/en/The tasks which I worked on were related to two big features:
1. Automatic handling of weekly transaction limits and user risk levels.
2. Creation of secure Crypto and Fiat wallets integrated with third-party systems
These features had related tasks that needed to be implemented both on the admin panel and customer websites.
When the first feature was implemented, it reduced the amount of manual work which operators previously performed. It provided support for uploading various personal documents used and processed by finance institutions of the countries where the site was deployed (Serbia, North Macedonia, and Australia).
Wallet development upgraded company, which only had Crypto-Fiat centralized exchange feature to the trading ecosystem with personal wallets, where customers can hold Crypto/Fiat. Implemented MFA/reCAPTCHA.
Authority Builders
https://authority.buildersI am the head of the tech team, who is responsible for leading a group of six software engineers. My team is working together in the office and provide remote outsourcing for Authority Builders Co. Besides managing the team, I am working on core system stuff and collaborating with projects managers, sales, finance teams, and founders.
The project consists of four web portals which are organized as separate web applications: Customer, administrator, blogger, and content writer portals. Web applications based on MVC and API architecture use the CodeIgniter framework. My team is working on developing new features, improving existing functionalities, code optimization, front-end upgrades, and more. The most important part of the back-end stack is developing and integrating payment systems (PayPal, Stripe APIs), which are directly affecting the income of Authority Builders Co.
Munch (Android & iOS)
I was responsible for implementing a complete Flutter app based on the Invision prototype that the designer provided. I collaborated with a back-end developer who prepared an API for which I integrated endpoint calls and data flow on the front end.
The app uses a location feature to select an area of interest for a group, a smart push notification system that keeps the app synchronized in real-time and deep links that allow new users to join the eating decision process easily.
I implemented a lot of animations on different screens, which makes the gesture-driven interface more powerful. I also deployed the beta version of Android and iOS apps in the Play Store and App Store.
Fantasy Dating platforms
Responsibilities:
• Payment integrations (RocketGate, PaysafeCard, CCBill)
• Marketing platform integration (Everflow)
• Scraping content from websites that are global leaders in the dating industry
• Creating automatic backup mechanisms for database and file system which counted more than 1TB of data
• Automatic deployment mechanisms with the possibility for real-time production fixes
• New features which led to huge revenue growth in a few months
Managed both ends, database and web servers.
Payment1 CRM
https://payment1.comI was responsible for full-stack development and DevOps on the CRM's side. I had intensive communication with the tech team, which maintained Payment1 Loan data warehouse storage and their presentation site (https://payment1.com).
Some of my achievements were:
• Creating automatic Bash Script for daily importing of users, payments, loans from the data warehouse to the newly created CRM system (Bash Script with periodical SFTP connection).
• Writing high-quality MySQL raw queries to extract all necessary stats from the CRM to present them to the employees who are using it.
• Tracking complete user behavior with a specific algorithm and monitoring their activity, average time spent, and recording sign-up conversions from various referrers.
• Setting up an email server to support campaigns.
Online Personal Trainings (Android and iOS)
https://xd.adobe.com/view/f481004a-2409-45bb-6184-a7c5c528b621-82b0/I was responsible for all parts of this project including the Flutter app, Laravel API (MySQL database), and Laravel MVC admin panel. I worked as a developer who needs to fix all design and functionality issues made by developers who worked on this project from start. I also redesigned and reimplemented all parts of this project, including refactoring code structure and creating reusable design patterns. Implemented functionalities like social login, subscriptions, search, feed, favorites, and profile.
I localized both sides of the app (front-end and back-end localization) to Arabic and English. I also deployed test versions of Android and iOS App to the Google Play Store (production) and App Store (test flights).
Social Network for the Makeover Academy (Android & iOS)
• Built a back-end REST API which was implemented using Spring Boot in Java. The data layer is accessed via PostgreSQL.
• Implemented a Firebase API (for authentication) and Google Cloud Services (Firestore and Google Cloud Storage).
• Developed an admin platform in PHP using the Laravel framework which connects to the same PostgreSQL database.
I was responsible for all parts of the project (excluding app design and deployment). The mobile app includes a subset of standard social network features (like a simple version of Instagram) including posts, likes, comments, followings, chat, and notifications. I also implemented additional functionalities like makeover courses and lessons (that content is uploaded through the admin panel). I used Google Cloud Storage to store social network media content (videos, images, and lessons). The chat and notification subsystem was implemented using Google Firestore with Firebase-based user authentication.
COVID Access (Android & iOS)
As a full-stack developer, I implemented it from scratch. I was also responsible for the Flutter app which communicates with the REST API, which I implemented using Spring Boot in Java and PostgreSQL database, and third-party APIs for tracking virus statistics. I was also responsible for the deployment of the app to Google Play Store and App Store (Test Flight).
Implementation of a Decentralized File Sharing System
It's based on Ethereum smart contracts and the InterPlanetary File System (IPFS). I built the front end using the JavaScript API for the Ethereum blockchain and IPFS and executed the back-end code only within the smart contracts, which are implemented using Solidity. A central server doesn't exist in the application at all. That system has a futuristic concept for file sharing without the presence of a third-party server.
I established a connection with Ethereum network using the Metamask extension for the Google Chrome browser. The main innovation, which the implementation of this system provides, is the protection of file content located on IPFS network. The files are protected using symmetric-key cryptography and related keys for protection are encrypted with public/private keypair.
I developed that system as an individual project which means that I was responsible for the front end and back end of this decentralized web application.
Generic CMS for eCommerce Websites
It allows the manipulation of products, categories, brands, coupons, vouchers, invoices, suppliers, orders, and more. In addition to selling, there is also an option to add new text articles to the company blog. Various statistical parameters are also available (based on sales trends), and stock balances can be tracked as well as the distribution of products in any single shop.
It can be integrated into any client's website because it is entirely independent of the particular sales company. There are also multiple user groups in the system with different degrees of privileges. We built it for the Serbian market, and several online sales companies are currently using it. As the platform facilitates a large volume of sales, so much of the paperwork is automated, which saves a significant amount of time for shop administrators.
The platform was implemented using the Laravel framework and MySQL database. The front end was built using the Bootstrap library along with standard technologies like HTML, CSS, JavaScript, and jQuery.
Find a Worker Application
I was responsible for creating and filling out the GUI components for desktop (JavaFX framework) and mobile application (Android Studio) based on a previously defined prototype.
Portal for Booking Private Lessons
I developed a REST API (using the Laravel framework) and coded REST services for authentication, class booking, and more. I also built models that are responsible for managing MySQL database entities.
Audio Device Store
It is an advanced eCommerce website that is implemented in the Laravel framework using a MySQL database as a data storage. The site has an MVC architecture, and I built the front end using the Bootstrap library along with standard technologies like HTML, CSS, JavaScript, and jQuery. The developed website includes several different user groups, as well as an admin platform through which it is possible to manage the content of the web-store.
I was responsible for the implementation of the entire website.
Festival Ticket Reservation
I implemented the site using Java Server Faces (PrimeFaces library) and connected the MySQL database entities using JDBC and JPA. The web application also has an MVC architecture type.
University Audio Courses
The site is beneficial to students in their exam preparation. The audio recordings are divided by university levels, sections, and exam titles, and they are playable through a website-embedded audio player. All of the audio files were stored with compression on a central server, and we used a database to index them.
Along with implementing the MVC architecture in the app, I built the back end using the Laravel framework and the front end using JavaScript, jQuery, Ajax, HTML, CSS, and Bootstrap.
Shop Transactions Validation
Backgammon Game
The game provides three playing modes: single-player mode against a bot, multiplayer split-screen mode, and spectator mode with two bots playing as opponents. To roll the dice, data is collected from physical device sensors.
I also implemented three difficulty bot levels using artificial intelligence. An SQLite database stores all of the saved games and history of results.
Battleship Game
The server component represents the game supervisor, and client components are the players playing the game as opponents. Communication between clients and server was implemented in Java using Sockets, and there is support for both LAN and WAN game lobbies.
I was responsible for both developing the game in Java and creating a graphical user interface (GUI) using the Java Swing library.
Bricks Breakout Game
Skills
Languages
Dart, Java, C, PHP, C++, JavaScript, HTML, CSS, Assembly, Solidity
Frameworks
Flutter, Laravel, Bootstrap, Spring Boot, Hibernate, JPA, CodeIgniter, JSF, PHPUnit, FuelPHP
Libraries/APIs
jQuery, JDBC, JMS, PayPal API, Stripe API, Node.js, React
Tools
Git, Xcode, Android Studio, PhpStorm, IntelliJ IDEA, Visual Studio, IntelliJ, Trello, Jira, GCC, Apache, Asana, NGINX, GitLab, Adobe Experience Manager (AEM), Adobe Target, Helm
Paradigms
REST API Architecture, Object-oriented Programming (OOP), Model View Controller (MVC), Concurrent Programming, Socket Programming, Mobile Development
Storage
MySQL, PostgreSQL, Microsoft SQL Server, SQLite, Cloud Firestore, MongoDB, Amazon S3 (AWS S3)
Other
Back-end, Full-stack, Ajax, Web Development, UML Diagrams, Front-end, Cross-platform App Development, Public-key Cryptography, Machine Learning, Payment APIs, In-app Purchases, Front-end Development
Platforms
Firebase, Android, iOS, Linux, Windows, Ubuntu, SuiteCRM, Docker, CentOS, Kubernetes, Amazon Web Services (AWS), Amazon EC2
Education
Master's Degree in Software Engineering
University of Belgrade, School of Electrical Engineering - Belgrade, Serbia
Bachelor's Degree with Honors in Software Engineering
University of Belgrade, School of Electrical Engineering - Belgrade, Serbia