Stefano Diem Benatti, User Experience (UX) Developer in Atibaia - São Paulo, Brazil
Stefano Diem Benatti

User Experience (UX) Developer in Atibaia - São Paulo, Brazil

Member since March 9, 2017
Stefano is a full-stack web developer with a decade of hands-on experience. He's studied computer science and electrical engineering at USP (Universidade de São Paulo) and founded his own software development company called Heavenstudio. Throughout his career, Stefano has successfully developed dozens of applications for both startups and big enterprise companies.
Stefano is now available for hire

Portfolio

Location

Atibaia - São Paulo, Brazil

Availability

Part-time

Preferred Environment

macOS/Linux, Git, Atom

The most amazing...

...project I've worked on was Escola Digital which was a white label search engine with a shared database and collaboration tools between its installments.

Employment

  • Lead Full-stack Developer

    2019 - PRESENT
    DiversityEdu
    • Added SSO/SAML integration both in the back end (Rails) as an alternative to email/password sign in, as well as front end UI (React) changes and JWT generation to accommodate it.
    • Setup Capistrano deployment to AWS instances for both Rails and React applications.
    • Established an automatic ruling system that allows users to be added/removed from groups based on profile information both in the back end (Rails) and front end (React).
    • Fixed several high-priority bugs, such as issues uploading files with the progress not being registered and others.
    • Decoupled MariaDB databases from AWS instances into RDS, and MongoDB to Atlas Cloud—both for improved scalability and uptime.
    • Decoupled local file system files to use AWS S3 storage instead of for scalability.
    • Updated React version and dependencies.
    • Improved the back-end (Rails/Minitest) test coverage from 78% to 92%.
    • Refactored, cleaned, improved, and rewrote huge segments of the back end (Rails) for increased readability and maintainability.
    • Refactored MariaDB database columns that were storing JSON data as text into JSON fields and/or better-structured table data for improved performance and indexing.
    • Added feature (Rails/React) to track user's grade score activity on courses, integrating it with Learning Locker's XAPI statements.
    • Upgraded, redeployed and fixed issues with open-source Node.js application (Learning Locker).
    Technologies: Ruby on Rails, React, Node.js
  • Senior Rails Developer

    2017 - 2019
    Outfront Media
    • Refactored legacy Ruby codebase increasing its test coverage from 70% to 90% using Rspec; also moved the existing TestUnit test to RSpec to generate a single test coverage metric.
    • Migrated databases from MongoDB to PostgreSQL on Amazon RDS.
    • Containerized applications with Docker to be deployable to Kubernetes.
    • Added continuous integration/delivery using Jenkins and Kubernetes.
    • Implemented mechanism to sync database changes in a server/client architecture using RabbitMQ, allowing microservices to be decoupled from the database.
    • Added PostgreSQL full-text search to all API resources in use.
    • Implemented API changes in the back end (Rails), as well as changes to UI in Ember/React for several different features.
    • Made several back-end (Rails) optimizations, including cache and SQL query optimizations in order to reduce load times and timeout errors.
    • Documented API, code behavior and setup, and shared information with teammates to get new developers up to speed.
    Technologies: Ruby on Rails, Ember, React
  • CEO | Full-stack Developer

    2010 - 2017
    Heavenstudio
    • Developed a faceted search application that supports dynamic field indexing using Rails, MongoDB, and Sunspot/Solr.
    • Created a white-label application with a shared database supporting sharing and collaborating data between individual installments using Rails and MongoDB.
    • Built data transfer protocols and a totem application that processed hardware inputs through USB ports for a bike-sharing solution using Ruby.
    • Created a React-based educational application that consumed REST data with Node.js and Webpack for the Brazilian government, and supervised the React Native version for mobile phones.
    • Developed a Ruby on Rails REST API application to be consumed by a React/React Native app.
    • Created a very scalable open-source Rails application for education using caching and optimization techniques adopted by the Brazilian government with widespread usage and high amount of views per month.
    • Built an open-source Ruby gem project to handle payments from PagSeguro with 100% test coverage and documentation.
    • Developed an open-source Ruby on Rails application that recalculates fees and serial numbers for expired Brazilian bill tickets.
    • Built an open-source command-line Ruby gem application that allows the user to download songs from YouTube videos and playlists.
    • Built and was a shareholder of an enterprise solution for tracking working hours of remote workers supporting fingerprint authentication according to Brazilian legislation using Meteor.
    • Created a Ruby on Rails geolocation and routing service that solves the problem of the shortest path given a series of stop-points to be used by garbage collection trucks for industrial waste.
    • Developed the corresponding PhoneGap application with geo-location and routing services to be used by garbage collector truck drivers to follow an optimized route.
    • Contributed to an open source Rails internationalization gem.
    • Contributed to an open source Rails gem WYSIWYG editor implementing different strategies for file uploads.
    • Created an open source Rails engine gem integrating Spree (an open source eCommerce Rails framework) with a Brazilian's courier service called Correios.
    • Developed an open source Rails engine gem integrating Spree (an open source eCommerce Rails framework) with the payment method PagSeguro.
    • Built an open-source Rails LMS adopted by the Brazilan government.
    • Created a Rails LMS B2B application with heavy usage of instructional videos securely stored and with an emphasis on preventing piracy.
    • Developed an open source social network focused on social problems; used Rails.
    • Set up several hosting servers using AWS EC2 and AWS OpsWorks.
    • Implemented a simple continuous delivery solution for a Rails applications into AWS's OpsWorks.
    • Managed the development teams for bigger projects related to the Brazilian government.
    • Consulted on Rails applications for other companies—analyzing the code quality, security, and performance.
    Technologies: Ruby on Rails, MongoDB, PostgreSQL, React, React Native, AWS, PhoneGap, Cordova, Meteor
  • Full-stack Web Developer

    2008 - 2010
    CEATS
    • Created a report application that summarized data and presented it in charts using Rails and Flash.
    • Developed a Rails LMS with a focus on social interactions and video lessons inspired by Orkut.
    • Created a custom Flash video and audio player using Flex.
    • Built Internet Explorer toolbar extensions using C# and .NET.
    • Developed an institutional WordPress website and several custom open-source plugins.
    Technologies: Ruby on Rails, PHP, MySQL, C#, Flash, Flex, .NET, jQuery

Experience

  • Escola Digital (Development)
    http://escoladigital.org.br

    Escola Digital is a search engine for digital learning objects (DLOs). It allows both professors and students to easily find learning materials by selecting its discipline, the recommended year, and several other search options. The engine itself can be easily customizable and allows each installment to create and share content (DLOs) with each other.

    Each installment can also completely customize its layout with a simple-to-use interface, and also to define and to see which content is available.

    This project was adopted by the Brazilian government, and each state has its own custom installation in sharing and collaborating with each other.

    Technology Stack:
    • Rails
    • React
    • MongoDB
    • Sunspot
    • Chef
    • AWS OpsWorks

  • Guia Edutec (Development)
    http://guiaedutec.com.br/

    Guia Edutec is a school/education level analysis web application to aid the Brazilian government in identifying the current issues in the public school system.

    First, the manager of a public school answers a complex survey. After that, several aspects are calculated and a report is generated in PDF format informing the result and suggesting corrective actions. The information is stored in a database and can be searched/filtered by any interested party—allowing the comparison and analysis of school performance in a broad spectrum of information.

    Currently, there are more than 14,000 public schools registered.

    Technology Stack:
    • React with Redux as the front-end libraries
    • Rails with REST API as the back end
    • A simple HTML admin interface that allows CRUD operations on the database

  • Roteirizador CRC (Development)

    Roteirizador CRC is a geolocation and routing service that solves the problem of the minimum path, given a series of stop-points. Besides the web interface—that allows users to create, compare, and correct routes and see them with Google Maps—it also has an Android/iOS app that allows route owners to track mobile phones using GPS and drivers to follow a given route.

    The web application was built with Rails and the Android/iOS versions with PhoneGap

  • Ribibike (Development)

    Ribibike is a shared bicycle project consisting of a web application where users can register and add credits, and several totem stations from where they can rent and return bicycles.

    The web application was built with Rails and has a REST API. The totem applications are plain Ruby command-line applications that receive data from several sensors through USB ports. It also has a simple LED display used for the interface and it allows a user to sign in with a numeric keyboard.

    One of the interesting challenges of this project was configuring the totem machines themselves because they are located in open areas and subject to climate changes, loss of WiFi, and loss of power. So it had to boot/reboot automatically when encountering errors and also restart any services that had errors. It also needed a very robust background job system since internet connectivity could be lost—so that the user wouldn't be charged extra for returning a bike to a station that had lost its connection.

  • Ensino Legal (Development)
    http://ensinolegal.herokuapp.com/

    Ensino Legal is an LMS built with Rails which is focused on video lessons.

    Aside from the interesting payment and subscription rules (where a user can pay for individuals lessons, chapters, or entire courses for a given duration); another robust implementation was its anti-piracy measures—sending the video using an encrypted streaming service which made it difficult to be downloaded easily.

  • Lojas App (Development)

    The Lojas app is an iOS/Android marketplace application. It allows any user to register, buy, and sell products using a simple mobile interface.

    It has a cart/checkout process and integrates with Brazilian payment and delivery services.

    Technology Stack:
    • Meteor
    • Angular
    • Ionic

  • Remote Service Stations | RSS (Development)

    Remote Service Stations (RSS) is a startup that aims to make it easier for companies to hire workers who work remotely in Brazil while abiding by Brazilian law and generating legal documentation with ease. One of the most important aspects is the need to control work hours as well as generating work timesheets in specified file outputs. RSS aims to make the process easier by allowing users to track time from anywhere while allowing companies to view timesheet reports and employee activity.

    The project was done using Node.js/MeteorJS as the core technology for the web application as well as Java for the desktop application which allowed users to track time with fingerprint authentication. The desktop application sent data to the Meteor web app using socket connections in real-time such as screenshots and input data.

  • Red LACTI (Development)
    http://www.ilo.org/wcmsp5/groups/public/---dgreports/---exrel/documents/publication/wcms_409564.pdf

    Red LACTI was a social platform created for Telefonica that allowed users to share knowledge and experiences to help stop child labor in Latin America.

    It borrowed heavily from Facebook's timeline concept, but it applied to a different context and purpose. It allowed interested people from the government and NGOs from several countries to debate with specialists about its social problems and to share solutions.

    It was shut down after two years when Telefonica changed its focus on Latin America from social problems to communication problems.

    Technology Stack:
    • Ruby on Rails

  • Bora Trocar (Development)

    Bora Trocar was a free-trading marketplace web application.

    It allowed users to register any product and trade messages with others to trade their items with theirs. One of its key features was using maps—which calculated the distance between the owner and the interested user—since most trades occurred physically.

    The monetization came from advertisements in order to avoid billing users for usage, however as the revenue wasn't very high the development eventually stalled.

    Technology Stack:
    • Ruby on Rails
    • PostgreSQL's PostGIS for geospatial queries

  • BoCONNECT (Development)
    http://bobags.com.br/

    BoCONNECT was an eCommerce for used luxury bags. It allowed clients to sell their bags to BoCONNECT so that it would be resold to another client later.

    After a few years, it was merged with another project called BoBags that focused on renting used luxury bags and was unified in the same platform.

    BoCONNECT was initially developed with Ruby on Rails and the Spree Rails engine. Several Spree plugins had to be developed to integrate Spree with Brazilian payment and delivery services.

  • Escola Digital LMS (Development)
    http://escoladigital.org.br/ead_rede

    An LMS that was developed specifically for Escola Digital. Its main focus was ease-of-use and interactive media content as well as being easy-to-customize for both its layout and content.

    Since Escola Digital is a white label application, we created each installment to be easily configurable (both its layout and content), and its LMS had to allow the same level of customization while also making it very easy to set up.

    The system allowed users to enroll in different courses from different Escola Digital installments, progress through the interactive lessons, and to finish (receive certificates of completion).

    The user base was registered via an API to connect to Escola Digital, and the certificate used another API to connect to Instituto Singularidades's database.

    Technology Stack:
    • Ruby on Rails

  • TradePEERS (Development)

    The TradePEERS app is a startup project to help managers and CFOs to manage and project gains/losses in projects and proposals. It's used in conjunction with a financial consultancy run by Michael Brown, the owner of TradePEERS. It's still under development as we evaluate the needs and user feedback is received.

    Technology Stack:
    • React, Redux, and GraphQL for the front end
    • Graphcool for the back end as a service (BaaS) in unison with Auth0 for authentication and Node.JS for external services

    This approach greatly reduced the development time: allowing more time to focus on the user interface and feature set.

Skills

  • Languages

    SQL, Haml, JavaScript 6, CSS, CSS3, JavaScript, HTML, Ruby, HTML5, Python, Bash, Sass, Less, Python 3, GraphQL, Lua, C#, PHP 7, Java, C, Elixir, TypeScript 3
  • Frameworks

    Ruby on Rails (RoR), Redux, PhoneGap, Capybara, ASP.NET MVC, React Native, Phoenix
  • Libraries/APIs

    ActiveRecord, Mongoid, jQuery, Ruby on Rails API, Node.js, Redux-saga, React, Auth0 API
  • Tools

    Git, RSpec, Redux Thunk, Lean Testing, Babel, AWS OpsWorks
  • Paradigms

    Responsive Web Design (RWD), Test-driven Development (TDD), Behavior-driven Development (BDD), Object-oriented Programming (OOP), Agile Software Development, Testing, Scrum, Concurrent Programming, Functional Programming
  • Platforms

    Linux, MacOS, Meteor, AWS EC2
  • Other

    APIs, Lean UX, Team Leadership, Product Ownership, User Experience (UX), Spree Commerce, Teamwork, Lean Startups, User Interface (UI), BaaS, WebKit, GitFlow, Writing & Editing, Google Material Design, Certified Scrum Product Owner, Scrum Master, Story Mapping, Lean Development, Ruby Gems
  • Storage

    PostgreSQL, MySQL, Redis, MongoDB, AWS S3

Education

  • Bachelor's degree in Computer Science
    2006 - 2009
    Instituto de Matemática e Estatística da Universidade de São Paulo - São Paulo, Brazil
  • Bachelor's degree in Electrical Engineering
    2004 - 2005
    Escola Politénica da Universidade de São Paulo - São Paulo, Brazil

To view more profiles

Join Toptal
I really like this profile
Share it with others