João Tiago Pinheiro Neto Jacob, Developer in Porto, Portugal
João is available for hire
Hire João

João Tiago Pinheiro Neto Jacob

Verified Expert  in Engineering

React Developer

Location
Porto, Portugal
Toptal Member Since
January 25, 2021

João has a Ph.D. in informatics engineering, specializing in exergames' adaptivity through real-time sensors and GIS data. He is proficient in .NET C# development and has several years' worth of experience with Java (Android SDK) and PHP (Laravel). João has taught several classes, mostly on computer graphics and programming, and participated in several research projects, both as a researcher and as a tech lead. He is often an invited speaker, jury, or participant in game jams.

Portfolio

Mindera
Agile, Scrum, Kanban, Unity, Unreal Engine
Self-employed
Game Development, Game Tools Development, Web Development, Business Development...
LIACC — Artificial Intelligence and Computer Science Laboratory
Simulations, Agent-based Modeling, Project Management, Gitblit, Python, Trello...

Experience

Availability

Part-time

Preferred Environment

Trello, Slack, Bitbucket, Visual Studio Code (VS Code), Visual Studio, Windows

The most amazing...

...solutions I've developed are Grappher and Geostream; one is a node-based programming approach for Unity and the other is a GIS-based content generation tool.

Work Experience

Technical Product Owner

2021 - PRESENT
Mindera
  • Managed a team focused on the development of iGaming solutions as well as VR and AR projects. Implemented code review practices, as well as pull request templates.
  • Served as a tech lead in several VR projects focused on simulation, using Unreal and Unity.
  • Charged with preparing an interview and hiring pipeline for Unreal and Unity developers.
Technologies: Agile, Scrum, Kanban, Unity, Unreal Engine

Software Developer

2010 - PRESENT
Self-employed
  • Responsible for contacting potential clients, gathering requirements, identifying talents, assembling and managing teams, creating budgets and proposals, developing and deploying several solutions, mostly targeting web and mobile.
  • Designed, developed, and published SnapYou, a photo-op mobile application (Android/iOS); was responsible for the Android version programming and project coordination (five people).
  • Designed, developed, and published MelhorTarifa, an electricity/gas tariff simulator mobile application (Android/iOS). Responsible for Android version programming and project coordination (three people), budget drafting, and client relations.
  • Designed, developed, published, and maintained BSAnimal ES/PT, a pet blood transfusion app (Android/iOS). Responsible for the Android version, up until 2019. Managed a team of three, budget, client relations, and user acceptance testing.
  • Developed and implemented Freeqs, a location-based game MVP made in Unity for mobile devices for the company I.me.mine. The team was comprised of two programmers and one 3D artist.
  • Developed solely PresentR, an Android Wear presentation assistant application.
  • Designed, developed, and deployed an internal tool: a web-based children's park layout tool, based on Laravel and Three.js; it was capable of creating geo-referenced parks, verifying their safety area compliance, and more.
  • Developed an interactive 360° experience (front-end and back-end) solution, using Laravel and Aframe for Ground Control Studios.
  • Constructed the UPORTO Alumni website, based on WordPress.
  • Served as the lead architect and developer of the mobile Adapttech MVP app. The application was developed in Unity3D and communicated with sensors via BT.
Technologies: Game Development, Game Tools Development, Web Development, Business Development, Support & Maintenance, Deployment, Project Management, Client Relations, Virtual Reality (VR), C#.NET, Java, JavaScript, C#, PHP, Laravel, WordPress, Unity, Vuforia, Google Cardboard, 360° Video, Android Wear, Android SDK, 3D, .NET, Technical Art

Senior Researcher | Lead Developer

2017 - 2021
LIACC — Artificial Intelligence and Computer Science Laboratory
  • Worked as a post-doc researcher and led and managed the development team of an international EU H2020 driving simulation project (SIMUSAFE):.
  • Coordinated tasks with other teams and participated in workshops and consortium meetings;
  • Established an Agile workflow using Trello, Slack, and Gitblit.
  • Built a data-driven pedestrian behavior model using Unity and Python.
  • Implemented two VR cockpits: one for pedestrians and another for car drivers.
  • Developed a multi-user networked simulator, populated with both artificial populations and real-world users.
Technologies: Simulations, Agent-based Modeling, Project Management, Gitblit, Python, Trello, C#, Unity, Architecture, 3D, .NET

Professor

2018 - 2020
Universidade Lusófona do Porto
  • Worked as a regent professor for the classes of Programming II (C#)—focusing on gameplay programming of simple games in Unity—and computer graphics—focusing on theoretical and practical aspects of CG.
  • Created class materials (both slides, exercises and examples).
  • Developed simple games and some live coding challenges to motivate students.
Technologies: Gameplay Development, Game Development, Version Control Systems, Design Patterns, C#, HLSL, Computer Graphics, 3D

Lecturer | Tutor

2018 - 2019
UPORTO (FBAUP), Faculty of Fine Arts
  • Responsible for the modules “Implementation and Prototyping” and “Project” in the “Curso de Especialização em Design de Interação Web e Jogos.”.
  • Supervised students in designing the prototype (vertical) of their own project. These could be mobile applications, games, or web apps.
  • Coordinated with other teachers and TAs to ensure that the prototype was following the previously defined specifications and that their main features were implemented.
  • Proposed user test scenarios and metrics to ascertain the effectiveness of the implemented design.
  • Prepared class materials and exercises to suit the students' needs (e.g. if a student wanted to develop a game in Stencyl, a short tutorial was prepared).
Technologies: Unity, Rapid Prototyping, UX Prototyping, Balsamiq Mockups, Adobe Experience Design (XD), JavaScript, Bootstrap, Vuforia, Google Cardboard, Android SDK

Senior Researcher | Lead Developer

2017 - 2018
INESC TEC | Institute for Systems and Computer Engineering, Technology, and Science
  • Worked as a post-doc researcher and managed and led the local development team of an international H2020 EU e-learning project (BEACONING):.
  • Coordinated tasks with other partners, focused on interoperability, and participated in workshops and consortium meetings.
  • Implemented an Agile workflow using Trello, Slack, and Skype.
  • Integrated a student game data analytics platform.
  • Designed and implemented the game authoring tool using Laravel, Bootstrap, and HTML5.
Technologies: Trello, Slack, Game Tools Development, Analytics, HTML5, Bootstrap, Laravel, Laragon, Architecture, 3D

Developer | Researcher

2011 - 2016
INESC TEC | Institute for Systems and Computer Engineering, Technology, and Science
  • Responsible for usability testing of the project "CNG – Next Generation Contents" (a Unity3D based serious game) and the development of certain game components (such as menus and asset streaming).
  • Developed and architected solely the project “StableCargo,” a physics-based container-loading problem simulator (C++, OpenGL, and BulletPhysics).
  • Researched and developed a Unity-based location-based game and underlying framework for a media-arts-and-technology project.
  • Developed a geographic data-fusion API for location-based games.
Technologies: PHP, Bullet, Microsoft Kinect, Unity, GIS, Location-aware Technology, HLSL, OpenGL, C++, C#, Architecture, 3D, .NET

Invited Lecturer | TA

2010 - 2016
UPORTO (FEUP), Faculty of Engineering
  • Taught several classes, such as Intro to Programming (Scheme), Programming II (C++), Computer Graphics (C++/OpenGL), Computation Theory, 3D Animation, and Graphical Systems, Media Lab, and Media Technologies.
  • Developed content, tools, and libraries, such as CGFLIB (an OpenGL graphics library for teaching computer graphics) and FPROAutoEval (an SMTP Java service for the automatic grading of student exercises and exams via email).
  • Supported, supervised, and proposed several class exercises and exams, as well as master theses.
Technologies: Java, C#, Unity, OpenGL, Scheme, C++

Platform Architect | Lead Developer

2014 - 2015
UPORTO (FEUP), Faculty of Engineering
  • Worked as a contract developer for the Nutriscience platform: a website (Laravel) integrated with WebGL games (Unity) and Moodle.
  • Developed a game data analytics platform (PHP-based) for students and serious games for student integration.
  • Designed and implemented the entire platform from the web API, database schema, to the game design and cross-authentication with a custom version of Moodle.
  • Coordinated the local team which consisted of two designers and a junior developer.
Technologies: Git, JavaScript, jQuery, Moodle, MySQL, PHP, Laravel, Unity, Game Design, Analytics, Architecture, 3D, .NET

Junior Intern

2009 - 2010
NDrive
  • Identified bugs, particularly when exiting or uninstalling the app.
  • Participated in the core team's daily Scrum sessions and entered a few sprints.
  • Designed and implemented a mechanism for drawing building footprint's shadows.
  • Designed and implemented a solution for drawing building façades.
Technologies: Subversion (SVN), Xcode, C++, Objective-C, 3D

Grappher | Unity Node-based Programming

Grappher is a Unity node-based programming tool. It allows for graphs to be stored in the cloud and remotely deployed to a game, even if the game is already running (in, say, a mobile device). This tool aims to ease mobile game development and parametrization and lay the foundations for adaptive games, as it exposes sensor and analytics data to the developer.

Beaconing Authoring Tool

https://beaconing.eu/
This tool consists of a game lesson plan authoring tool developed for the H2020 Beaconing project; it enables the allocation and parametrization of mini-games in narrative key points during a game and was made using HTML5 (DOM and Canvas).

Stablecargo | Cargo Stability Analysis

https://www.inesctec.pt/en/projects/stablecargo
Stablecargo is a dynamic stability container loading problem simulator that I developed. It uses a custom-made OpenGL-based renderer—that I also developed, together with a couple of colleagues (CGFLib)—and uses the Bullet Physics Engine. It also features simple shader programming (alpha blending two textures to a frag).

CTRL-ALTruism

https://www.youtube.com/watch?v=7Fg18XaVCFw
The game, CTRL-ALTruism, is a competitive arcade brawl game made for a local game jam, made entirely in Unity. Once a user opens the mobile application of the game, the player automatically joins a local session as a new player. The board adapts its geometry to accommodate the correct number of players. I was responsible for the gameplay and networking programming.

Geostream

Geostream is a Unity framework that I developed. It aims to collect geographical information from different sources (Openweather, Sunrise, OpenStreetMaps, Google Maps, Bing Maps, MapQuest, and Google Elevation), combine this information, and enable the procedural recreation of an environment. As the world is divided into tiles, as the reference object moves, the new tiles are loaded and created or discarded as needed.

GhostStand

https://youtu.be/nl9ishyA71I
GhostStand is a mobile VR exergame that uses an Android Wear device to serve as a controller. The player can swing a sword around to hit incoming enemies. Depending on the player's heart rate (effort), the game changed the difficulty (spawn rate, speed, and resistance of enemies). The player features an IK for hand/arm and head movements.

Jensie

https://youtu.be/ypGe8V1H-Cw
Jensie is a Three.js and Laravel web application that allows visitors to create rooms and populate them with furniture that I have created. Rooms can be created parametrically or by drawing their footprints. Finally, the user may visit the created room in VR if the device supports WebVR. A simple post-processing stack was also implemented for full-screen 3D view, featuring ambient occlusion, bokeh, vignetting, and anti-aliasing for high-quality screenshots.

Tube Bending

A Unity script that was developed as part of a contract project. It allows for a 2D shape to be parametrically moved, rotated, and bent in any way via lofting. It creates the minimum specified geometry detail to achieve the desired effect (as the tube is bent, extra geometry is added).

See Hear and Touch No Evil

https://youtu.be/sQOGpuwiv4A
See Hear and Touch No Evil is a competitive/collaborative 3D isometric turn-based exploration game. Each player has a "sense" that allows for space exploration. The goal of the game is for the player to reach the exit. Players must collect oxygen and batteries and must avoid or defeat enemies.

I was responsible for the gameplay programming and OSC integration of this Unity game. The game also features tracker music via OSC, allowing for the music track to change depending on the current player's status.

EINSTEIN

https://ieeexplore.ieee.org/abstract/document/9090655
This experimental project aims to foster expressiveness and agency through the physics-based concatenative sound synthesis in virtual environments using photogrammetric models.

I was responsible for all the programming and OSC integration. Parameters are extracted from the physics engine and from the collision points' model's geometry, materials and maps and are sent to the CSS engine for real-time audio synthesis.

WaveCrash

https://globalgamejam.org/2017/games/wavecrash
WaveCrash is a single-player/split-screen arcade game where a player controls a boat on a planet. The boat can only move with the recoils from the shots. These shots create explosions and waves that also affect the movement of the ships. All objects follow Newton's law of universal attraction and are attracted to the planet, moon, and sun (meaning that projectiles and boats may be blasted into orbit).

I was responsible for the game's design, gameplay, and AI programming. We won first place in the game jam.

rePAIR

https://globalgamejam.org/2020/games/repair-8-4
rePAIR is a 2P cooperative game where each player controls a brother. One of the brothers has a flashlight and a marker that is used to light the board and select predefined labyrinth tiles that have to be placed on the board. The other brother has a laser pointer with which he will "play" the labyrinth created by the other one, without hitting any of the walls.

I was responsible for the game design, gameplay and lighting. The board's content is actually rendered off-screen and placed as a texture on the board.

Portuguese Language Museum App

https://play.google.com/store/apps/details?id=com.MLP.ThreeSixty&hl=pt_PT&gl=US
The Museu da Língua Portuguesa application was developed as a showcase for a museum creation proposal. The application is a Unity Cardboard VR application that allows users to explore the museum through interconnected 360° stereo renders and features Ambisonics audio and narration.

I was the sole developer of the application (with assets provided by a sound designer and 3D modeler).

Luzas

Luzas is a location-based augmented reality game, developed in Unity using Vuforia. The player must physically go to certain spots in the city of Lisbon and solve augmented reality puzzles. Once all puzzles have been completed, the user is asked to go to a new location where they can claim their prize: a photo taken from atop of a Christmas tree, sent to the application.

I was responsible for the development of the location-based part of the game, as well as puzzle completion detection. The app went live on Christmas of 2018.

MelhorTarifa.pt

MelhorTarifa was a mobile application and website meant to allow users to compare gas and electricity tariffs easily.

I was responsible for the native Android version development, as well as the web API

PresentR

PresentR is a presenting companion application for Android Wear devices. The user can create presentation section timers and vibration patterns so that during a presentation the wearable may warn the presenter if the presentation is ahead or behind time, discreetly.

Simulating Driver-pedestrian Interactions and Intentions Inference

SIMUSAFE.eu is an H2020 project.

My role in this project was to develop an interoperable pedestrian behavior simulation module to be integrated into the simulator. This was developed using Unity3D, Python, and statistical models from the data collected by the project's partners.

HCVRI

https://youtu.be/GtLXMA3e7Eo
Human-computer Virtual Reality Interaction (HCVRI) was a module I developed to ease the implementation of interactivity in the Cardboard VR application. It follows a gaze-based interaction principle but allows developers to very easily (no programming required) to match UnityActions with radial, hierarchical choices menus.

Nutriscience

Nutriscience was a platform that allowed children to share their family recipes and complete nutritional challenges and mini-games. It featured cross-Moodle authentication, mini-games, and a mini-social network built around schools, families, and recipes.

I was the sole architect of the platform and implemented its Moodle integration, back office, and front end (Laravel) as well as some of the mini-games (Unity).

Animal Blood Bank

https://play.google.com/store/apps/details?id=com.us.bsaes
The "Banco de Sangue Animal" Android app was developed and maintained by me up until 2019. It allowed vets to calculate the dosage of blood components that are to be used for cats/dogs transfusions, as well as peruse materials related to the specifications of these components.

UPORTO Alumni Website

https://alumni.up.pt/en/
This website allows alumni to find information regarding the University of Oporto, as well as news and events.

I was one of the two developers responsible for the implementation of the website in WordPress.

Ilídio Pinho Foundation Collection

https://arte.fundacaoip.pt/
This website presents the works of art that are part of the Ilídio Pinho Foundation Collection.

I was one of the two developers, building the website's front end and back end. I was responsible for the database design.
2010 - 2016

Ph.D. in Informatics Engineering

University of Porto, Faculty of Engineering - Porto, Portugal

2008 - 2010

Master's Degree in Computer Engineering

University of Porto, Faculty of Engineering - Porto, Portugal

2005 - 2008

Bachelor's Degree in Computer Engineering

University of Porto, Faculty of Engineering - Porto, Portugal

OCTOBER 2010 - PRESENT

Certificate of Proficiency in English

University of Cambridge

Libraries/APIs

OpenGL, Three.js, jQuery

Tools

Visual Studio, Bitbucket, Slack, Trello, GIS, Subversion (SVN), Git, Gitblit, Balsamiq Mockups, Moodle, Xcode, Adobe Experience Design (XD)

Frameworks

Unity, Unity3D, Laravel, Android SDK, Bullet, Microsoft Kinect, Bootstrap, .NET, Unreal Engine

Languages

C#, PHP, HLSL, JavaScript, Java, HTML, C++, Scheme, C#.NET, HTML5, PHP 7, Python, Sass, CSS, Objective-C

Paradigms

Rapid Prototyping, Object-oriented Programming (OOP), Functional Programming, API Architecture, Web Architecture, Agent-based Modeling, Design Patterns, Agile, Scrum, Kanban

Industry Expertise

Project Management

Platforms

Windows, Vuforia, Android, Visual Studio Code (VS Code), WordPress

Storage

JSON/XML Schemas, MySQL

Other

Virtual Reality (VR), English, Virtual Reality App Design, Computer Graphics, Gameplay Development, Client Relations, 3D, Mobile App Development, Web Development, XML Web Services, Augmented Reality (AR), Analytics, Simulations, Multithreading, Game Design, Game Development, Game Tools Development, Game Programming, Game Physics, Google Cardboard, Location-aware Technology, HTTP, APIs, App UI, Laragon, Version Control Systems, UX Prototyping, Deployment, Support & Maintenance, Architecture, User Behavior, Modeling, Android Wear, Multiplayer, Networking, Procedural Generation, 3D Modeling, OSC, Photogrammetry, 360° Video, Ambisonics, Haptic Feedback, Animated Interactions, Business Development, Technical Art, Platform Building

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