Sasa Macakanja, Developer in Zagreb, Croatia
Sasa is available for hire
Hire Sasa

Sasa Macakanja

Verified Expert  in Engineering

Software Developer

Location
Zagreb, Croatia
Toptal Member Since
July 14, 2014

Sasa is a full-stack web developer with over eight years of professional experience developing complex web applications. He specializes in server and client-side programming with Angular or React on the front-end and Node.js on the back-end. He is an avid believer in Agile web development and Kanban workflow.

Portfolio

Johnson & Johnson - Health IT
Express.js, Node.js, React, JavaScript
Blacc Spot Media, Inc.
Amazon Web Services (AWS), Bash, React, Angular, Node.js, JavaScript
Subos
AngularJS, Laravel, PostgreSQL, PHP

Experience

Availability

Part-time

Preferred Environment

Linux, Git, Vim Text Editor, WebStorm, MacOS

The most amazing...

...application I've built is a complex web application for online scheduling and healthcare consultations with real-time video and audio communication.

Work Experience

Front-end Web Developer

2018 - 2019
Johnson & Johnson - Health IT
  • Implemented new features for a digital health coaching platform using Agile software development processes.
  • Helped deliver the new front-end application based on React with server-side rendering, CSS modules for styling, and Redux for state management and custom middleware.
  • Created responsive cross-browser CSS layouts as well as optimized page speed and web app performance.
  • Tested, debugged, and refactored a legacy JavaScript application with partial migration to React.
  • Developed code with TDD using Jest (unit testing, integration testing, some functional testing) and continuous deployment and delivery using Jenkins.
  • Implemented new features and changes for a back-end API proxy and increased code coverage with unit testing.
  • Worked on SAML-based SSO login implementation.
Technologies: Express.js, Node.js, React, JavaScript

Senior Software Engineer

2017 - 2018
Blacc Spot Media, Inc.
  • Contributed to the development of multiple complex web application projects with full-stack JavaScript.
  • Implemented advanced real-time communications features based on WebRTC to enable human communication via voice and video in a web browser.
  • Created several RESTful JSON APIs in Node.js frameworks with complete end-to-end testing.
  • Wrote front-end single page applications in TypeScript with best practices for code organization (components, pages/containers, services, models, redux for state management).
  • Created pixel-perfect HTML/CSS templates according to the project design.
  • Complete configuration of AWS infrastructure for several projects, including Amazon Elastic Container Service for easy to deployment, management, and scaling of Docker containers running applications.
  • Implemented continuous deployment and delivery based on Travis and AWS infrastracture with custom bash scripts.
  • Set up a separate job queue service backed by Redis, built for Node.js.
Technologies: Amazon Web Services (AWS), Bash, React, Angular, Node.js, JavaScript

Full-stack Web Developer

2013 - 2018
Subos
  • Set up the required architecture for a project called "Subos App" and built the system.
  • Implemented required functionalities including a Laravel RESTful API back-end and AngularJS front-end.
  • Set up the build and deploy procedures for deploying to the hosting service.
  • Built a very complex registration form for new members, including a complete admin CRUD interface with authentication, roles, groups, members' pages, PDF generation (ZendPDF), and automated email sending via Mandrill.
  • Made optimizations primarily targeting mobile platforms.
  • Migrated MySQL database to Postgres.
Technologies: AngularJS, Laravel, PostgreSQL, PHP

Web Developer

2014 - 2016
Persice
  • Created two separate single-page web applications for desktop and mobile browsers using Angular.
  • Wrote both the front-end applications in TypeScript and shared the same common codebase (services, models, Redux stores) between them.
  • Implemented an advanced build system based on Weback 2 with features for improved performance and speed in a production environment (Async loading of modules, Treeshaking, and AOT (ahead of time/offline) compilation).
  • Implemented continuous deployment and delivery based on Jenkins.
  • Created unit tests and end-to-end tests for the entire Angular codebase.
  • Built a chat and real-time notification service based on websockets (Socket.IO, Node.js, and Redis Pub/Sub).
  • Implemented JWT (JSON web token) authentication for RESTful API and Socket.IO websocket server build on Node.js Express framework.
  • Implemented social networking login based on Facebook OAUTH2 API allowing users to log in and connect to other users on the platform.
  • Set up and maintained a separate production environment for serving front-end files: Nginx, Node.js, and Amazon S3 storage for static files and images.
  • Implemented a front-end feature for connecting additional Twitter and LinkedIn social networking accounts.
Technologies: Redis, Socket.IO, Node.js, TypeScript, Webpack, Angular

Full-stack Web Developer

2014 - 2014
Bail Binder
  • Implemented required functionalities including a Laravel RESTFul API back-end and AngularJS front-end.
  • Implemented a single-page app built with AngularJS for the front-end.
  • Created a custom-made SaaS web admin.
  • Set up the build and maintenance procedures for deploying to the Cloud hosting service.
  • Integrated the SaaS with external API services Mandrill and Mailchimp for email campaigns and Stripe for billing.
  • Built and customized the landing page for the SaaS with WordPress CMS.
Technologies: Angular, Laravel

Web Developer

2014 - 2014
NDA
  • Joined the existing web development team working to improve and finish a project management web application.
  • Implemented performance improvements to the initial AngularJS concepts and components for their app.
  • Worked in a consulting and R&D role for choosing web technologies.
  • Implemented stress-testing on the real-time application.
  • Handled server administration for cloud hosting services.
Technologies: Trello, MySQL, AngularJS, Laravel

Full-stack Web Developer

2008 - 2012
Edunet
  • Implemented a WordPress CMS platform.
  • Built a complex registration form.
  • Implemented front-end and back-end customizations.
  • Implemented Moodle as a learning management system for the Cisco Networking Academy.
  • Implemented the front-end using HTML5 and Less and incorporating responsive web design techniques.
Technologies: Moodle, PHP, MySQL, jQuery, WordPress

Web Developer

2008 - 2009
Croatian Academic and Research Network
  • Joined the web development team for helping with the official public launch of www.carnet.hr.
  • Improved the existing codebase, fixed various front-end and back-end bugs, and worked on polishing the UI for the launch.
  • Worked on the front-end implementation using HTML5, CSS3, and jQuery. Incorporated responsive web design techniques.
  • Implemented required back-end functionalities in a custom PHP framework.
  • Developed and set up a custom CMS for page and user access administration.
Technologies: CSS, HTML, JavaScript, MySQL, PHP

Corporate Web for Croatian Academic and Research Network - CARNet

As part of a big web development team, I've built brand new corporate web pages for the Croatian Academic and Research Network. I worked as a front-end and back-end developer.

Project Management Single-page Application

A single-page app for project management with custom JavaScript interactions associated with viewing data in the project tables and live syncing the table data between users. The web app dynamically syncs data back and forth between the back-end and the view in a similar way to Google Drive spreadsheets. It features an AngularJS front-end.

Members Management Web Application

An AngularJS and Laravel web application for the student organization "Subos." The project was very challenging and interesting for me because it included building a very complex registration form for new members, a complete admin CRUD interface with authentication, roles, groups, a trainers pages optimized for mobile access, members pages, PDF generation (ZendPDF), and automated sending of emails via Mandrill. The site uses Laravel4 in the back-end and AngularJS for the front-end. I developed the whole site completely on my own from the ground up to production state, and supported it through the whole development lifecycle.

BailBinder

A software-as-a-service application for the bail bond industry.

Persice

A social networking application which connects you to people and events that match your interests.

Healthcare Platform for Real-time Audio/Video Consultations and Appointment Scheduling

A complete healthcare platform management and registration of users and hospitals/facilities.

Features:
- Live consultations between patients and doctors, with file sharing, chat, and video/audio real-time communications in the browser via WebRTC
- Automated events and notifications handling
- Automated and manual generation of PDF reports after consultation ends based on doctor report
- Integration with Stripe and Twilio

Languages

Sass, TypeScript, JavaScript, HTML5, Less, PHP, Bash, HTML, CSS, Python

Frameworks

Express.js, Hapi.js, Laravel, Angular, Redux, AngularJS

Libraries/APIs

Stripe API, REST APIs, React, Node.js, Facebook API, jQuery, Socket.IO, PayPal API

Tools

AWS CLI, WebStorm, Webpack, Moodle, Amazon Elastic Container Service (Amazon ECS), Amazon Elastic Container Registry (ECR), Adobe Photoshop, Sublime Text 3, Vim Text Editor, Git, Trello, Gulp, Webpack 4, Bower, Grunt

Paradigms

Test-driven Development (TDD), Agile Software Development, Responsive Web Design (RWD)

Storage

Redis, Amazon S3 (AWS S3), PostgreSQL, MySQL, Memcached, MongoDB

Other

APIs, Background Jobs, Stripe Subscriptions, User Interface (UI)

Platforms

WordPress, Amazon Web Services (AWS), MacOS, Linux

2003 - 2008

Bachelor's (in Progress) Degree in Telecommunications and Informatics

Faculty of Electrical Engineering and Computing - Zagreb, Croatia

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring