About this demo
This React demo is inspired by an actual cellphone plan widget I implemented for a client using plain JavaScript.
The widget was designed to simplify choosing the right cellphone plan based on a combination of features such as available data and call minutes, as well as optional special offers.
Working on the original widget was a fun challenge so I decided to re-create a slightly simplified version in React to practice implementing state management, interactivity and accessibility.
Some of its features include:
- Responsive mobile-first layout
- Fully custom CSS
- Screen reader friendly
- Fully keyboard operable
- JSON data source
- React state management with useReducer
- Custom modal popup using createPortal
- Full development history on GitHub