LiquidMeister is an iOS app for managing custom e-liquid production. It combines bottle calculation, recipe management, customer records, inventory tracking, and simple business tooling like invoice emails and low-stock reminders.
- Builds bottles from a selected size, customer profile, and recipe.
- Calculates ingredient amounts for nicotine, PG, VG, and flavor concentrates.
- Stores customers, inventory items, bottle sizes, and personal recipes.
- Syncs account data through Firebase Authentication and Realtime Database.
- Sends invoice emails to customers from the device's mail account.
- Schedules local notifications when inventory is low and needs to be reordered.
- Swift 4
- UIKit
- iOS 11.4 deployment target
- Firebase Auth
- Firebase Realtime Database
- CocoaPods
- TextFieldEffects
- BetterSegmentedControl
LiquidMeister v2/Controller: screen controllers for login, home, library, editing, and settings flowsLiquidMeister v2/Data: app models, bottle calculations, managers, and extensionsLiquidMeister v2/View: reusable UI componentsLiquidMeister v2/Presentation: custom slide-in presentation and animation code
- Register or log in with Firebase-backed authentication.
- Maintain library data for customers, ingredients, bottle sizes, and recipes.
- Select a customer, bottle size, and recipe on the home screen.
- Review calculated ingredient amounts before creating a bottle.
- Reduce inventory, save recipes, send an invoice, and receive reorder reminders when stock runs low.
- Xcode with iOS SDK support
- CocoaPods
- A Firebase project with Authentication and Realtime Database enabled
- Clone the repository.
- Install pods:
pod install- Open
LiquidMeister v2.xcworkspacein Xcode. - Provide a valid
GoogleService-Info.plistfor your Firebase project if you are not using the one already configured locally. - Build and run the
LiquidMeister v2target on a simulator or device.
- The app is built on an older UIKit/Swift 4 codebase, so modern Xcode versions may require migration fixes.
- Email invoices depend on
MFMailComposeViewController, which only works when the device is configured to send mail. - Inventory reminders use local notifications and require notification permission from the user.
No license is currently specified for this repository.