Tomas Macek, Developer in Chur, Switzerland
Tomas is available for hire
Hire Tomas

Tomas Macek

Verified Expert  in Engineering

Augmented Reality (AR) Developer

Chur, Switzerland

Toptal member since March 30, 2016

Bio

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

Altered Reality Corporation
Core Image, RxSwift, Project Management, Git, Unity3D, Augmented Reality (AR)...
Smartlivez (via Toptal)
Objective-C, Git, Unity3D, JavaScript, WebGL, iOS, Xcode, C#, Unity
3Move Labs
Project Management, Git, Unity3D, Game Development, Leap Motion, Magento...

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

Part-time

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

2016 - PRESENT
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.
Technologies: Core Image, RxSwift, Project Management, Git, Unity3D, Augmented Reality (AR), Three.js, Amazon S3 (AWS S3), Vuforia, Tango, Sceneform, OpenGL, ARCore, Java, Android, ECS, C#, Unity, Metal, ARKit, iOS SceneKit, Swift, Xcode, iOS

Unity for iOS Senior Engineer

2016 - 2016
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.
Technologies: Objective-C, Git, Unity3D, JavaScript, WebGL, iOS, Xcode, C#, Unity

Senior Unity Programmer | Project Manager

2014 - 2016
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.
Technologies: Project Management, Git, Unity3D, Game Development, Leap Motion, Magento, jQuery, JavaScript, MySQL, PHP, C#, Unity

Lead Unity Programmer

2012 - 2015
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.
Technologies: Java, Objective-C, Project Management, Git, Unity3D, Game Development, Augmented Reality (AR), Android, Eclipse, iOS, Xcode, Vuforia, Cg, C#, Unity

Unity Programmer

2011 - 2012
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.
Technologies: Unity3D, Game Development, Cg, C#, Unity

Web App Developer

2010 - 2011
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.
Technologies: Facebook, Facebook API, Red5, XMPP, Flash, jQuery, Ajax, Zend Framework, Magento, PHP, MySQL, Apache, Linux

Programmer Analyst | Senior TIBCO Consultant

2007 - 2009
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.
Technologies: Eclipse RCP, XSLT, XSD, XML, TIBCO, Java

Play3D (iOS)

https://play3d.app
A native iOS standalone and iMessage app that was optimized for iOS 12 and powered by ARKit. It's officially a licensed product of NFLPA which brings the next generation of augmented reality capture technology and offers a line-up of photorealistic 3D holograms.

I 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.app
An Android app (powered by Unity and ARCore) and an officially licensed product of NFLPA which brings the next generation of augmented reality capture technology and offers a line-up of photorealistic 3D holograms.

I 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/soccerinho3D
A 3D soccer game set in Prague's old city which was nominated for debut Czech game of the year 2014. It runs on iOS and Android mobile devices.

Soccerinho 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/foosack3D
A 3D foosball game using Leap Motion Controller. The project was designed to explore the possibilities of this new technology.

I 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/tatajump
An interactive augmented reality virtual-tour of the Nexon for Tata Motors (Tatamotors.com). The application was used to introduce their concept car. An interactive model of the car could be viewed from any angle and layers of the car could be removed to show underlying layers. These views were augmented by on-screen technical specifications.

I 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/kidkamba
Kid Kamba and his seven friends have one thing in common, they're all super heroes! This augmented reality application lets you virtually interact with Kid Kamba and his friends who are brought to life as holograms in front of you. This application is part of the digital comics “Kid Kamba.”

I 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/unityexposedplugin
A simple-but-powerful tool which helps Unity developers easily and automatically maps object references for their components. They can also set rules for creating references. Plus these references are completely reusable for other components. Everything is configurable in the Inspector and the results of rules settings and references can be seen immediately.

I designed and implemented the whole functionality as a Unity extension.

SOLID Framework

A complete framework for Unity programmers. It helps developers with all phases of development from analysis, implementation, to testing, and all the while following all the basic SOLID principles in mind.

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.
2002 - 2007

Master's Degree in Computer Science

University of Hradec Kralove - Hradec Kralove, Czech Republic

DECEMBER 2018 - DECEMBER 2020

IELTS General Training 7.5

Britishcouncil.cz

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

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