📱
BlueArc Apps Documentation

Cakepan Scale Documentation

📅 May 23, 2026
🔄 Updated May 23, 2026
⏱️ 7 min read

CakePan Scale – System Architecture & Technical Documentation

This documentation provides a comprehensive and technical overview of the architecture, functionalities, and internal mechanisms of the Flutter app CakePan Scale.

1. Executive Summary

CakePan Scale is a highly developed, professional baking utility app designed specifically for bakers and pastry chefs. Its primary purpose is the intelligent conversion of recipe quantities for different baking pan sizes as well as scaling based on available individual ingredients.

The core promise of the app is to maintain the exact proportions of a recipe while adapting it to a new volume. The app also offers an offline recipe library with 30 built-in recipes, a PDF export for scaled recipes, and a keep-screen-on feature for kitchen use.

2. Architecture & Tech Stack

The application is built on a pure offline-first architecture, guaranteeing maximum performance, data privacy, and reliability.

2.1. Core Technologies

  • Framework: Flutter (SDK >=3.0.0 <4.0.0)
  • State Management: provider (MultiProvider approach at the app level)
  • Local Persistence: shared_preferences (for settings, saved pans, premium status, and rewarded unlocks)
  • Localization: intl with support for English (en), German (de), French (fr), and Spanish (es).

[SCREENSHOT-PLATZHALTER: Insert relevant screenshot for the above feature/step here.]

2.2. Key Dependencies

  • Monetization: google_mobile_ads (Banner & Rewarded) and in_app_purchase (Lifetime Premium).
  • PDF Generation: pdf and path_provider for creating formatted recipe exports.
  • Hardware Access: wakelock_plus (prevent display timeout) and image_picker (custom recipe images).

[SCREENSHOT-PLATZHALTER: Insert relevant screenshot for the above feature/step here.]

2.3. Provider Structure

The app state is strictly encapsulated via Providers:
  • PanProvider: Manages the currently selected source and target baking pan.
  • IngredientProvider: Contains the logic for converting ingredients (applying the scaling factor).
  • SettingsProvider: Controls theme (Light/Dark), haptic feedback, wakelock, and the Premium Status.
  • SavedPansProvider: Handles user-defined baking pans (CRUD).
  • RewardedUnlockProvider: Controls the temporary unlocking of premium features by watching video ads.
  • RecipeProvider: Manages built-in as well as user-created recipes.

---

[SCREENSHOT-PLATZHALTER: Insert relevant screenshot for the above feature/step here.]

3. Detailed Feature Guide

3.1. Volume Calculation & Scaling Logic (VolumeCalculator)

The heart of the app is the VolumeCalculator class. It precisely calculates the volume for various geometric shapes:
  • Round: $V = \pi \cdot r^2 \cdot h$
  • Rectangular: $V = l \cdot b \cdot h$
  • Square: $V = a^2 \cdot h$
  • Bundt: $V = (\pi \cdot R_{outer}^2 - \pi \cdot R_{inner}^2) \cdot h$
  • Loaf: $V = l \cdot b \cdot h$

The scaling factor is calculated as Target Volume / Source Volume. Safety feature: The app calculates an Overflow Risk. If the scaling factor exceeds a threshold (default: 1.15, i.e., +15% volume), the app warns the user about the dough potentially overflowing during baking.

[SCREENSHOT-PLATZHALTER: Insert relevant screenshot for the above feature/step here.]

3.2. Two Scaling Modes

1. Scale by Pan Size: The user selects the pan from the recipe (e.g., 20cm round) and their own pan at home (e.g., 24cm round). All ingredients are scaled proportionally. 2. Scale by Available Ingredient: The user specifies that they only have, for example, 2 eggs left (instead of the 3 required by the recipe) or only 150g flour (instead of 250g). The app calculates the maximum possible scaling factor for the entire recipe based on the limit of this specific ingredient ("Limiting Ingredient").

[SCREENSHOT-PLATZHALTER: Insert relevant screenshot for the above feature/step here.]

3.3. Built-in Recipe Library (RecipeLibrary)

The app comes with 30 professional standard recipes ("Built-in Recipes"), including:
  • Cakes (Chocolate Cake, Carrot Cake, Red Velvet, etc.)
  • Brownies & Bars (Blondies, Lemon Bars, Cheesecake Bars)
  • Cookies, Breads, and Pastries
These serve as quick templates for custom scaling and can be loaded as base recipes.

[SCREENSHOT-PLATZHALTER: Insert relevant screenshot for the above feature/step here.]

3.4. Kitchen Mode (Wakelock)

Via the SettingsProvider, the keepScreenOn option (using wakelock_plus) can be enabled. This is essential in the kitchen to prevent the display from going into sleep mode while baking.

---

[SCREENSHOT-PLATZHALTER: Insert relevant screenshot for the above feature/step here.]

4. Monetization & Premium Model

CakePan Scale utilizes a hybrid monetization model:

4.1. In-App Purchase (IAP)

  • One-time in-app purchase under the product ID premium_lifetime.
  • Premium Benefits: Ad-Free, saving unlimited custom baking pans (Saved Pans), PDF export of scaled recipes.

[SCREENSHOT-PLATZHALTER: Insert relevant screenshot for the above feature/step here.]

4.2. AdMob (Google Mobile Ads)

  • Banner Ads: Displayed at the bottom of the screen on screens like the Home screen (BannerAdWidget).
  • Rewarded Video Unlocks (RewardedUnlockProvider): Users who do not wish to purchase Premium can temporarily (e.g., for 24 hours) or for a single use unlock a premium feature (such as PDF export) by watching a rewarded video.

---

[SCREENSHOT-PLATZHALTER: Insert relevant screenshot for the above feature/step here.]

5. Privacy & Security

CakePan Scale is strictly developed following the Privacy-by-Design principle:

  • No Server Connection: All calculations and data storage (such as custom recipes and custom pans) occur locally on the device (On-Device via SharedPreferences).
  • No User Tracking: No analytics tools like Firebase Analytics are used. The only external connection goes to Google AdMob for ad delivery (only for non-premium users).
  • Permissions: The app only requests permissions that are strictly necessary, e.g., local storage access (for PDF exports) and possibly the photo library if recipe images (image_picker) are assigned.

These aspects ensure quick review times in app stores, as the app meets the highest privacy standards.

---

6. User Instructions

Step 1: Select Scaling Mode

Tap on "Convert Recipe" on the home screen. Choose whether you want to scale by Pan Size or by Available Ingredient.

[SCREENSHOT-PLATZHALTER: Insert relevant screenshot for the above feature/step here.]

Step 2: Define Pans (only for Pan Size scaling)

Select your source pan (the pan in the recipe) on the left and your target pan (the pan you want to use) on the right. Enter the shape, diameter/lengths, and optionally the height.

[SCREENSHOT-PLATZHALTER: Insert relevant screenshot for the above feature/step here.]

Step 3: Define Recipe Contents

Either select a recipe from the library ("Load from Library") or enter the ingredients (name, quantity, unit) manually.

[SCREENSHOT-PLATZHALTER: Insert relevant screenshot for the above feature/step here.]

Step 4: View Result & Bake

The calculated result is displayed in a tabular format (Original vs. Scaled). Pay attention to any overflow warnings. The percentage shows exactly by how much the recipe has been increased or decreased.

[SCREENSHOT-PLATZHALTER: Insert relevant screenshot for the above feature/step here.]

Step 5: PDF Export (Premium Users)

Tap on the PDF icon in the top right to save or print the newly scaled recipe as a clean document, including recipe notes and pan comparisons.

[SCREENSHOT-PLATZHALTER: Insert relevant screenshot for the above feature/step here.]