# Dev Recipes > Tutorials and best practices for modern Web Development ## Pages - [Privacy Policy](https://devrecipes.net/privacy-policy/) - [About](https://devrecipes.net/about/) - [Contact](https://devrecipes.net/contact-us/) ## Posts - [Quickbase’s Pave: The AI App Generation Tool That Helps You Run Your Operations](https://devrecipes.net/quickbases-pave-the-vibe-coding-tool-built-for-software-that-actually-ships/) - [How to Combine Multiple NPM Scripts into One Interactive Shell Script](https://devrecipes.net/how-to-combine-multiple-npm-scripts-into-one-interactive-shell-script/) - [Warn Users Before Exiting: Handling Unsaved Changes in React](https://devrecipes.net/warn-users-before-exiting-handling-unsaved-changes-in-react/) - [Presenting my latest project - LearnLanguageOnline](https://devrecipes.net/presenting-my-latest-project-learnlanguageonline/) - [Building a Simple Inline Edit Form with React](https://devrecipes.net/building-a-simple-inline-edit-form-with-react/) - [Dockerizing Node.js, Prisma ORM, and Postgres - A Complete Tutorial](https://devrecipes.net/dockerizing-node-prisma-postgres/) - [CSS: How to position last flex element at the end of its container](https://devrecipes.net/how-to-position-last-flex-item-at-the-end-of-its-container/) - [WordPress development - how to sort posts by "Last Modified" date](https://devrecipes.net/wp-development-sort-posts-by-last-modified-date/) - [Expand the clickable area of a button without changing its UI](https://devrecipes.net/expand-clickable-area-with-css/) - [A Developer’s Guide to Improving Largest Contentful Paint(LCP) for better web performance](https://devrecipes.net/a-developers-guide-to-improving-largest-contentful-paintlcp-for-better-web-performance/) - [React - how to manage forms and validation with useReducer](https://devrecipes.net/react-how-to-manage-forms-and-validation-using-usereducer/) - [How to search for a string in a nested array of objects and keep the nested structure](https://devrecipes.net/inline-string-search-in-nested-objects-by-preserving-the-array-structure/) - [When to use type vs. interface in TypeScript?](https://devrecipes.net/type-and-interface-in-typescript/) - [Tabs component with React Hooks](https://devrecipes.net/tabs-component-with-react-hooks/) - [Custom Tooltip component with React and TypeScript (+ Next.js)](https://devrecipes.net/custom-tooltip-component-with-react-typescript/) - [Custom confirm dialog with React Hooks and the Context](https://devrecipes.net/custom-confirm-dialog-with-react-hooks-and-the-context-api/) - [Tailwind vs. Bootstrap - which one to choose for your next project?](https://devrecipes.net/tailwind-vs-bootstrap-which-one-to-choose/) - [Stepper component with React Hooks and Context](https://devrecipes.net/stepper-component-with-react-hooks-and-context/) - [Step progress bar with pure CSS](https://devrecipes.net/step-progres-bar-with-pure-css/) - [How to learn React in 2021](https://devrecipes.net/how-to-learn-react-in-2021/) - [Simple inline editable fields with Vue.js](https://devrecipes.net/simple-inline-editable-fields-in-vue/) - [Micro Frontend architecture - common patterns](https://devrecipes.net/micro-frontend-architecture-common-patterns/) - [Modal component with Next.js - pages router](https://devrecipes.net/modal-component-with-next-js/) - [Modal component with Next.js with close on backdrop click](https://devrecipes.net/modal-component-with-next-js-part-2/) - [Autocomplete component with React and Bootstrap](https://devrecipes.net/typeahead-with-react-hooks-and-bootstrap/) - [React Animations with React Transition Group in practical examples](https://devrecipes.net/animations-with-react-transition-group-in-practical-examples/) - [Simple contact form with Vue and Firebase](https://devrecipes.net/simple-contact-form-with-vue-and-firebase/) - [React vs Vue: The Core Differences](https://devrecipes.net/react-vs-vue-the-core-differences/) - [Styled components - Pros and Cons](https://devrecipes.net/styled-components-pros-and-cons/)