Saltar para o conteúdo
Fullstack Developer

João
Bernardo

Fullstack developer from Ribeirão Preto, Brazil. I build APIs, interfaces, and sometimes games.

React · Node.js · TypeScript · Java · Python · AWS

4+
Anos de experiência
4
Empresas
42
Repos no GitHub

About Me

I'm a fullstack developer with 4 years of experience building web applications that make a difference. I've worked at marketing (Authorify, US), B2B e-commerce (Take), and fintech (Verzel) companies. My journey started with curiosity — taking things apart to understand how they work — and evolved into a passion for creating complete solutions, from backend to the final pixel.

I believe good software is invisible: it loads fast, is intuitive, and accessible to everyone. Every line of code I write has a purpose — solving a real problem, not impressing with unnecessary complexity.

My approach combines fullstack vision with attention to detail. I work with React on the frontend and Java/Python/NestJS on the backend, deploying to the cloud with AWS and Docker. Outside of code, I co-founded RP.js — a JavaScript community in Ribeirão Preto — and developed Ribeirão Noir, an investigative game launched at the Book Fair and validated by 3 PhD academics.

Journey

  1. 2025

    Full Stack Developer @ Verzel

    RESTful APIs in Python, Java (Spring Boot), and NestJS for card, helpdesk, and CRM systems. RPA automation with Playwright. React interfaces with Vite.

    PythonJavaNestJSReactOracle
  2. 2025

    Ribeirão Noir — Educational Game

    Investigative game developed solo with Godot Engine. Launched at the 24th International Book Fair, available on Google Play and itch.io. Used as case study for FATEC thesis.

    Godot 4GDScript
  3. 2024

    Co-founder RP.js

    JavaScript community of Ribeirão Preto. Organizing meetups, workshops, and events to connect developers in the region.

    JavaScriptCommunity
  4. 2023

    Full Stack Developer @ Take

    Microservices for B2B e-commerce with React, Spring Boot, and AWS. Query optimization with 60% performance improvement. Junior dev mentoring and code reviews.

    ReactJavaAWSRabbitMQCypress
  5. 2022

    Full Stack Developer @ Authorify

    Scalable services with NestJS, React, and MongoDB for real estate marketing (US). Legacy React code refactoring (+30% performance). Test coverage >85%.

    NestJSReactMongoDBJestCypress
  6. 2021

    Full Stack Developer Trainee @ Target Sistemas

    Enterprise system with Kanban, route tracking (Google Maps API), and automated PDF/Excel reports. Angular interfaces with RxJS. Adobe XD plugin. Flutter mobile app.

    AngularTypeScriptFlutterExpress

Projects

Ribeirão Noir

2025 Godot 4GDScriptSOLIDDesign Patterns

Noir investigative game set in 1950s Ribeirão Preto, Brazil. Starring Dandara, a Black investigator facing sexism and racism. Solo development in 6 months with Godot 4, SOLID architecture and automated tests. Launched at the 24th Book Fair and validated by 3 PhD academics.

Case Study

Problem

The original tabletop game (Curupira Education) about the history and heritage of Ribeirão Preto needed a free, accessible digital adaptation. Funded by the Paulo Gustavo Law, the challenge was delivering a complete narrative RPG as a solo developer in 6 months.

Technical Decision

Godot 4.4 with GDScript, SOLID principles and Singleton/Observer/Composition patterns. Branching narrative with 3 professions, 4 stances, and 11 real historical landmarks. Probabilistic dice system with HP. Automated testing with Godot's framework. Cross-platform: web and Android. Solo development in 6 months.

Result

Launched at the 24th International Book Fair. Validated by 3 PhD academics (USP, UFTM, Metodista). Press coverage (Portal Zumm, Revide). Pedagogical material published in public domain. Available for free on Google Play and itch.io. Used as case study for FATEC thesis.

RP.js — JavaScript Community

2024 AstroJavaScript

JavaScript community of Ribeirão Preto, co-founded by me. Organizing meetups, workshops, and events to connect developers in the region. Website built with Astro.

Case Study

Problem

Ribeirão Preto lacked an organized JavaScript community. Regional developers were isolated, without a space for networking and knowledge sharing.

Technical Decision

Co-found RP.js with regular meetups and workshops. Website built with Astro — lightweight and fast. Focus on creating an inclusive, accessible space for all skill levels.

Result

Active community with regular meetups. Networking among Ribeirão Preto developers. Workshops on React, Node.js, and modern tools.

Personal Portfolio

2025 AstroPreactTypeScriptTailwind CSS

This portfolio — built with Astro, Preact, and Tailwind CSS 4. Zero JS by default with Preact islands. Dark/light mode as two visual personalities.

Case Study

Problem

Needed a portfolio that shows who I am without looking generic. SPA frameworks are overkill for essentially static content.

Technical Decision

Astro for zero JS by default + Preact islands only where needed. Tailwind CSS 4 with design tokens. Content Collections for data. Smooth dark/light theme transitions.

Result

Minimal JS bundle. Lighthouse 100 across all metrics. Build under 4s. Dark/light mode with zero flicker. WCAG AA accessibility.

Say hello.

Open to conversations, opportunities, and ideas.