ES Get in touch arrow_forward
apps Switch project expand_more
hub Part of an e-commerce SPL

Hortet Manager

Freelance · e-commerce Flutter 2023 Retired
Hortet Manager seller dashboard showing inventory stock and low-stock alerts
01

The Product

Hortet Manager is the back-office companion app to Hortet, used by the store to manage its catalog, orders, and app configuration in real time.

02

Features

The app mirrors the store's day-to-day operations and gives the shop full control over everything the customer app displays. Its main features include:

Restricted Access

Access is limited to the shop. There is no guest browsing or public sign-up, only the store can sign in and operate the app.

Catalog Management

The shop can create, edit, and remove categories and products. This includes managing each product's details and how it is sold, whether by weight, such as fruit and vegetables priced per kilogram, or by unit, such as bottled water, drinks, and preserved food, keeping the customer catalog accurate and up to date.

Availability Management

The shop can mark products as unavailable so they no longer appear as orderable in the customer app. This keeps the customer catalog consistent and prevents orders that cannot be fulfilled.

Order Management

Incoming orders appear with their full details, including store pickup or delivery, payment method, delivery address, and the name of the person collecting the order. The shop advances each order through its lifecycle, accepted, ready, out for delivery, and delivered, which triggers the progress notifications the customer receives.

Broadcast Notifications

The shop can send push notifications to all users to announce news, promotions, or any other relevant information.

Store Configuration

The shop configures the settings that the customer app reads, including the minimum app version (to require users to update when necessary), discounts and loyalty points, delivery costs with an optional free-delivery threshold, and opening hours that determine the store's status and when orders are processed.

Real-time Multi-device Sync

All changes sync across devices in real time, so the catalog, order states, and configuration stay consistent everywhere the app is used.

03

My Role

As this was a freelance project, I managed the entire product lifecycle.

Requirements Gathering and Definition

Working closely with the client, I documented the store's processes and procedures across every production stage, from stock management to delivering the order to the end customer. With this information in hand, I defined the product scope and the features needed to meet the business's needs, drawing on my experience in user experience and product definition (a discipline grounded in my MSc from the Open University of Catalonia).

Collaboration with UI Designers

In all my freelance projects, collaborating with a designer is a key step in ensuring the app looks polished. I work alongside the designer to safeguard the best possible UX and to make sure the design is led by user experience rather than visual appeal alone, never beauty over functionality.

Development

Once the design was finalized, I moved on to development, applying clean architecture and clean-code practices regardless of platform, language, or framework. This project was built in Flutter; you can find more detail in the technical stack below.

Store Release

After development and testing with the client, using internal testing in Google Play for Android and TestFlight for iOS, I managed the full release process on both Google Play and the App Store, including compliance, privacy, assets, and all other requirements.

04

Technical Stack

FlutterDartFirebase AuthFirebase Realtime DatabaseFirebase StorageFirebase FunctionsFirebase AnalyticsFirebase CrashlyticsDependency InjectionClean ArchitectureMVVMOneSignal