SparFux
Find nearby supermarket deals and plan the shop together.
Anyone trying to save money flicks through several supermarket brochures every week and keeps the shopping list somewhere else. SparFux puts both into one app: users pick nearby stores, swipe or search through current offers, compare prices and share shopping lists. Behind it sits a data system of its own. A Python scraper fleet collects offers from 12 retailer sources, normalises them and assigns product categories with AI, while a Dart API handles users, lists, personalisation and notifications.


Supermarket deals are scattered by retailer, branch and calendar week. Finding one product means opening several apps or brochures, and the shopping list lives somewhere else again. The job was to connect that path end to end: collect local offers reliably, turn inconsistent retailer data into one searchable model and make search fast enough that people actually plan with it. The app had to stay light, and the system behind it had to cope with source pages that change all the time.
Live in the App Store. The Flutter codebase covers iOS and Android. Because offers come from retailer websites, data collection has to be adjusted whenever a source page changes; that is part of ongoing operation.
From retailer page to shared shopping list in one connected system.
The interface is only the final layer. SparFux works because data collection, product logic and the app share one offer model and one operating routine.
Offer data
Retailer-specific collectors schedule branches, normalise changing source data, remove duplicate offers and classify products with image-aware AI.
Product API
A typed Dart service owns users, stores, offer search, ranking, shared-list events, favourites, statistics and push notifications.
App
One Flutter codebase turns the system into swipes, search, maps, price history and shared shopping lists on iOS and Android.
Easy to use, with a serious data system behind it.






Does your product depend on data from many inconsistent sources? Describe your plan and get a first assessment of scope and timeline.

