Hi! I am Rafael! 👋
I build solid, scalable, accessible and responsive digital experiences for the web
About
I am a Senior Software Engineer
...and more!
Experience
Senior Software Engineer · Fullstack Labs 2022 - PresentSenior Software Engineer · Fullstack Labs (2022 - Present)
As a Senior Software Engineer at Fullstack Labs, I am contributing to the development of high-quality web and mobile software products for renowned clients, such as Fueled and Encyclopaedia Britannica.
CTO & Lead Developer · ImaginaKIDS 2017 - 2022CTO & Lead Developer · ImaginaKIDS (2017 - 2022)
ImaginaKIDS is an EdTech startup which provides tools for students to create their own books. Those stories can be distributed as ebooks or can be printed. Our startup has improved the reading and writing skills of 7k+ students and 100+ teachers. More than 150k pages were created using our platform.
Professor, Researcher and Tech Lead · Federal University of Maranhão (UFMA) & Federal Institute of Technology of Maranhão (IFMA) 2006 - 2022Professor, Researcher and Tech Lead · Federal University of Maranhão (UFMA) & Federal Institute of Technology of Maranhão (IFMA) (2006 - 2022)
At UFMA and IFMA I have contributed to the formation of hundreds of students, teaching in undergraduate and post-graduate Computer Science courses, teaching in both basic courses, such as "Algorithms and Data Structures" and "Object Oriented Programming", and also in technical courses, such as "Development of Mobile Applications" and "Distributed Systems". Additionally, I have acted as manager, supervisor, consultant and tech lead on several Research, Development & Innovation software projects, using different technologies.
Web Developer · Federal University of Maranhão (UFMA) 2004 - 2006Web Developer · Federal University of Maranhão (UFMA) (2004 - 2006)
I have worked at the UFMA's Information Technology Center as a Systems Analyst and Web Developer, supporting the university's website and other web systems
Web Developer · Foundation of Research Support of the State of Maranhao - Fapema 2003 - 2005Web Developer · Foundation of Research Support of the State of Maranhao - Fapema (2003 - 2005)
I have worked as a web developer, implementing and maintaining the Fapema's website and a web information management information system
Some Projects
ImaginaKIDS
About
ImaginaKIDS is an iOS application, designed specifically for iPads, used by students to create their own digital books. The stories created using the app can be printed, transforming them to real books. The application allows the students to create multiple books, to set their titles, to include customized characters, scenarios, balloons and text boxes.
Technologies
React Native, Firebase, Native modules (Swift)
ImaginaWeb
About
With the advent of the pandemic, many schools had to stop their activities, making it impossible, for the students, to use the school iPads. A web version of the platform was developed, allowing students to use their personal computers to build their stories. The web version offered the same features as the app version, but with an increased product scalability.
Technologies
React.js, Firebase (Authentication, Database, Storage), Redux, Bootstrap
ImaginaShopping
About
ImaginaShopping is a responsive e-commerce web platform that can be used by students' parents to buy different book packs, apply discount codes and make payments with credit card and Pix (a Brazilian automatic payment method). Books purchased through ImaginaShopping are processed and transferred to partner graphical services for printing and shipping.
Technologies
React.js, Firebase (Authentication, Database, Storage), Cloud Functions, Redux, Bootstrap
SHELDON
About
In order to simplify the process of generating books and sending them to partner graphic services, SHELDON (Sistema de Hospedagem e Exportação de Livros Digitais ONline - Online Digital Books Export and Hosting System) was developed. This is an internal system, used by the ImaginaKIDS operational team, to generate PDF files of the stories and export them to a file server.
Technologies
React.js, Bootstrap, Firebase, Node.js, Express, Socket.IO, BullMQ, Redis
LEONARD
About
After generating the book files in PDF format, the next step involves sending them for printing. To streamline this process, it's essential to export metadata containing comprehensive details about the books. This includes information such as the book titles slated for printing, the desired print quantity, format, paper type, as well as delivery and billing info. LEONARD (Logística Eletrônica para Organização, Navegação, Aprovação, Remessa e Distribuição de livros - Electronic Logistics for Organization, Navigation, Approval, Shipping and Distribution of books) is an internal ImaginaKIDS platform that integrates data coming from some external services (in CSV format) and the book files generated by SHELDON. Following this, LEONARD facilitates the creation of the books metadata in JSON format, organizing and renaming all files before uploading them to the graphical service. So, LEONARD is the perfect company for SHELDON! 😁
Technologies
Python, Django, SQLite, JQuery, Bootstrap
GiTrend
About
GiTrend is a web application that allows to search for trending repositories and users in GitHub. Through this application it is possible to search for trending repositories by text (title, description or readme), and by programming language. It is possible to tag some of the repositories as favorites, or filter only the favorites. A list of trending users is also shown.
Technologies
React.js, Styled Components, Redux, GitHub API
Source code
Modos
About
Modos is an m-learning platform for building and sharing microlearning tracks. Modos is a mobile application that allows teachers to share different types of media with the students (such as images, videos, audios, and text), composing a learning path to be followed by them.
Technologies
Flutter, Firebase
Node.js Express Auth API
About
An open source authentication API that implements a refresh token rotation scheme (based on JWT tokens) and token reuse detection using Node.js, Express, Passport and Typescript. This project has the following functionalities: user registration, sign in/sign out, refresh access tokens, retrieve and update user profiles, admin features (create new accounts, retrieve complete user lists, retrieve and update individual users, delete users), protected routes, and retrieve sample data with pagination. It can be used as an starting point for studying about the authentication process by both frontend and backend developers. All data is stored in a MongoDB database and the token invalidation uses Redis database. Important: the live preview API is hosted on Render, a platform that enforces a 15-minute service interruption. Consequently, accessing the live preview service might involve some waiting time as the service needs to restart during these interruptions.
Technologies
Node.js, Express, Express Validator, Passport, Swagger, MongoDB, Redis, Docker
Source code
Documentation
Web3 Contract Vulnerability Detector API (POC)
About
A simple POC (Proof of Concept) API that uses CLI tools for inspecting and detecting security issues on Web3 Smart Contracts written in Solidity. The API receives a Solidity source code as input and, after running some tools on the received code (currently the Slither and Mythril are used), the API returns the vulnerabilities found by the tools. Since it is just a POC, only two vulnerabilities are supported: Unchecked Call Return Value (SWC-104), and Unprotected SELFDESTRUCT Instruction (SWC-106). This API also includes a suggestions API, that uses OpenAI ChatGPT API to try to find suggestions for improving the security of the input Solidity source codes.
Technologies
Node.js, Express, Swagger, OpenAI ChatGPT API, Docker
Source code
Get in touch
Developed with 💜 by Rafael Fernandes Lopes. © Copyright 2023, All Rights Reserved.