- break App.tsx into components
- wrap components in React.memo to prevent unnecessary re-renders
- useCallback on handlers for memoized components
- proper testing
- use a proper css library (MUI or tailwind.css)
- add support for mobile
- more visual feedback
- replace override clear button with something less intrusive.