How to Make Your App Look Good When You're Not a Designer
A practical process for developers who need to turn a blank page into a clean, usable interface without regular design support.
Open to Senior Frontend and Full Stack Engineer roles.
I’m João Forja. I turn complex product problems into reliable, intuitive software, combining frontend engineering with product, design, and business judgment from idea to production. Outside work, I train Brazilian jiu-jitsu and surf.
Based in Faro, Portugal. Available for remote opportunities.





Practical notes on React, testing, and software design.
A practical process for developers who need to turn a blank page into a clean, usable interface without regular design support.
It's not always obvious which tests we should be writing for our React components. One way to solve this problem is to use a combination of Input Space Partitioning and Whitebox testing to guide us during the process.
It's not always obvious how to decompose a React component. This article explains a guideline you can use to validate a decomposition.
Learn about: testing, relying on TypeScript to improve correctness, and modeling data-structures while building a multilevel-list React component. In this part, we'll focus on modeling the underlying data structure to support the multilevel-list component.