Amer Zavlan
Verified Expert in Engineering
Software Developer
Sarajevo, Federation of Bosnia and Herzegovina, Bosnia and Herzegovina
Toptal member since February 15, 2018
Amer is a skilled developer who's always willing to learn something new and keeps his eye out for interesting challenges to take on. Amer enjoys working in web technologies such as Angular, React, .NET Core, Node.js, Ruby on Rails, Android, and Python.
Portfolio
Experience
Availability
Preferred Environment
Back-end Development, Front-end Development, TypeScript, Test-driven Development (TDD), Angular, React, Git, GitHub, CSS, Three.js
The most amazing...
...optimization I did for a big data company resulted in a 50% decrease in disk usage and a 15% increase in performance (approximately 2TB of user data in total).
Work Experience
Assessment Test Engineer
Filtered
- Developed a C++ test for programmers that required advanced algorithmic thinking.
- Created test challenges for React Native using Expo. The challenge was a weather application.
- Built Ruby challenges that required parsing XML and HTML drama plays.
- Wrote Java Spring challenges that simulated shopping through API (shopping cart, catalog, etc).
- Created test challenges for DevOps that check whether or not the person correctly deployed a Python application using Terraform and Docker.
C++ Engineer
Aircall.io, Inc.
- Oversaw the process of integrating krisp.ai into an Electron application.
- Sped up application performance by about 2%. This was a safe and easy performance boost.
- Managed and proved that the C++ they have didn't have any memory leaks using a Microsoft debugger.
- Made sure the initial legacy C++ part of the application is compilable on Windows platforms as well.
Full-stack Developer
FOSTECH AS
- Developed a full-stack application from scratch from the client's vision to reality. This includes full MVP aspects including security, bug fixes, testing, etc.
- Connected a Unity WebRTC plugin with WebRTC on the web.
- Used WebRTC on the backend using WRTC package to mix streams together in order to lower bandwidth of media sent/received from low bandwidth satellite network.
- Implemented real-time and secure data communication on web sockets using socket.io both on Unity and the web.
Ruby on Rails Developer
TalentWall
- Developed executive dashboard for clients; an entire product tailored for executives, including front end and back end.
- Tracked and fixed bugs using Shortcut to deliver new features bi-weekly.
- Implemented new types of charts on the front end, allowing more data-rich components to be displayed.
- Created custom-made tools for a static version of the website demo.talentwall.io.
- Created and managed many custom-made tools that increased the productivity of development.
Senior Full-stack Developer
Openreel
- Rewrote an old front-end application with better programming practices and a type-safe environment.
- Tracked and fixed bugs using the Jira tracking tool.
- Wrote unit and E2E tests for a newly developed application.
- Wrote a common CRUD service on the back end that can be used for all models with data segregation for security purposes.
Senior Game Developer
Prime Time
- Created shader effects (HLSL and Material Nodes).
- Developed an ability system for character actions, such as weapon usage, item usage, etc.
- Created base systems (such as health, animation notifies, and more) for other programmers.
- Built keyframe animations (of scale, rotation, shader effects, and more).
Back-end Software Engineer
Digi.me
- Applied object-oriented programming paradigms which allowed the use of different child classes to modularly swap different pieces of functionality as needed.
- Worked in a Scrum-based development environment, continuously delivered our deliverables, and worked as a team, filling each other's gaps.
- Developed Node.js- and TypeScript-based projects and used TypeScript to reduce the chances of bugs.
- Worked in a test-driven development and wrote tests first in order to ensure the cleanest architecture.
- Proactively improved code quality so that whole team can benefit from it.
Senior Full-stack Developer
Applify Creations
- Developed a front-end app for a national park that gives management the ability to control entrance fees, track fiscal and mobile device statuses, get reports, and graphs about historical data.
- Used Git for source-code management. It was necessary in order to manage several team members.
- Developed an easy-to-use data API for graphs on the back end and used them on the front end as well.
- Managed the back-end development in Django (Python) and developed the real-time communication with the front end as well with WebSockets.
- Oversaw and was in charge of the front-end functionality using Angular and Ngx-admin.
Lead Game Programmer
Z-Games
- Programmed games using ECS (entity-component system) architecture. It is a type of architecture that separates data from view logic and does it so well that it is possible to parallelize update logic very easily.
- Developed games using EC (entity-component) architecture. It is an architecture that makes use of modularity. Different components can be used in different places and it gives the possibility of composing different entities from reusable components.
- Created shader (including raytracing and other advanced effects) and particle effects.
- Used ECS architecture in C++ to build a small 2D game engine that can be re-used later for different purposes. I did this using C++, EntityX (for ECS) and BGFX (for graphics).
- Used ECS architecture in Unity using the Entitas library and created a playable game with very simple graphics, a clone of a jumping jack game.
Lead Front-end Engineer
Knowlead
- Managed and strove to bring out the best in my team members.
- Taught other people Angular 2+ in order for us to use their skills later on.
- Wrote automation scripts in Grunt. The scripts automated our process of preparing deployment environment as well as converted C# DTO classes into typescript.
- Learned .NET Core and helped developed the back-end.
- Created a webcam chat using WebRTC and SignalR library (WebSockets wrapper).
- Contributed to a public repository of a C#-to-TypeScript converter. We used it in order to convert C# classes to TypeScript interfaces so that everything on the front-end is type-safe and complies with the back-end.
- Enriched a public repository for Angular 2 dropdown features which helped make it more generic.
- Built my own caching system that drastically improved website performance (used WebStorage and Observables).
- Became highly skilled with observable programming pattern.
Android Developer
TeamData
- Used the MVP pattern (model-view-presentation) in my project work.
- Utilized the Retrofit HTTP library in my development work.
- Learned how to structure an application architecturally.
Back-end Developer | Machine Learning Team Member
Personal (Personal.com)
- Developed the front-end and back-end of the admin page.
- Optimized queries (by introducing paging or restructuring data itself in order to make optimized queries).
- Built MapReduce tasks that would process big data.
- Optimized a certain MapReduce task to reduce its running time by 15% and as well reduce the result size by 50%.
- Wrote utility scripts for HBase that could be used by the ops team.
Experience
Maze.cs
http://GitHub.com/charlieamer/MazeMonoGame/blob/master/Shared/Maze.csThis file demonstrates how I created a texture-based collision. The ball is controlled in a "vacuum" and has to go through a maze. The maze is constructed into textures where the transparent parts are insubstantial, and the opaque parts can collide.
The file focuses on optimizing the collisions and dividing them into Quadtree structures in order to optimize the search of opaque pixels and speed up the detection of a ball-pixel collision.
Note: In the file, I named the structure OCTREE instead of QUADTREE—this is yet to be changed.
How to run:
1. Obtain code from https://github.com/charlieamer/MazeMonoGame.
2. Obtain Xamarin IDE.
3. Open the project solution (.SLN file).
4. Download the latest MonoGame library from monogame.net/2017/03/01/monogame-3-6/.
5. Add monogame to the dependencies.
6. Optional. You can visually see the performance of Quadtree if you enable the DEBUG_VISUALISATION macro.
Analytics Web App for Recruiters
http://talentwall.ioI was both a front-end and back-end developer. The project has an excellent codebase (unit tests, strongly typing where possible, etc.).
Openreel - Video Recording Platform
http://openreel.comI mainly worked on the front end and a little bit of the back end. Most tasks were related to WebRTC, video streaming, real-time data, etc. On the front end, it was an Angular app that used Angular Material, while on the back end, it used Nest.js
Snowball Game in Godot
The project, unfortunately, was halted mid-way and never released.
Mathematics Competition Organization
http://klokan-matematicar.baI was in charge of developing the platform and some of the logistics as well, such as preparing tests for posts, etc. The front end is done on Angular, the design is a mix of Angular Material and Bootstrap, and the back end is done on Firebase, part of Google Cloud Platform.
There were a lot of scripts behind the scenes as well, most of them done in Python. They included features like automatically importing student data into the testing platform, parsing XLSX results, announcing news and results, generating diplomas, etc.
Data-driven 3D Preview Web App for Architects
http://glidertech.comMy part was to build a 3D app in canvas using Three.js to take 3D data and render it on screen. It was a proprietary model format. They also needed to stream the data from the server to the viewer more efficiently (for example, show only data relevant to the user's current camera location).
I built the project in TypeScript and transpiled it to JavaScript for the web.
Informatics Competition Organization
http://dabar-informaticar.baI was in charge of developing the platform and some of the logistics as well, such as preparing tests for posts, etc. The front end is done on Angular, the design is a mix of Angular Material and Bootstrap, and the back end is done on Firebase, part of Google Cloud Platform).
There were a lot of scripts behind the scenes as well, most of them done in Python. They included features like automatically importing student data into testing platform, parsing XLSX results, announcing news and results, generating diplomas, etc.
Three.js Interactive Water Demo
https://charlieamer.github.io/threejs-water/Approximation to water physics by simulating each pixel as a particle that has momentum, vertical position, and force from neighboring particles.
The height of water is then converted to a normal map and applied to a nice reflective plane.
Three.js Particle Gravity Demo
https://charlieamer.github.io/threejs-gravity/BHOI Olympiad Platform
https://bhoi.club/bhoi-portalThere are many useful front-end features, such as recording the screen during competition, a dynamic application form for a competition, profile management, OAuth login, charts showing scores over time, and more.
Ticketing System for National Park Una
Education
Master of Engineering Degree in Internet of Things, Information Technologies
International Burch University - Sarajevo, Bosnia and Herzegovina
Bachelor of Engineering Degree in Information Technologies
International Burch University - Sarajevo, Bosnia and Herzegovina
High School Diploma in General with an Informatics Focus
Turkish-Bosnian Sarajevo College - Sarajevo, Bosnia and Herzegovina
Certifications
Data Visualization Certificate
FreeCodeCamp.org
Skills
Libraries/APIs
React, SFML, SDL, Node.js, Three.js, Nokogiri, API Development, REST APIs, jQuery, OpenGL, Facebook API, WebRTC, Sockets, Socket.IO, Slack API, React Native for Web, Vue, Facebook Authentication, ActiveRecord, ngx-admin, Django ORM, Blender Scripting API, WebGL, Facebook Login, Instagram API, Ruby on Rails API, D3.js, XHR, NgRx, NgRx/store, Gridster.js, Polymer
Tools
GitHub, Slack, Blender, Jira, Expo, Git, Asana, RSpec, Webpack, Babel, GitHub Pages, Apache, GitLab CI/CD, Terraform, Shell
Languages
TypeScript, SQL, CSS, Python, HTML, HTML5, Java, C#, Java 6, Pug, C++, JavaScript, JavaScript 6, C, Embedded C, Embedded C++, ECMAScript (ES6), Python 2, Python 3, PHP, Java 8, GLSL, JADE, Ruby, SCSS, GraphQL, Bash, C#.NET
Frameworks
Ruby on Rails (RoR), Unreal Engine, Angular, Ruby on Rails 4, Redux, Django, Unity, Unity3D, Monogame, OAuth 2, .NET, Express.js, Jest, Blueprint, Electron, NestJS, React Native, .NET Core, Cycle.js, Ruby on Rails 5, Bootstrap, Angular Material, Mono, Flutter, Spring, Material UI
Paradigms
REST, MVC Design, MapReduce, B2B, Test-driven Development (TDD), Agile, Scrum, DevOps, Agile Project Management
Platforms
Arduino, Amazon Web Services (AWS), Unix, Linux, Android, Firebase, Godot, Google Cloud Platform (GCP), Google Cloud SDK, Docker, Apache2, Xamarin, Azure, DigitalOcean, Kubernetes, WordPress, Backendless
Storage
JSON, PostgreSQL, MySQL, HBase, MongoDB, Redis, Google Cloud Storage, Microsoft SQL Server
Industry Expertise
Project Management, Cybersecurity
Other
Front-end Development, Back-end Development, Back-end, APIs, Full-stack, Game Development, Games, 3D Games, Game Programming, Engines, Web Development, Ajax, Hardware, Home Electronics, Arduino IDE, Full-stack Development, Front-end, User Interface (UI), 2D Games, Game Engine Programming, Data Visualization, Software Architecture, Architecture, UI Animation, User Experience (UX), WebSockets, MCU, LED Lighting, Electronics, Embedded Systems, Embedded Software, Microcontrollers, ESP32, Email APIs, SaaS, Multitenancy, ECS, Graphs, Facebook, Bootstrap 4, Video Chat, Web Video, 3D CAD, SVG, SVG Animation, XLSX File Processing, CSV, CSV File Processing, Web App Development, Email Coding, Email, Technical Leadership, Team Leadership, Charts, 3D, Embedded Hardware, Audio, Debugging, Debugging Tools, Performance, Cloud Infrastructure, OAuth, Supabase, Admin Panels, Analytics
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring