My School Fund: Proud to See the Positive Impact of Our Project in Empowering Education

There are moments in your career that remind you why you do what you do. For me, seeing the impact of My School Fund (My School fund – Leading a High-Stakes Project on a Tight Budget and Timeline)—a project I had the privilege of leading the team—has been one of those moments. Leading the engineering team behind My School Fund was one of the most challenging yet rewarding experiences of my career. It wasn’t just another project—it was a mission to support schools and families by turning everyday spending into meaningful rewards. But knowing that this initiative is making a tangible difference in our community, especially in our schools, fills me with immense pride and satisfaction.

Https://www.myschoolfund.org

Since launching in 2021, My School Fund has given over £100,000 in rewards to schools! That’s real money going directly to support education, resources, and opportunities for students.

But it’s not just schools benefiting—over £200,000 in cashback rewards has been given to individuals who signed up for the scheme. Just by shopping at participating retailers, parents and carers are saving money for themselves while also supporting their children’s schools. These numbers aren’t just statistics; they represent the collective effort of parents, schools, and our team to create a positive impact. Every pound earned through My School Fund is a step toward a brighter future for our children and our community.

None of this would have been possible without the incredible team behind My School Fund. From the engineers who built the platform to the stakeholders who supported its rollout, every individual played a crucial role in bringing this vision to life. The trust, collaboration, and dedication of the team were the driving forces behind the project’s success.

If you haven’t already, I encourage you to join My School Fund. Whether you’re a parent or a school, your participation can make a difference. Let’s keep the momentum going and continue to invest in education—one purchase at a time.

Https://www.myschoolfund.org

Do You Always Need to Use the Latest Technology?

Technology evolves rapidly, and there’s always something new on the horizon—whether it’s the latest programming framework, cloud service, or infrastructure upgrade. While adopting modern solutions can be beneficial, the reality is that newer doesn’t always mean better for every situation.

Take Ferrari, for example. It’s one of the best cars in the world, but is it the right choice for a school run? Probably not. A more practical car would get the job done with less hassle, cost, and maintenance. The same logic applies to technology: just because something is new and advanced doesn’t mean you need it.

I have often experienced scenarios where using the latest technology might not be the best choice. A lot of companies subscribe to a lot of technology that they don’t need and waste valuable money.

Overengineering with the Latest Programming Techniques

Imagine you’re building a simple to-do list application. You could use the latest programming frameworks, microservices architecture, and AI-powered features to predict tasks. But is all that necessary? For a basic to-do app, a straightforward monolithic architecture with a simple front-end and back-end would suffice. Overengineering with advanced techniques not only increases development time but also adds unnecessary complexity and cost.

If you’re building a simple company website or blog, plain HTML, CSS, and JavaScript (or even a CMS like WordPress) can be more efficient. Using heavy frameworks adds complexity, increases load time, and requires ongoing maintenance for security updates.

I believe in giving time to the new technology to mature before I start implementing it in projects. When KnockoutJS came to the market with a lot of hype, we used it in our projects. Within a few years, the popularity of the KnockoutJS went down, and I found it challenging to find the experts to support those projects.

Cloud Services: When Simplicity Wins

Cloud computing has revolutionized how we build and deploy applications, but not every project requires the latest cloud services. For instance, if you’re running a small blog or a personal portfolio website, you don’t need a high-availability, multi-region cloud setup with auto-scaling and serverless functions. A basic shared hosting plan or a simple virtual private server (VPS) would work just fine.

Serverless computing (like AWS Lambda, Azure Functions) is a great innovation, but is it necessary for every application? If you have a small internal tool that runs reliably on a virtual machine or traditional hosting, switching to serverless can introduce unnecessary costs and complexity. Serverless makes sense for highly variable workloads, but if your system has steady traffic, traditional hosting might be more cost-effective. A simple VM-based or containerized deployment could work just as well. And you can host many tools in one VM.

Kubernetes is the gold standard for container orchestration, but do you really need it for a small business application with just a few users? If you use Kubernetes for small apps, you will require DevOps expertise and additional costs for managing nodes and networking, which is unnecessary complexity when a more straightforward solution would suffice. If your application runs on a single server or has a few containers, a managed container service like AWS ECS or Docker Compose could be simpler and more cost-effective.

Some businesses rush into a multi-cloud strategy, believing it provides better reliability and cost savings. However, managing multiple cloud providers can increase complexity and costs without providing real benefits. If your workload is stable and fits within one cloud provider, it’s often more straightforward and more efficient to optimize for that platform instead of spreading across multiple providers. Multi-cloud is useful when business continuity, compliance, or specific services require it, but not just because it’s trendy.

Databases: Not Every App Needs Big Data

When building an application, it’s tempting to use the latest database technologies like distributed NoSQL databases or real-time analytics engines. However, for many use cases, a traditional relational database like MySQL or PostgreSQL is more than adequate. These databases are reliable, well-documented, and easier to manage for smaller-scale applications. A local library management system doesn’t need a distributed database like Cassandra. A simple SQL database will handle the data efficiently and cost-effectively.

Mobile Apps: Native vs. Cross-Platform

While native mobile app development offers the best performance and access to device-specific features, it’s not always necessary. For many applications, cross-platform frameworks like Flutter or React Native can deliver a great user experience without the need to maintain separate codebases for iOS and Android. However, a small business app for tracking inventory doesn’t need the performance optimization of native development. A cross-platform solution can save time and resources while still meeting the business’s needs.

AI and Machine Learning: Not Every Problem Requires a Smart Solution

Artificial intelligence and machine learning are powerful tools, but they’re not always the right solution. For example, if you’re building a basic chatbot for customer support, a rule-based system might be more than enough. Implementing a full-scale natural language processing (NLP) model would be overkill and could lead to unnecessary costs and complexity. A simple FAQ-based chatbot using predefined responses is often sufficient for small businesses, rather than deploying a complex AI-driven conversational agent.

I am not against the new technology, but I am against the hype. The key to effective technology use is understanding the problem you’re trying to solve and choosing the right tools for the job. Just as you wouldn’t use a Ferrari for a school run, you don’t always need the latest and greatest tech for every application. By focusing on simplicity, cost-effectiveness, and practicality, you can build solutions that are efficient, maintainable, and fit for purpose.

Crypto – Is It Worth Investing?

Cryptocurrency has taken the world by storm, and it’s hard to ignore the buzz around it. Social media is flooded with reels, ads, and influencers urging you to invest in the next big crypto opportunity. But is it worth it? From my experience, the answer isn’t straightforward. While crypto can be a lucrative investment, it’s also a space filled with risks, scams, and volatility.

(I am not sure why most of the crypto articles show a picture of Bitcoin. But I chose a different one :-))

Risks of Crypto

Cryptocurrency has become a global phenomenon, offering the potential for high returns. However, it’s also a breeding ground for scams and speculative investments. In 2022 alone, the crypto market saw significant turbulence, with Bitcoin losing over 65% of its value and Ethereum dropping by 67% from its all-time high. These statistics highlight the extreme volatility of the market, even for mainstream cryptocurrencies. With the expectation of Bitcoin reaching 100K in the next bull run or during the next Bitcoin halving, it is not easy to be convinced to invest in crypto.

And the risks don’t stop there. Social media platforms are rife with fraudulent schemes. Scammers often promote fake coins or “pump-and-dump” schemes, where they artificially inflate the price of a coin before selling off their holdings, leaving unsuspecting investors with worthless assets. According to a 2022 report by Chainalysis, $3.8 billion was lost to crypto scams during the year, with meme coins and new tokens being a major target.

Stick to Mainstream Cryptocurrencies

From my experience, if you’re considering investing in crypto and do not have much experience in crypto, it’s best to focus on established, mainstream cryptocurrencies like Bitcoin (BTC) and Ethereum (ETH). These coins have a proven track record, strong community support, and real-world utility. While they are still volatile, they are less likely to disappear overnight compared to newer, untested coins.

In 2022, Bitcoin and Ethereum remained the top two cryptocurrencies by market capitalization, accounting for over 60% of the total crypto market. This dominance reflects their resilience and widespread adoption, making them relatively safer bets in the unpredictable crypto landscape.


The Danger of Meme Coins

Meme coins like Dogecoin and Shiba Inu have gained popularity, often driven by social media hype and celebrity endorsements. While some investors have made significant profits from these coins, most of the Meme coins are extremely risky. In 2022, hundreds of new meme coins were launched every day, but most of them lost their value within days or even hours.

For example, the meme coin market saw a 90% drop in value from its peak in 2021 to the end of 2022. Many of these coins were created purely for speculation, with no real utility or long-term vision. Investing in meme coins is akin to gambling, and it’s crucial to approach them with caution.

How to Stay Safe in the Crypto World

Do Your Research: Before investing in any cryptocurrency, take the time to understand its technology, use case, and team behind it. Avoid coins that promise unrealistic returns or lack transparency.

Beware of Social Media Hype: Don’t fall for flashy ads or influencers promoting “the next big thing.” Scammers often use social media to lure inexperienced investors into fraudulent schemes.

Diversify Your Portfolio: If you decide to invest in crypto, don’t put all your money into one coin. Diversify your investments across mainstream cryptocurrencies to reduce risk.

Use Reputable Platforms: Only buy and trade cryptocurrencies on well-established, secure platforms. Avoid unknown exchanges or wallets that could be scams.

Invest Only What You Can Afford to Lose: Crypto is highly volatile, and prices can swing dramatically in a short period. Never invest money you can’t afford to lose.

Don’t be greedy: Don’t be greedy and take out profit time to time. When you are in profit, at least try to take out the initial investment to be on the safe side.


Is Crypto Worth Investing In?

The answer depends on your risk tolerance and investment goals. If you’re willing to take on the risks and do your homework, crypto can be a part of a diversified investment portfolio. However, it’s essential to stay cautious and avoid falling for scams or speculative investments. The ideal time to invest is when the crypto market is down and everyone thinks it will not recover. In my opinion, crypto will remain, but you need to be wise enough to choose the one that has real-time use and a big ecosystem.

In 2022, the crypto market taught us valuable lessons about the importance of due diligence and the dangers of hype. While mainstream cryptocurrencies like Bitcoin and Ethereum remain relatively stable, meme coins and new tokens are a minefield. By staying informed and vigilant, you can navigate the crypto world safely and make smarter investment decisions.

Experience of over a million pound project that never went live.

As a tech professional, you complete many projects in your career, and some projects leave a lasting impact for some strange and unique reasons. In my career, I have had experience with a project like this, which was a massive project for a blue-chip client. This project despite years of effort and significant investment, never saw the light of day.

The Idea of a Platform to Revolutionize Dealership Incentive and reward Process

The project was for one of our big blue-chip clients, a well-known name car manufacturing company with hundreds of dealerships across the country.

They needed to build a platform that would connect their dealerships with product information, training materials, incentives, and rewards. The goal was to make things easier for the dealers, help them learn more, and motivate them to sell more. It was a big, exciting project, and we were thrilled to be part of it.

The Development Phase: Ten Months of Hard Work

Our team worked hard for eight months from the vision to build the platform. We made sure it had everything the client wanted. It was designed to be easy to use and packed with features to help dealerships work better. Both our management and development team worked really hard to ensure that every feature met our client’s requirements. The function design covered all the functionalities that could empower dealerships to operate more efficiently, connect to each other, share knowledge and get rewards for their sales. From product selection for rewards to training modules, tracking mechanisms, and reward systems, we completed building the solution within a year of time.

The First Hurdle: IT Restrictions and Access Issues

As we approached the testing phase, we hit the first significant problem. The client’s IT team had very strict rules about who could access their network and hosting environment. For example, setting up a test environment took several months, far longer than anticipated, as we had very limited input in the process. Once the servers were ready, the most frustrating challenge was getting a daily token to access the server where we were supposed to host the staging version of the platform. Every morning, we had to put in a request to their IT team for access to the servers, and by the time it was granted, half the day was already gone. As they did not have any automated process to raise a ticket, we had to email a shared email address to get a token. This delay slowed down our process dramatically and tested our patience. We suggested setting up a staging environment in our infrastructure that could speed up the process, but the client wanted to host everything within their servers. In the end, it took over 6 months to complete the staging part.

Staging to Live: More Restrictions, More Delays

After overcoming many many challenges, we finally completed the user acceptance testing in their staging environment. And we were ready to set up the live environment. However, this process brought even more restrictions. The client’s IT team had additional security procedures that further delayed the access to the live environment. What should have been a simple and quick process turned into a months-long struggle. After several months of meetings and discussions, we finally got access to the live servers, and we started setting up the platform. Even though we had the same difficulties of getting server access permission every day, we managed to set up everything as quickly as we could.

The Final Blow: A Corporate Move and Changing Priorities

Just as we were planning and getting ready to launch the platform, the client dropped a bombshell: their headquarters was relocating to a new location. The live environment was within a data centre of our client’s headquarters, and the moving of the headquarters meant that the launch had to be postponed. The client’s IT team had to work with the logistics of the move, prioritising their core platforms to remain operational during the transition. Even though it was initially expected to be completed within 6-8 months, it stretched into more than two years. During these 2 years, the project was updated many times to accommodate some new requirements and went through a few other changes.

The Cost of Delay: Over Half a Million Pounds and Counting

By this point, the development cost of the project had already reached over half a million pounds. On top of that, our company was paid over another quarter million pounds to manage and maintain the platform during the two-year delay. A third-party company was also involved in supplying physical pre-paid master cards that were branded for our client. We ended up with hundreds of Mastercards with our client logo on them but could not use them for anything else. It was a tremendous amount of money, and the platform, which could have helped the client so much, was sitting there, unused.

The End of the Road: A Change in Leadership and a Scrapped Project

After nearly four years(1 year of development, 1 year of modification, testing and setting up a live environment and 2 years of hibernation with some modification), the client underwent a change in leadership. The project’s cost was over a million pounds by that time. The new stakeholders, who had not been involved in the project’s development, took another 6 months to review the platform and decided that it no longer aligned with their vision. Even though the product was fully developed and ready to launch, the project was scrapped. The decision to scrap the project was very hard to digest for us. After five years of hard work, countless challenges, and a significant financial investment, the project was finally thrown to the bin without ever going live.

Lessons Learned and Lingering Questions

This unusual experience taught me some important lessons. A fully built, working platform that was thrown away after nearly five years showed me how crucial it is to have clear goals and the ability to adapt when things don’t go as planned. The final decision left me feeling disappointed as I believed the project had a lot of potential that was wasted. I could not understand how a company could spend so much money and time on something and walk away without getting anything out of it. And it also made me wonder how big companies could afford to spend so much without making sure the project would actually be useful in the end.

Even though the platform never went live, I hope the lessons I learned will help me in future projects. After all, even failed projects can teach us something valuable. As for the client, I can only hope they find some way to use the product, even if it’s for something different than originally planned.

The Disappointing End of the Choice Platform: A Journey of Passion, Success, and Letting Go

In November 2018, we launched GiftChoice, the first product in what we envisioned as the Choice Platform—a revolutionary gift card concept(Introducing GiftChoice for Ultimate Gift Card Experience – A Product I am Proud to Lead), ). Over the next 18 months, we introduced StyleChoice, SocialChoice, GroceryChoice, and FitnessChoice, making Choice one of the market-leading gift card brands in the UK.(Choice is now one of the most popular brand in the UK Gift card market: New Challenges with the Platform)

Our products were widely recognized, and we had built a loyal customer base. The platform was not just a business—it was a testament to our team’s hard work, creativity, and dedication. In 2020, we began receiving interest from various parties looking to acquire the Choice Platform. It was a testament to our success, but it also marked the beginning of a difficult chapter. For reasons that were never fully clear to me, our CEO decided to sell the business.

By the end of 2020, Blackhawk Network acquired the Choice products.

Mixed Feelings About the Sale

On paper, this should have been a great moment. The sale meant success, and I was even offered a bonus for my contributions. But deep inside, I wasn’t entirely happy.

When we started Choice, the goal was long-term growth—a roadmap filled with exciting new products. So, knowing that the brand would continue under new ownership was somewhat reassuring. Plus, my team and I were contracted to manage and support the platform for three more years.

It felt like a win-win. Or so I thought.

The Shocking End

Just a year later, at the beginning of 2022, we received some unexpected and heartbreaking news—Blackhawk decided to shut down the Choice Platform completely.

Why? Because they had their own branded gift card that competed directly with Choice, and they didn’t want to keep both running.

And just like that, Choice was gone.

What It Felt Like

For my team and me, this was more than just a business decision. From its launch in 2018 to its peak as a market leader, it represented the best of what we could achieve as a team. Its sale and eventual closure were a reminder that not all stories have happy endings, but every experience shapes us in profound ways. It felt like watching something we built with so much passion disappear overnight.

We had spent years perfecting the platform, overcoming technical challenges, and working relentlessly to make it a success. And now, instead of expanding and growing, it was being wiped out.

But in business, as in life, not everything goes the way you hope. As I look back, I’m proud of what we accomplished. And who knows? The next big idea might be just around the corner.

Redis Should Be a Must-Have Tool in Large Modern Web Applications

In my experience working with modern web applications, one of the biggest challenges is balancing speed, scalability, and efficiency. No matter how well a database is optimized, as traffic grows, certain bottlenecks start appearing—slow login sessions, delayed dashboard reports, lagging product displays, and inefficient handling of dynamic content. A lot of time, we keep dynamic content in the database with the hope of changing the content when required, but we never need to change the content frequently. In the end, showing the contents from the database increases the DB hit significantly when the traffic increases.

That’s where Redis comes in. The concept is simple, which is putting the frequently used data in place to reduce the DB hit. Over time, I’ve realized that introducing Redis into an application architecture can significantly improve performance and user experience. Whether it’s caching frequently accessed data, improving authentication mechanisms, or optimizing background tasks, Redis has become an essential tool for building high-performance applications.

Let me share some real-world scenarios from my experience where Redis has made a significant impact.

Faster and More Reliable Login Sessions

One of the first places I found Redis helpful was in managing user sessions. If we use stateful (sessions-based) session management for a monolithic application, usually, the server maintains user information(The benefit is using JWC is a different topic). The user data and session information are typically stored on the server, often in a database or memory. This unique session ID is exchanged between the browser and the server with each request, either via cookies or by embedding it in the request URL (less secure). Initially, it will work fine for small traffic but can become a bottleneck as the user base grows. Each login will require reading and writing session data in the database, adding unnecessary load. Scaling across multiple servers means session inconsistencies, as each server has to query the same database. This is where Redis comes in handy. It can store the session data in memory, reducing lookup time significantly. It can handle session expiration without the need for any manual cleanup. With Redis as a centralized session store, all application instances can access the same session data without database hits.

Powering Report Dashboards

Every large web application has some sort of dashboard and Reports. Dashboards that display real-time analytics or reports often require frequent database queries, which can strain the system. Reports involved aggregating millions of records, slowing down the database. Multiple users pulling dashboards/reports at the same time also create locking issues. Also, frequent querying can lead to old data being displayed before the update is completed. Redis can cache this data, reducing the load on the database and ensuring that dashboards load quickly.

In my experience on the reporting dashboard of many platforms, we used Redis to cache frequently accessed data like daily sales, user activity, and inventory levels. This reduced database queries by 80% and allowed the dashboard to update in real time, providing a seamless experience for business users.

Optimizing Product Displays

E-commerce platforms often display product details, reviews, and recommendations. Fetching this data from a database for every request can be slow and resource-intensive. Redis can cache product data, ensuring that pages load instantly. For an online voucher shop, we implemented Redis to cache product details and recommendations. This reduced page load times from 3-4 seconds to under 500 milliseconds, significantly improving the user experience and boosting conversion rates.

Storing Dynamic Content Efficiently

Web applications often serve dynamic content like user-generated posts, comments, or notifications. Storing and retrieving this content from a database can be slow, especially as the application scales. Redis can act as a high-performance data store for such dynamic content. In our employee engagement platforms, we used Redis to store and retrieve user posts and comments. This allowed us to serve content to users in real time, even during peak traffic periods, without overloading the database.

Queueing Background Jobs

Web applications often need to handle background tasks like sending emails, processing payments, or generating reports. Redis can be used as a message broker to queue and manage these tasks efficiently. In some projects that required sending bulk emails to users, we used Redis to queue email jobs. This allowed us to process thousands of emails in the background without affecting the performance of the main application.

Caching Frequently Accessed Data

Redis is an excellent tool for caching frequently accessed data, such as configuration settings, user preferences, or static content. This reduces the need to query the database, improving overall performance repeatedly. In some content management side of some systems, we used Redis to cache website settings and user preferences. This reduced database load and ensured that the application remained fast and responsive, even as the number of users grew.

Redis is more than just a caching tool; it’s a versatile and powerful solution that can address a wide range of challenges in modern web applications. After integrating Redis into multiple areas of our system, it became one of the most essential tools in our tech stack. If you’re building a web application and haven’t yet explored Redis, I highly recommend giving it a try. Its simplicity, speed, and flexibility make it a must-have tool for any developer looking to deliver high-performance, scalable, and user-friendly applications. Redis isn’t just an option—it’s a game-changer.

The Power of Global Teams: Why Having Team Members in Different Time Zones is a Game-Changer

Throughout my career, I have had the privilege of working with global teams, and I can confidently say that having team members in different locations is a game-changer. In today’s world, businesses do not operate in a single time zone. Customers expect services to be available 24/7, and system updates need to be managed without disrupting users. This is where a globally distributed team comes in handy.

Time Zone Advantage

One of the most significant benefits of having a globally distributed team is that work never stops.

Let’s say a UK-based company needs to roll out a major system update overnight. The UK team can prepare everything during the day, and then a team in India, the US, or any other time zone can take over the deployment when it’s night in the UK.

By the time the UK team wakes up, the change is implemented, tested, and ready to go—without any disruption to users.

Faster Problem Resolution

If something goes wrong outside of working hours, a global team ensures someone is always available to look into it.

In one of my previous roles, we had a critical issue with a UK product. Still, since we had an engineering team in India, they were able to identify and fix the problem before UK working hours even started. Without that setup, we would have had to wait until the next morning, wasting precious time and potentially affecting customers.

Diverse Skill Sets and Perspectives

A global team brings diversity—not just in culture, but in ideas and problem-solving approaches. People from different backgrounds see challenges differently, which leads to more creative solutions.

For example, while working on a product launch, our UK team had a certain way of implementing a process, but our colleagues in India and the US suggested a much more efficient approach that we hadn’t considered.

Cost Efficiency

Let’s be honest—cost is always a factor in business decisions. Hiring in different locations can be more cost-effective while still maintaining a high level of expertise. Many companies set up development or support teams in regions with lower operational costs, allowing them to allocate more budget to growth and innovation.

Business Continuity

Having teams in different regions also reduces risk. If one team faces an unexpected issue (e.g., power outages, bad weather, or even a national holiday), another team in a different location can step in to keep things running smoothly. For businesses serving customers in multiple regions, having a global team ensures that support is available when and where it’s needed. This is especially important for products with a global user base

At different points in my career, I have managed and worked with global teams, and each time, I’ve seen the incredible value they bring. Having a global team is no longer a luxury—it’s a necessity for modern businesses. Yes, there are challenges of having team members around the world. I highlighted some of the challenges I faced in managing a remote team in an article last year(My Challenges of Managing Remote Team), and managing a global team has some common challenges. Still, from around-the-clock productivity and faster turnaround times to diverse perspectives and improved customer support, the benefits are undeniable. If a company wants to stay competitive, provide continuous service, and optimize costs, having a global team is the way forward.

My School fund – Leading a High-Stakes Project on a Tight Budget and Timeline

Some projects start with a well-laid-out plan. Others? Well, they land on your desk when things don’t go as planned. That’s exactly what happened with My School Fund—an exciting initiative designed to help schools and nurseries earn cashback through everyday spending.

Initially, the plan was to hire contractors to build the project due to the internal development team’s other commitments. But finding the right contractor at the right time is difficult. By the time it became clear that external help wouldn’t work, we had already lost valuable development time. That’s when the project was handed over to our internal team—with even less time and an even tighter budget.

Now, here’s the thing about me: I don’t like saying no to a challenge. Some might say it’s a weakness, but I call it drive. But I had the luxury(I would say hard work to nurture them) of saying yes as I had a team that I had been leading for some time, whom I could trust, and they delivered some projects with challenging time frames. When you trust your team, know each other’s strengths, and push in the same direction, you can make magic happen.

What is My School Fund?

In simple terms, My School Fund(https://www.myschoolfund.org/) connects schools, nurseries, and parents in a win-win cashback scheme.

👉 Parents sign up and link their credit card.
👉 When they shop at Argos or Sainsbury’s, they earn cashback—2% for themselves and 1% for their child’s school or nursery.
👉 Schools use that cashback to boost their budgets.
👉 Parents redeem their cashback as e-gift cards.

Sounds simple, right? Not quite.

Behind the Scenes: A Complex Process

Making this work required seamless coordination between multiple parties:

ESPO (our client) visits schools to explain the program.

Schools promote the initiative to parents.

Parents sign up with the program and link their credit cards. The web portal was developed by us https://www.myschoolfund.org/

Transactions happen at participating retailers (Argos, Sainsbury’s).

A third-party provider (Fidel) collects the transaction data, and we collect these data through API.

Receive data sent to Sainsbury’s for verification through an automated file transferring process.

Sainsbury’s filters out ineligible purchases (e.g., alcohol, cigarettes), and we collect the filtered data through another file-transferring process.

Verified cashback is allocated to parents and schools through an automated process.

Parents and schools can redeem their cashback for e-gift cards.

We issue and supply the e-gift cards by connecting to retailer APIs .

    A lot of data movement, API calls, file transfers, and verification processes were involved—meaning a lot could go wrong if not handled carefully.

    Making It Work Against the Odds

    With time already lost, we had to be smart, efficient, and focused. There was no room for delays, no budget for mistakes. So, how did we pull it off? With the clock ticking and the budget stretched thin, my team and I rolled up our sleeves and got to work.

    Clear ownership: Having worked together for years, we knew each other’s strengths and weaknesses. This allowed us to allocate tasks efficiently and trust one another to deliver. Each team member knew exactly what they had to deliver.


    Quick decision-making: No red tape, no endless meetings—just solutions. We focused on simplifying workflows and automating repetitive tasks to save time and reduce errors.

    Collaborating with Stakeholders: Constant communication with ESPO, retailers, and third-party providers ensured that everyone was aligned and working toward the same goal


    Trusting the team: Knowing who excels at what to move fast.


    Iterative delivery: We built in stages, solving issues as they came. When issues arose—and they did—we addressed them head-on, finding creative solutions to keep the project on track.


    Laser focus on the goal: Most importantly, we weren’t aiming for “perfect”—we were aiming for done, functional, and secure.

    Despite the hurdles, we made it work. We kept refining, fixing, and improving the process until everything ran smoothly. The tight timeline and limited budget made it tough, but that’s what makes success taste even sweeter.

    Leave Monitor Gets a Fresh New Look with Exciting Features!

    One of my platforms, Leave Monitor, which I originally developed in my spare time, needed a facelift as its old design had become outdated. I have a lot of clients using the platform, so it was necessary to give them a fresh look of the product. Over the past few years, I’ve been working to give it a modern look while also adding new features to enhance its functionality. After a lot of effort and refinement, I’m excited to announce that the new design has finally been released, bringing a much-improved user experience and updated capabilities.

    Building a Scalable Voucher Management System: A Journey from Physical to Digital Gift Cards

    Businesses are changing fast, and they must adapt quickly to meet customer demands while maintaining operational efficiency. As our company specializes in supplying digital gift cards, we are responsible for delivering thousands of gift cards every hour. Previously, we relied on physical gift cards, which were not only expensive to manage and deliver but also risky, as they could be lost in the post. To address these issues, I was in charge of digitalizing our gift card delivery process and building a robust Advance Voucher Management System (AVMS).

    The Need for Digitalization

    This transformation became even more critical as we expanded our Choice products(Choice is now one of the most popular brand in the UK Gift card market: New Challenges with the Platform), necessitating a robust voucher management system to handle the entire process. The shift from physical/manual to digital gift cards was driven by several factors:

    Cost Efficiency: Digital vouchers eliminate the need for manual purchase, management and shipping, significantly reducing costs.

    Speed: Digital delivery ensures instant access to gift cards, enhancing customer satisfaction.

    Risk Mitigation: Digital vouchers eliminate the risk of physical cards being lost or stolen during delivery.

    Challenges in Digital Voucher Management

    As we entered the digital gift card market, we discovered a diverse ecosystem of suppliers offering digital gift cards through APIs. Some retailers, like Amazon, had their own proprietary APIs, while others relied on third-party processors. These processors use different technologies, creating potential roadblocks in our voucher delivery system.

    Additionally, digital vouchers came in various formats—some as URLs, others as codes, and some requiring a code and PIN combination. Given these complexities, a flexible and scalable architecture was needed. So, microservices architecture came to my mind as a natural solution.

    AVMS Architecture

    To accommodate two distinct client types(B2C and B2B) requiring vouchers from our ecosystem, I designed a dual API gateway structure:

    API Gateway for Internal Application (B2C): This gateway serves our internal applications, such as the Choice platform. For example, when a customer decides to redeem a Choice gift card for an Argos gift card, the Choice platform would connect to this gateway.

    API Gateway for 3rd-Party Application:(B2B) This is for external clients who require digital vouchers for their own platforms. This gateway comes with enhanced security and additional microservices to cater to third-party integrations.

    Key Microservices in the Voucher Management System

    Each gateway is supported by four common core microservices, with an additional service for third-party API connections:

    Order Service: This service handles all incoming orders, whether from internal or external platforms.

    Catalogue Service: This service provides details about our gift card offering and allows internal teams to manage the retailer catalogue.

    Stock Service: This service manages stock levels and works with the order process to ensure availability. Many retailers do not offer API-based gift cards, requiring our team to upload vouchers received via Excel files manually.

    The stock service leverages two specialized microservices:

    Manual Stock Management: Manage manually uploaded vouchers.

    On-Demand Voucher Service: Handle vouchers supplied in real-time through API integrations.

    Distribution Service: This service manages voucher delivery via email, offering both standard and customizable templates based on client requirements.

    Account Service: This service facilitates account management for external clients, allowing them to configure API connections, create additional accounts, and top up balances.

    Given the diverse technologies used by different retailers and processors, isolating them into separate services ensured system resilience. If one retailer or processor faced issues, the rest of the system remained unaffected.

    Designing and leading the development of this voucher management system has been an incredibly rewarding experience. The transition from physical to digital gift cards has streamlined operations, reduced costs, and enhanced reliability. By leveraging microservices architecture, we have built a scalable, flexible, and resilient system capable of adapting to the dynamic nature of digital gift card distribution.