Hello everyone,
Welcome to the first blog article of The 10-Minute Company series! Today, I’m excited to introduce Fidely, a simple digital loyalty app born from a conversation with a friend who owns a shop near my hometown.
He showed me his printed stamp cards—those small cards that reward customers after they make a certain number of purchases. You’ve probably seen these before; they’re a straightforward way to build customer loyalty.
Fidely (a “spaghetti-English” twist on the word “Fidelity”) is essentially a digital version of these loyalty campaigns. It aims to make the process more modern and efficient.
What Does Fidely Do?
Fidely supports two types of loyalty campaigns:
Points Collection: Shop owners can create a catalog where each reward requires a specific number of points to redeem.
Stamp Campaigns: Similar to traditional stamp cards, where customers receive a reward after a set number of purchases.
The system generates a unique virtual card for each customer, which they can use to collect points or stamps. What’s even better? The same card works in any shop using Fidely, creating a seamless loyalty experience.
Why Did I Build This?
I started this project about a month ago, but with limited free time—just a few evenings and weekends. My goal is to provide an easy and affordable tool for shop owners to create customized loyalty campaigns. Beyond that, I hope Fidely fosters a local network of offers, connecting shops and their loyal customers.
With Fidely, shop owners can:
Easily create virtual loyalty cards.
Engage customers through marketing emails or app notifications (future feature).
Build a community of interconnected businesses.
Let’s take a closer look at where I’m at with the app.
The Web App: Current Features
At this super early stage, Fidely is not even yet a proof of concept (PoC). Here’s what it can do so far:
- Shop Owner Features:
- Sign in with a pre-registered account.
- View a basic dashboard with insights and quick links.
- Create virtual cards for customers.
- Launch two types of campaigns: points collection and stamp-based rewards.
- Subscribe customer cards to campaigns.
- Assign points to cards, track progress, and display rewards.
- Customer Features:
- Collect points or stamps on their virtual card.
- Redeem rewards when reaching campaign goals.
Here’s a glimpse of the app in action:
Login Page
Home Dashboard
As you can see, the app is pretty unstyled and basic at this point. Localization is also missing, so enjoy some Italian text sprinkled in. :D
Operator Dashboard
One feature I’m working on is the operator view. This allows shop employees to:
Retrieve customer cards.
Assign points based on the current campaign.
Notify customers when they’ve earned a reward.
Here’s a quick look at the operator’s workflow:
Campaign Builder
Shop owners can currently create stamp campaigns using this interface:
Here, they can:
Name the campaign.
Set the number of stamps required for a reward.
Assign values to stamps for easy tracking.
Define specific rewards for reaching milestones.
My Development Approach
At this early stage, the app feels rough around the edges: bugs, inconsistent layouts, and no styling. But that’s intentional. Here’s how I approach side projects like Fidely:
- Build a Dirty Prototype:
- Focus on selecting the tech stack and setting it up.
- Implement basic features to validate the idea.
This phase helps me:
- See results quickly, keeping motivation high.
- Identify design challenges early.
- Understand which code modules are essential.
- Refactor the Backend:
- Review and clean up the codebase.
- Organize routes and logic.
- Write tests for stability.
- Polish the Frontend:
- Improve UX and layout consistency.
- Refactor the frontend codebase for maintainability.
This incremental approach allows me to shift focus as needed, ensuring progress without getting overwhelmed. The key is identifying the minimal viable features to validate the idea while keeping the project flexible for future iterations.
What’s Next?
Now that the basic functionality is in place, I’ll focus on:
Refactoring and structuring the backend.
Adding test coverage for reliability.
Organizing and improving the user interface.
I’ll share updates as I go, though my free time varies, so posts may be sporadic.
I’d love to hear your thoughts! Have you tackled similar side projects? What development methodologies do you use? Let’s chat in the comments or via email!
Top comments (0)