Check live: https://dev-is.me
- React
- Hooks
- Redux
- Router
- Prop-types
- Styled Components
- React Spring
- Three.js @React-three-fiber
- Formik
- Openpgp
- Google Recaptcha v2
- Google Analytics
- Cloudflare
- Eslint
- Prettier
My component for properly sizing images
Example of use my image component: example
Just set width in % and meta.json and watch the magic!
- image has a correct placeholder - no content reflow
- after mount, correct image size was downloaded
- support for legacy browsers - alt format
- Image component
Optimal way to load fonts
-
Preconnect to the font file origin.
-
Preload the font stylesheet asynchronously with low priority.
-
Asynchronously load the font stylesheet and font file after the content has been rendered with JavaScript.
Checkout: index.html
Optimizing Techniques
- Prevent rerender - gain performance with React.memo().
- Lazy loading - serve once needed avoiding wait time to see content.
- Reduce Media size.
- Install modules instead of global imports - reduce bundle size.
- Alias exports for only used modules. three-exports
Creating backend for contact form
I created the backend using AWS, then tried Google Lambda.
That's not for me as I can't sleep without a ddos cost protection switch.
For now I am using the EmajlJS service.
- Mobile First is great approach
- configure eslint + prettier
- lighthouse is a great tool - i fixed all the problems and learn a lot