Tomas Macek
Verified Expert in Engineering
Augmented Reality (AR) Developer
Chur, Switzerland
Toptal member since March 30, 2016
Tomas has several years of remote contract work experience as a developer. He's developed his workflow to be able to quickly and effectively deliver complete and polished end products and to communicate the projects' outputs. Tom is passionate about developing mobile 3D applications and games—especially augmented and virtual reality related ones, fully native or built using Unity.
Portfolio
Experience
- C# - 8 years
- Unity3D - 8 years
- Augmented Reality (AR) - 7 years
- iOS - 6 years
- Java - 5 years
- REST - 4 years
- Swift - 4 years
- ARKit - 3 years
Availability
Preferred Environment
Git, Vim Text Editor, Java, IntelliJ IDEA, C#, Unity, Swift, Xcode
The most amazing...
...app I've worked on is the native mobile AR experience Play3D—officially licensed product of NFLPA—which brings a line-up of photorealistic 3D holograms.
Work Experience
Lead AR Mobile Developer
Altered Reality Corporation
- Implemented a custom-rendering system as an alternative to iOS ARSCNView to combine camera output and AR 3D content rendered using SceneKit.
- Designed and implemented the architecture for on-demand, cached, remote asset downloads to reduce the main app size and enable remote asset management.
- Implemented a fully customizable video recording solution for iOS and Android.
- Transformed AR experiences that were originally working as standalone native iOS apps to Messages extensions.
- Created a Unity AR Core app based on an originally native iOS ARKit app.
- Created a demo for the AWE conference using the new Unity ECS system to simulate the fish movement of thousands of entities on an iOS device while avoiding photorealistic 3D characters in the scene.
- Built a Unity Google Tango demo demonstrating the usability and advantages of this early Android AR technology.
- Worked on iOS Messages extension app with video recording and sharing functionality of the scene with remotely downloaded AR 3D content.
Unity for iOS Senior Engineer
Smartlivez (via Toptal)
- Implemented a solution for an external sensor data transformation and the mapping of the animation space of each golfer player character.
- Integrated an inverse kinematics solution for left and right-hand movement, golf club positions, and rotations during movement; on the top of the original golfer animation.
- Created Unity editor extensions for improving data mapping control and for verification of data transformation and data integrity.
- Embedded a Unity application into an existing iOS application and integrated synchronization of its startup state and data forwarding.
- Designed a WebGL version of the application for faster project iterations and testing of functionality with debug possibilities of importing sensor data from CSV files and exporting resulting animations to CSV files.
- Used a custom DI architecture which ensured faster and more reliable prototyping and simplified adding unit tests to verify and test correct data mapping functionality.
Senior Unity Programmer | Project Manager
3Move Labs
- Designed and implemented Unity extensions for internal development workflow improvements and for distribution on the Unity Asset Store.
- Planned and coordinated programming works with the products' global marketing strategy.
- Analyzed and developed proposals for application architecture.
- Used a Leap Motion API for the implementation of interactive contactless demonstrations for the Leap Motion controller in Unity.
- Created scenes for demonstrations of 3D interactive tours in which the user is able to explore provided interiors.
- Built a web application based on Magento which enables dynamic creation of interconnected database tables. This app can be accessed through its REST API and provides a Unity application on any platform with game parameter settings which can be modified dynamically and loaded after restarting application's scene.
Lead Unity Programmer
Pavel Platil Animation Studios
- Created analyzes and proposals of application architecture and shaped the levels based on provided scene sketches.
- Coordinated a team that worked with 3D and 2D graphics and optimized used game assets. The optimizations included the development of my own tool for moving and rotating pivot points while preserving previously used animations on models.
- Implemented an animation system for character goalkeeper capabilities—retargeting principles including inverse kinematics for hand movement.
- Tweaked the physics portion of an engine to ensure performance and a pleasant game experience with proper ball mechanics.
- Implemented performance optimizations including used shaders, basic lighting settings, memory usage, and build size reduction.
- Worked on developing native mobile plugins for iOS and Android.
- Provided the foundation for beta testers and prepared products for placement in the iOS App Store and Google Play; including the release itself and the following support.
Unity Programmer
Keen Software House
- Created a flexible system for game testing regular builds with the use of a JSON configuration file.
- Improved the performance of an existing dynamic mesh generation system.
- Extended an existing IMGUI system for a basic application layout.
- Improved an existing sound effects solution by implementing better architectural encapsulation and preparing a user-friendly solution for the sound engineer.
- Modified and tweaked an existing terrain shader solution for better performance and visuals without blending issues.
Web App Developer
iTechTrade
- Created an Ajax Facebook application connected to Facebook chat through an XMPP protocol ensuring direct users' notifications as native chat messages.
- Integrated Red5 streaming video services to facebook apps for group video chat features.
- Programmed analytical tools processing data from various web sources for online marketing purposes using a chart-based interface for output.
- Setup a Magento platform for building complex web applications and extended its features by implementing new reusable modules.
- Developed a Cron job for collecting and sorting information about public auction data from the Czech Republic.
- Prepared, integrated, and updated Magento layouts for Magento-based applications.
Programmer Analyst | Senior TIBCO Consultant
PIKE Electronic
- Implemented a tool that compares two XML documents and is capable of highlighting distinct parts of documents thanks to its block comparison algorithm.
- Developed tools for the automatic generation of documents to HTML, PDF, and CHM formats with use of the DITA Open Toolkit and XSLT.
- Modified the architecture of the original application for use as an Eclipse RCP plugin. The isolated features were divided into separate modules.
- Provided technical support and onsite product presentations for various international clients.
- Supported booth preparations and presented product at TUCON 2008 San Francisco conference.
Experience
Play3D (iOS)
https://play3d.appI was responsible for implementing AR and 3D functionality, a custom rendering engine (which combines output from a camera with a defined 3D content), and on-demand cached remote assets management.
Play3D (Android)
https://play3d.appI was responsible for implementing the Unity AR app, custom native video recording and sharing solution, and on-demand cached remote assets management.
Soccerinho
http://bit.ly/soccerinho3DSoccerinho takes the player through the alleys of early 20th century Prague. The graphics are based on black and white period photos. Soccerinho debuted in 2014 and was presented by the Czech games association.
I implemented all the core functionality, set up the scene and lighting, integrated 3D and 2D assets, and optimized the performance. Part of my work was also integrating platform-specific services like Game Analytics, Game Center, Google Play Games Services, Chartboost, Unity Ads, and so on.
Foosack
http://bit.ly/foosack3DI implemented all core functionality which was heavily based on physics manipulations and an image-based lighting solution which was in the end replaced by Marmoset Skyshop solution.
Tata Jump AR
http://bit.ly/tatajumpI integrated Vuforia as the main tool for an image-based object detection functionality and implemented a layered shader system for showing the underlying layers of a car.
Kid Kamba AR
http://bit.ly/kidkambaI integrated Vuforia as the main tool for image-based object detection functionality and implemented the system for triggering animations. I processed and optimized the given 3D assets and set up a Mecanim animation system for them.
Exposed | Rule-Based References
http://bit.ly/unityexposedpluginI designed and implemented the whole functionality as a Unity extension.
SOLID Framework
I designed and implemented the whole functionality as a Unity extension. This work relied heavily on my previous knowledge of dependency injection and other programming patterns and experiences from my previous projects.
Education
Master's Degree in Computer Science
University of Hradec Kralove - Hradec Kralove, Czech Republic
Certifications
IELTS General Training 7.5
Britishcouncil.cz
Skills
Libraries/APIs
jQuery, Facebook API, WebGL, NSubstitute, RxSwift, UniRx, Three.js, OpenGL, Core Image
Tools
Xcode, Git, Trello, Eclipse IDE, Adobe Photoshop, Redmine, Adobe Director, IntelliJ IDEA, Vim Text Editor, Eclipse RCP, Apache, Flash, 3ds Max
Languages
C#, Cg, Java, PHP, XML, JavaScript, Swift, XSD, XSLT, Objective-C, GLSL, HLSL, C++, Kotlin
Frameworks
Unity, Unity3D, ARKit, iOS SceneKit, Metal, NUnit, Zend Framework, Sceneform
Platforms
ARCore, iOS, Android, Oculus Rift, Vuforia, Magento, Linux, Eclipse, Tango
Paradigms
Dependency Injection, REST
Industry Expertise
Project Management
Storage
JSON, MySQL, Amazon S3 (AWS S3)
Other
Augmented Reality (AR), Game Development, SOLID Principles, IoC, Unity Shaders, Shaders, Virtual Reality (VR), TIBCO, Ajax, XMPP, Red5, Facebook, Leap Motion, ECS, 3D Modeling, Screencasting, 3D Animation, Game Design, AVFoundation
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