AnyLeft
AnyLeft is a Flutter app from 2020 for iOS and Android.
I built it during the COVID-19 lockdown for Spain’s 2020 #comidasolidaria mutual-aid campaign, a community effort to make food, clothes, books, toys, and other essentials easier to find and share.
The UI uses Flutter’s Material design system so the iOS and Android targets share the same component language. Google Maps displays the shared places, while Firebase’s Firestore stores each place and its availability data. Selecting a map marker opens its details screen.





Scroll for more →
Why I built AnyLeft
The app puts the campaign on a shared map. People can see where food, clothes, books, toys, or other essentials are available, open a place to update its availability, or add a new location for the rest of the community.
Why I used Flutter
Flutter let me keep the iOS and Android versions in one codebase. It also provided the Material widgets, Google Maps integration, and Firestore data flow the app needed.
When someone confirms a new place, the app uses the map’s current target coordinate to create the record and open its details. The screen keeps the current availability selections in local StatefulWidget state, while Provider exposes the place model to the map and details flow. After a user makes changes and returns to the map, the model writes the place and its availability fields to a country-scoped Firestore collection. Reports can update or remove records.
Project structure
I split the app into services, a model, screens, and reusable widgets.
Services
Services handle device location and connectivity checks. Shared preferences remember whether the first-use information dialog has already appeared.
Model
The model represents each place and its food, books, toys, clothes, and other availability fields. It also handles Firestore reads and writes.
Screens
The home screen renders the Google Map and its markers. The details screen handles availability and 24/7 status for each place.
Widgets
Reusable widgets cover the add-place, map-type, and locate-me controls, along with markers and alerts.