Roman Vlasov, Developer in Mountain View, CA, United States
Roman is available for hire
Hire Roman

Roman Vlasov

Verified Expert  in Engineering

AR and VR Developer

Mountain View, CA, United States
Toptal Member Since
December 8, 2020

Roman has 12 years of international experience in 3D and VR software development and a PhD in computer science. He has led and worked on projects of all sizes, from scoping requirements to launch, focusing mainly on VR/AR, complex algorithms, CAD, haptics, and computer vision. With expertise in various languages and platforms, including C++, Java, and C#, Roman has designed and developed cutting-edge products, including VR arcade games, facial recognition, and advanced medical imaging.


Human-computer Interaction (HCI), Human-machine Interface (HMI), Visual Studio...
Human-machine Interface (HMI), Human-computer Interaction (HCI)...
Adpack (IDA GmbH)
Android, cURL Command Line Tool, Requirements, Requirements & Specifications...




Preferred Environment

Linux, Windows, Eclipse IDE, Android Studio, Git, Visual Studio, Unity

The most amazing...

...thing I've developed is a best-in-class face analysis system for low-performance devices. It's the basis for the the very core of the client's business.

Work Experience


2019 - PRESENT
  • Designed and developed a walk-through VR escape room experience for VR arcades.
  • Expanded customer relationships and found potential business clients.
  • Developed an enhanced version of the VR experience where virtual and real environments are synchronized.
  • Applied for and received state funding for the company.
  • Collaborated with the concept designer and writer on the design and storyline of the VR experience.
  • Completed the advisory track of the Y Combinator Startup School (Note: this is not the Y Combinator core program).
  • Presented the company at the Gamescom international game conference and the VR Arcade Conference.
Technologies: Human-computer Interaction (HCI), Human-machine Interface (HMI), Visual Studio, Requirements Analysis, Requirements & Specifications, Requirements, Haptics, Agile Software Development, Computer Graphics, Business Development, Business to Business (B2B), User Requirements, Project Leadership, R&D, 3D Graphics, Windows Mixed Reality, SteamVR, C#, Git, Unity, Technical Leadership, Project Management, Virtual Reality (VR), Startups

Senior Software Engineer

2016 - PRESENT
  • Played a key role in clients' projects, from scoping requirements to launch, and further developed existing products.
  • Developed a VR demonstrator for the IIP-Ecosphere project that involves more than 50 organizations in Germany, including VW, Sennheiser, and universities. The demonstrator will be the face of the project and shown to visitors at exhibitions.
  • Assembled a team and led the complete development of a highly optimized, real-time face detection and tracking and age/gender classification system for low-performance devices. This is now the very core technology for the client's business case.
  • Collaborated with the client's cross-functional team on the integration of the face analysis system and guided the development of related analytics tools.
  • Created a complete pipeline from collecting and annotating training data to creating machine learning models.
  • Developed an Android app to easily create floor plans and compute various parameters such as floor area.
Technologies: Human-machine Interface (HMI), Human-computer Interaction (HCI), Graphical User Interface (GUI), Windows Mixed Reality, SteamVR, OpenCV, Dlib, User Interface (UI), Android Development, Profiling, Project Management, Facial Recognition, Computer Vision, Technical Leadership, Project Leadership, Team Leadership, Agile Software Development, Concurrent Programming, Multithreading, Software Architecture, Software Design, API Development, Software Design Patterns, R&D, NDK, Android NDK, C#, C++, Virtual Reality (VR), Unity, Visual Studio, 3D Graphics, Git, XML, JSON, Requirements & Specifications, User Requirements, Requirements, Requirements Analysis, Artificial Intelligence (AI), Machine Learning, Data Structures, Algorithms, 2D Graphics, Android Studio, Java, Android

Senior Software Engineer

2016 - 2019
Adpack (IDA GmbH)
  • Developed core software that targets and plays commercials based on the set of people currently looking at the screen and produces reports. It runs on hundreds of Adpack edge devices in places like shops, post offices, and airports.
  • Designed and developed a new RESTful API framework for the Adpack edge devices.
  • Wrote research proposals to secure state funding for R&D projects.
Technologies: Android, cURL Command Line Tool, Requirements, Requirements & Specifications, Requirements Analysis, Research Proposals, Concurrent Programming, Multithreading, Network Programming, Data Structures, Algorithms, Agile, Agile Software Development, Software Design Patterns, Software Design, Software Architecture, API Development, Git, Android NDK, NDK, Android Studio, Java, C++, REST, Jira, Confluence

Lead Software Engineer | Research Associate

2013 - 2015
Nanyang Technological University
  • Collected requirements, designed, and led the development of visualization frameworks for the bowl-shaped, 320-degree Cave Automatic Virtual Environment with five active stereo projectors, allowing researchers to easily extend projects to the CAVE.
  • Saved the institute $280,000 by replacing their third-party visualization framework with the one I developed.
  • Migrated the ongoing Unity VR projects to the Oculus Rift VR headset and to the glasses-free stereo display with eight views.
  • Integrated tracking devices, including Leap Motion, Kinect 2, and marker-based motion capture, into the ongoing projects.
  • Conducted user-study research with 16 people about the degree of virtual presence and cost-effectiveness for four displaying devices.
  • Interviewed job candidates, performed administrative tasks, assisted during audits, and negotiated support contracts.
  • Wrote research proposals and project reports, made presentations, and presented demos to VIPs such as government officials and visitors from big tech companies.
Technologies: MonoDevelop, Research Proposals, Network Programming, Visual Studio, Computer Graphics, Visualization, Agile Software Development, Requirements & Specifications, User Requirements, Requirements Analysis, Project Management, Technical Leadership, Team Leadership, Project Leadership, Microsoft Kinect, Motion Tracking, Virtual Reality (VR), Oculus Rift, Leap Motion, Motion Capture, R&D, Research, Data Structures, Algorithms, Make, C++, C#, Git, 3D Graphics Engines, DirectX, OpenGL, 3D Graphics, 2D Graphics, Geometry, Shaders, 3D Math, Unity, OGRE

Software Engineer | Ph.D. Researcher

2009 - 2015
Leibniz University of Hannover, Institute of Man-Machine-Communication
  • Designed and developed a VR system with haptic interaction, using 3D volumetric data. It was sponsored by DAAD, the German Academic Exchange Service.
  • Visualized medical imaging data using volume rendering and added the "feeling" of virtual objects using force-feedback devices.
  • Improved marching cubes and smoothing algorithms, resulting in more than 10x faster graphics rendering of deformations.
  • Developed a flexible deformation framework that allowed the use of haptic rendering together with different deformation models and developed deformation models.
  • Exhibited the system during CeBIT international computer expos in 2013 and 2015, published research papers, and appeared in a German newspaper.
  • Served as a teaching assistant for a course on data structures and algorithms.
  • Wrote a research proposal leading to the project being funded by the European Union.
  • Supervised the work of undergraduate students and interviewed job applicants.
Technologies: Graphical User Interface (GUI), User Interface (UI), Subversion (SVN), Concurrent Programming, Multithreading, Computational Geometry, Geometry, Visual Studio, Data Structures, Algorithms, 3D Graphics, Computer Graphics, Software Design Patterns, Software Design, Software Architecture, Technical Leadership, Research Proposals, Eclipse IDE, Haptic Feedback, Haptics, Virtual Reality (VR), Visualization, Human-computer Interaction (HCI), Human-machine Interface (HMI), Native UI, XML, Volumetric Data, Volume Rendering, Point Clouds, Medical Imaging, Physics, R&D, Research, Java Native Access (JNA), C++, Java 3D, Java

Software Engineer (Part-time)

2008 - 2009
SoftDev SPb
  • Worked on TurboCAD (v 16.0, 16.1, and 17), a powerful CAD system and AutoCAD's competitor.
  • Designed and developed a mesh simplification tool. It's based on the QSlim algorithm and reduces the number of triangles to the specified number while maintaining the best "quality" of the model.
  • Developed and improved 3D and 2D CAD-specific tools, including simple extrude, prism, sweep, revolve, Face2Face lofting, bisector, helix, construction lines, and twisted extrude; 3D-polylines clipper by a volume; and hidden line renderer.
  • Designed and developed a layout tool that optimizes the layout of details on wooden sheets in order to save wood.
Technologies: Graphical User Interface (GUI), User Interface (UI), R&D, Software Design Patterns, Software Design, Mesh Development, 80/20 Simplification, Microsoft Foundation Class Library (MFC), Data Structures, Algorithms, Technical Leadership, API Development, Visual Studio, OpenGL, CAD, CAD Development, StarTeam, C++, Geometry, Computational Geometry, 3D Math, 3D Graphics Engines, 2D Graphics, 3D Graphics

Junior Software Engineer (Part-time)

2006 - 2007
Driver-Inter, Ltd.
  • Developed camera models, GUIs, editor's behavior, and other features for a golf simulator.
  • Built Samsung MenuTool, an editor for easy and intuitive creation of menus for phones and games.
  • Implemented surface flattening algorithms for mapping of a 3D surface to a 2D space.
Technologies: User Interface (UI), Graphical User Interface (GUI), DirectX, 3D Graphics Engines, C++, Computer Graphics, Computational Geometry, Geometry, 2D Graphics, Data Structures, Algorithms, R&D, Microsoft Foundation Class Library (MFC), CVS, Visual Studio, C#, 3D Math, 3D Graphics

Researcher (Internship)

2006 - 2006
St. Petersburg State Polytechnical University, Department of Theoretical Mechanics
  • Created and implemented a computer model of the formation of molecules from atoms.
  • Visualized the process of the formation of molecules in real time in both 2D and 3D.
  • Presented the model at the Institute for Problems in Mechanical Engineering of the Russian Academy of Sciences in Saint Petersburg.
Technologies: Research, Visual Studio, C++, Mechanics, Physics, DirectX, 3D Graphics, 2D Graphics

VR Demonstrator for IIP-Ecosphere

I developed a VR demonstrator for the Intelligent Industrial Production Ecosphere (IIP-Ecosphere), a project that's uniting companies within the land of Lower Saxony in Germany. More than 50 organizations are participating, including Volkswagen, Sennheiser, and several universities.

The VR demonstrator will be the face of the project and shown to visitors at exhibitions. It represents the structure of the IIP-Sphere as a landscape with various groups of buildings, each associated with the project participant, and every participant has its own demo space inside their building.

VR Escape Room Experience for VR Arcades
I developed this escape room experience for VR arcades. The storyline and design are based on those provided by the concept designer and the writer. The VR experience itself is multiplayer software designed for use with a VR headset and backpack PC. Think of an escape room on steroids and in VR. It's free-roaming, in that movements of the users are translated one-to-one from the real world to the virtual world.

The advanced version of the VR experience has rough replicas of virtual objects in reality, exactly in the same place where they are expected to be. As the result, the player can not only see but also literally touch the virtual objects. This greatly enhances the player's immersion experience.

Visualization Frameworks
While working for a research institute in Singapore, I led the complete development of two visualization frameworks for the custom-built, bowl-shaped 320-degrees Cave Automatic Virtual Environment (CAVE) with five active stereo-projectors. The frameworks allowed researchers to easily extend their projects to the CAVE. This saved the institute $280,000 by replacing their third-party visualization framework with the ones I developed.

VR System with Haptic Interaction
Using haptic interaction with 3D volumetric medical data and force-feedback devices, I designed and developed a novel virtual reality system that allows people to feel virtual objects.

The system was sponsored by a Siemens/DAAD Ph.D. scholarship. It was exhibited during CeBIT international computer exhibitions in 2013 and 2015 with more than 3,000 people visiting the stand, including politicians. It was also recognized in a German newspaper, written about in published research papers, and presented at international scientific conferences. Last but not least, the haptic interaction part of the MultiScaleHuman project was based on my work.

Face Analysis System

I built a highly optimized, real-time face analysis system for a low-performance target platform. The system does anonymous face detection and tracking and age/gender classification. It is one of two best-in-class systems; only one other system in the world can operate with comparable performance and accuracy and fulfill all the requirements. The system I built can work with many faces at the same time, and its modular structure allows it to be extended to other use cases.

While leading the complete project, from scoping requirements to launch, I also created the complete pipeline, from collecting and annotating training data to creating machine learning models. The system is now the very core technology for the client's business case.

Mesh Simplification

While working on TurboCAD at SoftDev SPb, I designed and developed a mesh simplification tool. This tool reduces the number of triangles in the given model to the desired count while maintaining the best "quality." It's based on the QSlim algorithm and is particularly useful for models with such a huge number of triangles that they can't be interactively rendered or manipulated without being simplified.

Augmented Reality Meetup Group (AR Berlin)
I organize and moderate AR Berlin meetups where speakers from the industry present their work and share their learnings, tips and tricks, and new technologies. We've had 14 events so far, with more to come.


C++, Java, C#, XML


Unity, OGRE, Microsoft Kinect


Visual Studio, Git, Android Studio, Eclipse IDE, Android NDK, Subversion (SVN), CVS, MonoDevelop, CAD, Make, Confluence, Jira, cURL Command Line Tool, CMake


Human-computer Interaction (HCI), Object-oriented Programming (OOP), Agile Software Development, Requirements Analysis, Kanban, Agile, Waterfall Development, Unit Testing, Concurrent Programming, High-performance Computing, Distributed Computing, REST


Windows, SteamVR, Software Design Patterns, Oculus Rift, Linux, Android, Docker


Virtual Reality (VR), Haptics, Haptic Feedback, CAD Development, Algorithms, Data Structures, Software Development, Software Engineering, Computer Science, Native UI, Requirements & Specifications, Technical Leadership, Project Leadership, Volume Rendering, Volumetric Data, Medical Imaging, Computational Geometry, Computational Complexity, 3D Math, Point Clouds, Research, Applied Mathematics, Competitive Programming, Human-machine Interface (HMI), R&D, Mesh Development, 80/20 Simplification, Support Vector Machines (SVM), Augmented Reality (AR), 3D Graphics Engines, 3D Graphics, Software Design, Computer Graphics, Team Leadership, Software Architecture, User Requirements, Geometry, Linear Algebra, 2D Graphics, Java 3D, Visualization, Mechanics, Physics, StarTeam, Windows Mixed Reality, Leap Motion, Startups, Facial Recognition, Research Proposals, Data Engineering, Software Development Management, Software Development Lifecycle (SDLC), Profiling, Computer Vision, Machine Learning, Motion Tracking, Calculus, Startup Accelerators, Ray Casting, Community Development, Community Management, Multithreading, Artificial Intelligence (AI), Computer Networking, Mathematical Analysis, Analytical Geometry, Tensor Analysis, Materials Science, Discrete Mathematics, Probability Theory, Statistics, Quantitative Calculus, Optimization, Queueing Theory, Ray Tracing, Digital Signal Processing, Signal Processing, UML Diagrams, Automata Theory, Shaders, Motion Capture, Network Programming, Requirements, Android Development, Business to Business (B2B), Business Development, User Interface (UI), GUI, Graphical User Interface (GUI), Meetups


NDK, API Development, Java Native Access (JNA), OpenCV, Dlib, DirectX, OpenGL, Microsoft Foundation Class Library (MFC)


JSON, Databases

Industry Expertise

Project Management

2009 - 2016

Ph.D. in Computer Science

Leibniz University of Hanover - Hanover, Germany

2007 - 2009

Master's Degree in Informatics and Applied Mathematics

Saint Petersburg State Polytechnical University - Saint Petersburg, Russia

2003 - 2007

Bachelor's Degree in Informatics and Applied Mathematics

Saint Petersburg State Polytechnical University - Saint Petersburg, Russia


Alumni of Startup Accelerator

Entrepreneur First