A responsive billing interface featuring dynamic tip calculations ๐งฎ, preset and custom tip percentage inputs โจ๏ธ, real-time bill splitting between multiple people ๐ฅ, and input validation with visual error feedback โจ.
This project was developed as a high-fidelity implementation of a Figma design ๐จ focusing on creating a precise and interactive billing interface across mobile ๐ฑ, tablet ๐ฒ, and desktop ๐ป environments.
Key focus areas included building a flexible CSS Flexbox and Grid architecture ๐๏ธ to manage the calculator's layout, implementing real-time input validation
| State ๐๏ธ | Mobile ๐ฑ | Tablet ๐ฒ | Desktop ๐ป |
|---|---|---|---|
| โจ Default | ![]() |
![]() |
![]() |
| ๐ข Active | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
The challenge was to build out this tip calculator app ๐ธ and get it looking as close to the design as possible, ensuring all mathematical logic was accurate and responsive.
-
๐งฎ Calculate the correct tip and total cost of the bill per person dynamically.
-
๐ฑ View the optimal layout for the app depending on their device's screen size.
-
๐ฑ๏ธ See hover and focus states for all interactive elements on the page.
-
โ ๏ธ Receive visual feedback (error states) when entering invalid data.
-
๐งฎ Real-Time Calculations: Instantly computes tip amount and total cost per person as users input their bill, tip percentage, and number of people.
-
๐๏ธ Flexible Tip Selection: Offers preset tip percentages (5%, 10%, 15%, 25%, 50%) plus a custom input field for any desired amount.
-
๐ซ Input Validation: Displays dynamic error messages for invalid entries, with visual feedback on input fields to guide the user.
-
๐ Responsive Architecture: Employs a mobile.first approach with media queries to create a fluid layout that adapts seamlessly to mobile, tablet, and desktop screens.
-
โจ Polished User Experience: Features smooth hover and focus states across all interactive elements, plus a reset button to clear all fields instantly.
Christian Diaz
- ๐ผ LinkedIn - Christian Diaz
- ๐พ Frontend Mentor - @chrisdzasc
- ๐งฉ Frontend Mentor Solution - ๐ธ Tip Calculator App ๐ฑ| Vanilla JS & Flexbox with CSS Grid ๐งฎ









