Reimagining B2B Demand Aggregation
Oodlestack is designed to solve the complexity of group buying. It’s not just an e-commerce app; it’s a coordination engine that aggregates demand from multiple buyers to unlock wholesale pricing tiers.
The challenge was building a system that felt like a native mobile app but lived on the web, with real-time updates for inventory and buying cycles.
🏗️ The Architecture: “State-First Engineering”
I migrated the entire codebase from Provider to Riverpod, adopting a functional approach to state management.
1. The Reactive UI
By using HookConsumerWidget, I combined the power of Riverpod’s global state with Flutter Hooks’ local lifecycle management. This resulted in a significantly cleaner UI layer where data fetching, error handling, and animations are handled declaratively.
2. The Backend: Moving Logic to the Metal
Initially, demand aggregation was handled in JavaScript Edge Functions. To improve performance, I moved this logic directly into PostgreSQL functions within Supabase.
- The Result: Data processing happens where the data lives, reducing network round-trips and ensuring atomicity during complex inventory updates.
🛠️ Key Engineering Hurdles
- Google Maps & JS Interop: Implementing location search on Flutter Web required deep-diving into JavaScript Interop. I built a hybrid location service that uses the Google Maps JS SDK on the web (to avoid CORS) and REST APIs on mobile.
- Immutable Data Flow: Leveraging
Freezedfor models ensured that state changes are predictable and bug-free. The entire app follows a strict “Unidirectional Data Flow,” making it highly maintainable as the feature set grows.
🚀 Impact & Features
Today, Oodlestack provides a seamless experience for both community organizers and business buyers:
- Real-time Inventory: Supabase Real-time ensures that when a buyer places an order, the community stock levels update instantly for everyone.
- Demand Visualization: A calendar-based view of buying cycles that dynamically calculates pricing based on total aggregated volume.
- Mobile-First Design: Optimized for field-use by business owners, featuring high-touch targets and smooth
flutter_animatetransitions.