Name: Rudson Ribeiro Alves (alvesDev67@gmail.com)

Tagline: Rediscovering an old passion for programming – Specialist in Flutter and GoLang.

About Me

  • Introduction: With a degree in Physics and a Master’s in Semiconductors from UNICAMP, I have always harbored a special fascination for developing complex mathematical models to elucidate physical phenomena. My foray into programming began with Fortran 90, and throughout my career as a physics teacher for engineers and computer scientists, I expanded my repertoire to include a wide range of languages. My experiences span from coordinating events focused on Linux systems and their ecosystem—including Bash scripts, programming in Python, C, and C++—to configuring servers, customizing kernels, and developing mobile applications with Flutter/Dart and Go.
  • Experience and Specialization: I work as a Flutter developer, with several apps already published on the Google Play Console, and I am also an instructor for introductory courses in Go, with a long history as a Python programmer.
  • Development Philosophy: Driven by an unwavering passion for programming, I am a self-taught individual committed to code excellence—prioritizing cleanliness, structure, and adherence to recognized development standards. My goal is to create solutions that not only meet current needs but also stand the test of time.

Projects

Manage Your Finances (Finances)

  • Description: Finances is a personal finance management app designed to be both intuitive and effective, making financial control easy and efficient.
  • Technologies Used:
    • Flutter: The foundation for cross-platform development, ensuring consistency and performance across different devices.
    • Firebase Auth and Core: Used for secure authentication and efficient data management.
    • Sqflite: Utilized for local data storage, ensuring a fast and secure operation of the app.
    • Flutter Localization: Enabled to support multilingual access, making the app accessible in 5 languages (pt/pt_BR, en/en_US, it, fr, de).
    • FL Chart: Implemented to create intuitive charts of expenses by category, allowing for simplified financial analysis by the user.
    • Flutter Swiper View: Added to provide elegant and interactive navigation among the expense category icons, enhancing the user experience.
  • Design and Customization:
    • Intuitive Interaction with Dismissible Widgets: Adopted Dismissible widgets on the main screens of the app to allow actions such as editing and removing elements, including transactions, accounts, categories, and imported OFX statements, in an intuitive and efficient manner, enriching the user experience with fluid and practical interactions.
    • Development of custom icons, including logos of companies and financial institutions, for immediate and personalized visual identification within the app.
  • Challenges and Solutions:
    • Implementing a linked list to manage financial entries posed a unique challenge, solved through customized algorithms that allowed efficient date-based search, insertion, and removal of records. This innovative approach prioritized technical challenges over purely performance improvements.
  • Updates and Improvements:
    • In version 1.1, the linked list was replaced with a simpler methodology, using intensive triggers to simplify database maintenance. This strategic change led to a wide range of optimizations, from database restructuring to the refactoring of various code elements, focusing on maintenance and extensibility. Additionally, support for importing OFX files was introduced, significantly expanding the app’s functionality.
  • Visual Resources: We provide screenshots and demonstration videos to offer a practical view of the app’s functionalities and interface at the following links.
  • Project Links:

Manage Your Finances com (finances_com)

  • Description: “Manage Your Finances With” is a special edition of the Finances app, enhanced with advertising functionalities. This project was conceived with the dual objective of providing a sustainable free version of the app and exploring advanced integration with Google AdMob. It was an opportunity to apply, learn, and test the different types of advertising integrations available, thus ensuring a balanced and informative user experience.
  • Technologies Used:
    • Google AdMob: We implemented a variety of advertising formats – including banners, interstitials, and opening app ads – to study their interactions with the user and optimize usability. This integration was carefully designed to harmonize with the user interface, maintaining fluidity and integrity of the user experience while supporting the ongoing development of the app.
  • Design and Implementation Highlights:
    • Balance Between Advertising and Usability: Particular focus was given to balancing advertising display and preserving a positive user experience. Strategies such as intelligent timing of interstitial ads and strategic placement of banners ensure that advertising complements the app’s functionality without interrupting the user flow.
  • Project Link:

LabCalc2

Description: LabCalc2 stands out as an advanced scientific calculator, specially designed to meet the needs of professionals and students in the fields of science and engineering. This tool combines precision and versatility, incorporating cutting-edge mathematical methods for performing calculations with uncertainties, making it an essential resource for any activity requiring rigor and accuracy.

Employed Technologies:

  • Flutter: Chosen to provide an immersive and consistent user experience across multiple platforms, Flutter allows LabCalc2 to operate smoothly on both mobile devices and desktops.
  • Flutter Secure Storage: Ensures the secure storage of sensitive data, safeguarding the privacy and security of user information.
  • Mailto and URL Launcher: Facilitate direct communication with the developer and quick access to the project page, improving support and user interactivity.
  • Technical Innovations:
    • Custom AppInfo Class: An innovative approach was adopted in managing the app’s information by creating a static AppInfo class through a shell script. This class stores crucial data such as the version, name, and description of the app, allowing instant access without reliance on external packages.
  • Integrated Version Management: With AppInfo, LabCalc2 innovates in update monitoring, comparing the locally stored version with the one registered in the database to notify users about news and changes as soon as the app is launched.
  • Challenges and Solutions:
    • MathExpression Class: The need to process mathematical expressions with a custom Measure type for uncertainty calculations presented a complex challenge. The solution involved developing a robust class that supports the overloading of mathematical operators and functions, allowing unparalleled precision in scientific calculations.
  • Visual Resources: Soon, detailed images and videos demonstrating the functionality and user interface of LabCalc2 will be made available, providing potential users with a complete view of the calculator’s capabilities and ease of use.
  • Project Link:

Project Bares

  • Overview: Project Bares is an advanced development exercise focused on applying best practices in scalability, clean programming, and good software engineering practices. Although it does not initially aim for immediate applicability, the project serves as a testing ground to explore and implement cutting-edge technologies in a realistic bar management system context.
  • Main Components:
    • Kitchen and Waitstaff:
      • Objective: Improve communication between customers and the kitchen, optimizing the workflow of the waitstaff.
      • Key Features:
        • Real-time order visualization.
        • Order status marking (e.g., “in preparation,” “ready to serve”).
        • Notifications alerting waitstaff about ready orders.
        • Order history recording for operational analysis and improvements.
    • App for Customers at Tables:
      • Objective: Enrich customers’ experience with efficient and intuitive digital interactions.
      • Key Features:
        • Interactive digital menu.
        • Customizable orders.
        • Integration with payment systems.
        • Space for feedback and service and dish reviews.
    • Server API:
      • Objective: Securely and efficiently connect kitchen and table apps, ensuring data integrity and consistency.
      • Features:
        • Real-time communication via WebSockets.
        • High level of security with authentication and encryption.
        • Scalability to handle different order volumes.
        • Possibility of integration with existing management systems.
  • Additional Improvements and Ideas:
    • Augmented Reality for interactive dish visualization.
    • Personalized dish recommendations using AI.
    • Loyalty program to encourage customer return.
    • Chatbot for immediate assistance with queries and orders.
  • Suggested Technologies:
    • Apps (Kitchen and Table): Flutter, for its efficiency in creating visually appealing and high-performance apps for multiple platforms with a single codebase.
    • API: GoLang, recommended for its superior performance and ease of maintenance, as well as robust solutions for real-time communications and scalability.
  • Project’s First Revision: We focused on simplifying the scope to fit the limitations of a manageable development exercise, concentrating on the Go API and Flutter apps. This approach maintains the essence of the original project, allowing for deep immersion in full-stack development.
  • Simplified Structure:
    • Go API:
      • Efficient order management and communication between apps.
      • Features for registering and updating orders.
      • Status queries for direct integration with the apps.
    • Flutter Apps:
      • Customer App (Table): Interface for viewing the menu, placing orders, and tracking status.
      • Kitchen/Waitstaff App: Tool for viewing and managing orders, updating status, and receiving new order alerts.
  • Detailed Development:
    • Go API: The core of the system, facilitating the creation, update, and query of orders, integrating with a chosen database for efficiency and security.
    • Flutter Apps: Will prioritize responsive and intuitive UI/UX, with an emphasis on fluid integration with the API and effective application state management.
  • Final Considerations: The focus will be on developing a robust MVP, with clear documentation and iterative testing for continuous refinement. This project offers an exceptional opportunity to practice full-stack programming skills, combining Go for backend and Flutter for frontend, in a dynamic and multifaceted development scenario.
  • Technical Achievements of Project Bares: Project Bares achieved one of its main objectives by developing a fully functional Go REST API, which stands out as the core of the bar management system. This API not only facilitates efficient communication between different parts of the system but also integrates seamlessly with Flutter-developed apps, creating a cohesive solution for order management and customer-service interactions.
  • Integration and Testing with Flutter: The integration layer of the API with Flutter was successfully implemented, demonstrating the viability and efficacy of combining these technologies. This integration was validated through detailed unit testing, both in Go and Flutter, as well as full-stack integration tests that ensured system functionality and reliability in real usage scenarios.
  • Current Focus and Next Steps: Currently, the project focus is on designing the graphical interface in Flutter, with potential additions to the Go API as demand arises.
  • Project Link:
    • Bares – Technical text providing project information.
    • GitHub – Project’s GitHub repository.

Technical Skills

  • Programming Languages: Flutter, Go, and Python.
  • Tools and Technologies: Visual Studio Code, GitHub, Blender.
  • Other Skills:

Contact