About me
11+ years of experience in software development. I love to solve problems and to ship projects. I always try to keep things simple in order to find the practical solutions with the right balance between cost, quality and maintainability.
Please visit my LinkedIn profile to know more about my education, where I worked, job titles etc.
Projects & Showcases
- VR Escape Room Game
- Wibx GO
- Darumania
- Space Words
- Memory Game
- Via Varejo AR/VR
- Holographic Table
- Missão Fundo do Mar - Parque da Mônica
- Tweening Animations
VR Escape Room Game | Studio Abacate
Engine: Unity | Language(s): C# | Platform(s): PC VR
VR game in which the player has to solve puzzles to escape from a dark morgue. Developed using SteamVR SDK, which makes the game run on every major VR headset. Oculus Rift and HTC Vive were the headsets used for development.
What I did in this project
-
Overall Game Design and puzzle design;
-
Project management;
-
Gameplay programming (all object interactions and puzzle validations, generic system for turning objects like keys and handles and pouring/filling system for liquids);
-
UI programming for some electronic objects with screens;
-
Audio programming (SFX management and playback for a lot of continuous interactions, sharing AudioSources for multiple objects whenever possible);
-
Scene setup (interactable objects placement);
-
SteamVR setup (input, teleporting, scene loading, skeleton poses and pose interpolation for hands);
-
Changes and extensions in SteamVR scripts to fit the project’s needs.
(Click any image to see it larger)
Wibx GO | Studio Abacate
Engine: Unity | Language(s): C#, JavaScript/Node.js | Platform(s): Android, iOS
Geolocation-based game with Augmented Reality features made using Mapbox SDK and ARKit/ARCore through Unity’s AR Foundation package. Players can walk around the real world to catch frogs in traditional 3D or AR (like in Pokémon GO) and earn cryptocurrency in spots sponsored by brands that use the Wibx platform. Players can also customize their avatars, keep a record of captured frogs and engage in missions to win bonus cryptocurrency or real world goods. Developed for Wibx.
What I did in this project
-
Game Design;
-
Project management, planning and monitoring tasks and deadlines for all team members (myself, a junior developer, a 3D artist and an UI/UX designer) and interacting with Wibx’s backend team to define core API features;
-
Mentoring and code review for a junior developer who did part of the gameplay and UI programming;
-
Gameplay programming (AR mode);
-
UI programming (login, loading screen, missions, item pooling for dynamic lists);
-
Game systems programming (Mapbox SDK integration and customization, frog spawn system, missions, AssetBundle loading, settings);
-
Audio programming (music and SFX playback and management);
-
Network programming (integration with game’s backend API and Wibx platform API, user authentication, AssetBundle downloading and caching);
-
AssetBundle build pipeline setup;
-
Mapbox service setup (map styles, datasets and tilesets);
-
Game’s REST API design, documentation and implementation (data management and access for frog types, spawn areas, missions, gameplay transactions validation, game settings) using Swagger, Postman, AWS Lambda (Node.js/JavaScript) and API Gateway;
-
Game’s backend services programming (Mapbox datasets and tilesets update automation);
-
Database modeling and setup using AWS DynamoDB;
-
Setup and management of other AWS services for the game’s backend (IAM roles, S3, CloudFront, CloudWatch, Systems Manager Parameter Store);
-
Backend migration between AWS accounts from Studio Abacate to Wibx;
-
Demo releases through Unity Cloud Build;
-
Bug fix for AWS SDK.
(Click any image to see it larger)
Darumania | Blanka Studio
Engine: Unity | Language(s): C# | Platform(s): Android
Casual game in which the player has to tap the eyes of Daruma dolls before they fall off the screen. The game has 4 background levels, 10 unlockable characters and 4 power-up types. The player can also watch ad videos to earn coins to play a Gashapon Machine and unlock characters. Blanka Studio is just a name I used to self-publish this game.
Game Art by Laura Couto.
What I did in this project
-
Overall Game Design;
-
Gameplay programming;
-
Audio programming;
-
UI setup and programming;
-
Localization management using Smart Localization plugin;
-
Animations (splash screen, UI, Gashapon Machine);
-
Ads integration using Appodeal SDK;
-
Unity Analytics setup and tagging;
-
Play Store publishing.
(Click any image to see it larger)
Space Words | Studio Abacate
Engine: Unity | Language(s): C# | Platform(s): Android, iOS
Augmented Reality game made using Vuforia SDK. The enemies in the game have a word in english associated to each one of them and one of these words is shown in portuguese in the HUD, so the player needs to shoot the enemy with the right translated word to score. The player can choose between some different characters and keep best score records. Developed for Pearson’s Wizard English School.
What I did in this project
-
Overall Game Design;
-
Gameplay programming (spawn system, enemy behavior, word display for enemies and HUD, shooting system, SFX playback, scoring, game over conditions, object pooling for enemies, bullets and particles);
-
Game systems programming (character selection and persistence, best score persistence, pause, settings, scene loading);
-
UI setup and programming (title screen, character selection screen, tutorial screen, HUD, enemy words, game over screen, settings screen, exit screen);
-
Design and implementation of all UI animations using tweening, with custom tools that I developed on top of LeanTween plugin;
-
Character and enemy movement animations, also using tweening;
-
Use of TexturePacker to manually pack sprites in order to improve quality and lower the use of storage and memory on mobile devices.
(Click any image to see it larger)
Memory Game | Studio Abacate
Engine: Unity | Language(s): C# | Platform(s): Android, iOS
Augmented Reality game made using Vuforia SDK. A memory game in which the player needs to match a word card with the relative image card for the word. The player can unlock 3 difficult levels and keep best score records. Developed for Pearson’s Wizard English School.
What I did in this project
-
Overall Game Design, although pretty standard in this type of game;
-
Gameplay programming (cards display, card selection, hit and miss conditions, win and lose conditions, particles playback, scoring);
-
Game systems programming (asset and data management for cards using ScriptableObjects, difficult level unlocking and selection, best score persistence, pause, settings, scene loading);
-
Audio setup and programming (mixer and audio effects setup and management, music and SFX playback with audio pronunciation for each card pair);
-
UI setup and programming (title screen, difficult level selection screen, tutorial screen, HUD, game over screen, settings screen, exit screen);
-
Design and implementation of all UI animations using tweening, with custom tools that I developed on top of LeanTween plugin;
-
Card animations, also using tweening;
-
Sprite animation setup (animation clip, AnimatorController) for the animated character in game over screen;
-
Use of TexturePacker to manually pack sprites in order to improve quality and lower the use of storage and memory on mobile devices.
(Click any image to see it larger)
Via Varejo AR/VR | Studio Abacate
Engine: Unity | Language(s): C#, JavaScript/Node.js | Platform(s): Android, iOS, HTC Vive
Furniture visualization apps in AR (Kudan SDK) and VR (VRTK on HTC Vive) with heavy use of AssetBundles to provide a catalog of 200+ products. Users can view and interact with furniture in VR in physical stores or download the mobile app to have an AR experience in their homes. Developed for Via Varejo Casas Bahia retail chain.
What I did in this project
-
AR SDKs tests to define which one would be used in the project (Kudan was the best option in markerless tracking at the time that would run in a large range of devices so I chose it among Vuforia, MAXST, ARToolKit, EasyAR and VOID AR);
-
Feature design and implementation (product handling, material change, product dimensions display, doors and drawers interactions);
-
AR and VR programming (interacting directly with Kudan and VRTK SDKs to build the user interactions);
-
Systems programming (AssetBundle loading, product selection and spawning, favorites, settings, data persistence, camera and sharing API access in Android and iOS through plugins);
-
UI setup and programming optimizing dynamic product lists using item pooling;
-
Network programming (AssetBundle uploading, downloading and caching, use of AWS SDK for Unity);
-
Tools programming (asset pipeline automation, workflow tools for tech artists, AssetBundles build automation using AssetGraph, asset review tools for stakeholders at Via Varejo; all of those custom tools were essential to maintain the service running with daily updates);
-
Custom Analytics solution that saves data to AWS DynamoDB to be viewed in QuickSight;
-
AWS setup and management (IAM roles, S3, CloudWatch, DynamoDB).
(Click any image to see it larger)
Holographic Table | TV Globo
Engine: Unity | Language(s): C# | Platform(s): PC
Augmented Reality system developed using a tracked camera pedestal from SHOTOKU and Microsoft’s PixelSense screen for live interaction with the content. This system was used in Bem Estar and Bem Amigos live TV shows. Developed at TV Globo’s R&D department when I was a researcher there.
What I did in this project
-
Overall features design;
-
Editor programming for the editor app used by artists to build scenes and interactions for the system;
- Player programming for the player app that runs the interactive AR scenes in the TV studio and allows calibration made by the studio crew using the data coming from
-
SHOTOKU pedestal;
-
PixelSense app (.Net and WPF) used by the TV shows presenters to interact with the content being rendered;
-
UI programming for all apps;
- Network programming (UDP sockets) for communication between the player app and the PixelSense app.

Missão Fundo do Mar - Parque da Mônica | Studio Abacate
Engine: Unity | Language(s): C# | Platform(s): PC
Attraction from Parque da Mônica (Turma da Mônica’s theme park) where kids can paint drawings and scan them to appear projected in the walls to be interacted with using Projection Mapping and LiDAR scanners. This project was not made by me, but I had to make some changes to it after 2 years of its release to accommodate improvements requested by the park. These changes were made without the support of the outsourced developers who originally developed the project.
What I did in this project
-
TCP proxy programming to intercept and patch the protocol of the LiDAR scanner in order to make it work in two walls instead of one;
-
Network programming to sync the whale animation at the end of the experience (the whale swims from one wall to the other with one application instance running for each wall);
-
Changed the settings management to use proper UI instead of text files.
Tweening Animations (Showcase)
Design and implementation of UI animations in Unity using tweening, with custom tools that I developed on top of LeanTween plugin.
(Click any image to see it larger)