Stefano Diem Benatti
User Experience (UX) Developer
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.
Atom, Git, Linux, MacOS
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.
Lead Full-stack Developer
- 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).
Senior Rails Developer
- 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.
CEO | Full-stack Developer
- 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.
Full-stack Web Developer
- 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.
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.
• AWS OpsWorks
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.
• 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
The web application was built with Rails and the Android/iOS versions with PhoneGap
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.
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.
It has a cart/checkout process and integrates with Brazilian payment and delivery services.
Remote Service Stations | RSS
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.
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.
• Ruby on Rails
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.
• Ruby on Rails
• PostgreSQL's PostGIS for geospatial queries
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 LMShttp://escoladigital.org.br/ead_rede
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.
• Ruby on Rails
• 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.
Ruby on Rails (RoR), Redux, PhoneGap, Capybara, Flex, .NET, Ember.js, ASP.NET MVC, React Native, Phoenix
ActiveRecord, Mongoid, jQuery, Ruby on Rails API, Node.js, Redux-Saga, React, Auth0 API
Git, RSpec, Redux Thunk, Lean Testing, Babel, AWS OpsWorks, Atom, Flash
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
Linux, MacOS, Meteor, Amazon EC2, Amazon Web Services (AWS)
APIs, Lean UX, Team Leadership, Product Ownership, User Experience (UX), Spree Commerce, Teamwork, Lean Startups, User Interface (UI), Optimization, BaaS, WebKit, GitFlow, Writing & Editing, Google Material Design, Certified Scrum Product Owner (CSPO), Scrum Master, Story Mapping, Lean Development, Ruby Gems, Cordova
PostgreSQL, MySQL, Redis, MongoDB, Amazon S3 (AWS S3)
Bachelor's Degree in Computer Science
Instituto de Matemática e Estatística da Universidade de São Paulo - São Paulo, Brazil
Bachelor's Degree in Electrical Engineering
Escola Politénica da Universidade de São Paulo - São Paulo, Brazil