Time for a long-overdue update on the Fidely Project!
Yeah, this post took a while to come out—writing consistently is still a challenge for me. But hey, I'm trying to stay on track and keep this blog alive for the months ahead.
In this post, I’ll walk you through what I’ve been building lately. Lots of progress, especially on the frontend, but also a good amount of refactoring under the hood.
If this is your first time hearing about Fidely, I recommend checking out the series to understand the context and the problem I'm trying to solve.
What's New?
Right now, I’m mostly focused on the shop owner’s point of view.
Here’s what a shop owner can now do:
✅ Register/Login
✅ Create and manage one or more companies
✅ Set up loyalty campaigns (both points collection and stamps)
✅ Create customer cards
✅ Assign points or stamps to customer cards from the Operator View
✅ View and manage their user profile
All features are working in the app already — still mostly in Italian, but internationalization is on my radar for the next releases!
🔐 Login & Register
Straightforward login and signup flow. Nothing fancy, but it works!
🏠 Home Dashboard
The app now includes a sidebar with different sections (some are still under construction).
Let’s break it down:
- Company Switcher at the top: if the user manages multiple companies, this dropdown lets them switch between them or create a new one.
-
Operatività: this section is all about speed. It’s designed for quick actions like:
- Viewing recent transactions
- Creating a new customer card
- Launching the operator interface for assigning points/stamps
- Attività / Campagne / Carte: classic CRUD sections where shop owners can edit their business info, loyalty campaigns, and customer cards.
Wizard Engine
One of the coolest things I’ve added recently is a custom wizard engine.
I noticed that multiple flows in the app follow a “step-by-step” pattern—like onboarding, campaign setup, card creation, and more.
So instead of repeating the same logic all over, I built a tiny abstract wizard engine. It handles step navigation and state management, so I can reuse it for any future wizard.
First implementation? The card creation flow:
It’s basic but working! And adding new wizards should now take a fraction of the time.
What's Next?
In the upcoming evenings and weekends (aka my dev time), I’ll be working on:
🔧 Completing more wizards (e.g., for campaign creation)
🪲 Fixing annoying bugs
🛠 Starting to polish the operator flow and customer-side logic
🌍 Adding support for multiple languages
That’s all for now! If you're building something similar or have questions about my tech stack or structure, let’s chat!
I'll keep you posted.
Until next time—stay loyal 😄