João Tiago Pinheiro Neto Jacob, React Developer in Porto, Portugal
João Tiago Pinheiro Neto Jacob

React Developer in Porto, Portugal

Member since December 22, 2020
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.
João is now available for hire

Portfolio

Experience

Location

Porto, Portugal

Availability

Part-time

Preferred Environment

Trello, Slack, Bitbucket, 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.

Employment

  • Senior Researcher | Lead Developer

    2017 - PRESENT
    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
  • 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
  • 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, Stencyl
  • 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

Experience

  • Grappher | Unity Node-based Programming
    http://doi.org/10.1007/978-3-319-76270-8_20

    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
    https://play.google.com/store/apps/details?id=com.jacob.presentr&hl=pt_PT&gl=US

    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
    http://simusafe.eu/

    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
    https://web.archive.org/web/20171016193537/https://nutriciencia.pt/#

    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.

Skills

  • Languages

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

    Unity, Unity3D, Laravel, Android SDK, Bullet, Microsoft Kinect, Bootstrap, .NET
  • Paradigms

    Rapid Prototyping, Object-oriented Programming (OOP), Functional Programming, API Architecture, Web Architecture, Agent-based Modeling, Design Patterns
  • 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, Behavioral Modeling, App UI, Laragon, Gitblit, Version Control Systems, UX Prototyping, Deployment, Support & Maintenance, Architecture, Android Wear, Multiplayer, Networking, Procedural Generation, 3D Modeling, OSC, Photogrammetry, 360° Video, Ambisonics, Haptic Feedback, Animated Interactions, Stencyl, Business Development
  • Libraries/APIs

    OpenGL, Three.js, jQuery
  • Tools

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

    Windows, Vuforia, Android, WordPress
  • Storage

    JSON/XML Schemas, MySQL
  • Industry Expertise

    Project Management

Education

  • Ph.D. in Informatics Engineering
    2010 - 2016
    University of Porto, Faculty of Engineering - Porto, Portugal
  • Master's Degree in Computer Engineering
    2008 - 2010
    University of Porto, Faculty of Engineering - Porto, Portugal
  • Bachelor's Degree in Computer Engineering
    2005 - 2008
    University of Porto, Faculty of Engineering - Porto, Portugal

Certifications

  • Certificate of Proficiency in English
    OCTOBER 2010 - PRESENT
    University of Cambridge

To view more profiles

Join Toptal
Share it with others