Omniventus Logo

DynamicDish plugin

Started December 2024
Duration: 5 days
Completed

A WordPress plugin created to help food blogs dynamically calculate recipe ingredient quantities based on serving size. Originally developed for lecarnetdebineta.com, this plugin offers multiple calculation methods, responsive design, and full compatibility with both Gutenberg block editor and Elementor.

Recipe Ingredient Range Calculator Interface

Project Timeline

Started:
December 2024
Completed:
December 2024
Duration:
5 days
Status:
Completed

frontend

ReactSCSSWordPress Block EditorElementor

backend

PHP 7.4+WordPress Plugin API

devops

DockernpmwebpackCursor AI

Key Features

Dynamic Calculation

Adjusts ingredient quantities in real-time based on serving size changes

Multiple Calculation Methods

Supports linear, exponential, and custom formula calculations for different ingredient types

Dual Editor Support

Works seamlessly with both Gutenberg block editor and Elementor page builder

Interactive UI

Responsive design with ingredient cards, images, and intuitive serving controls

Challenges & Solutions

Challenges

  • 1Creating a calculation system that handles different scaling methods for various ingredient types
  • 2Ensuring compatibility between Gutenberg and Elementor implementations
  • 3Managing responsive design for ingredient cards across different device sizes
  • 4Implementing proper data storage and retrieval in WordPress

Solutions

  • 1Developed a flexible calculation engine supporting linear, exponential, and custom formulas
  • 2Created separate but consistent implementations for both Gutenberg and Elementor
  • 3Implemented responsive CSS with proper breakpoints and image handling
  • 4Utilized WordPress block attributes and meta storage for data persistence

Impact & Metrics

10,000+
Active Users
6.0+
WordPress Version
7.4+
PHP Version
English, French
Languages
500+
recipes

Screenshots

customise any part

Elementor Widget Interface

Change any part

Add any element in the wordpress plugin

Add element