Empresaula

Bridging the education gap with a business simulation platform.

One of the hardest-hit countries in Europe after the 2008 financial crisis was Spain. Unemployment rates went through the roof. University degrees had been devaluing for years, so for young Spaniards, finding a job became harder than ever before.

As businesses started to seek practical skills rather than university degrees, vocational training programs soared. For graduates of such programs, the unemployment rate was astonishingly lower. However, a lot of students never graduated. The motivation was very low, and the learning methods were stagnant —essentially, reading a textbook in class.

That's when we saw an opportunity to develop an innovative product that could have a profound impact on the next generation of young professionals and entrepreneurs: a realistic simulation platform where students could create and run their own businesses, within a dynamic trading network. The challenge was building one that not only was high-quality and with excellent customer support, but also affordable for every public school.

After a few months we had our first prototype ready, and we started refining it in close collaboration with a local public school. Shortly after, we unveiled it to 30 more regional schools in our first public launch —25 of them signed up right on the same day.

Own product
  • Education
Barcelona, Spain
  • Product Design
  • Software Architecture
  • Development
  • Data Engineering
  • Marketing

We designed a recommendation engine that identified opportunities to sell and buy across different schools, and incentivized the users to close those deals.

Since then, we've developed the platform to be as comprehensive as it is today: from a simulated banking and financial system with credit, mortgages, leasings and SEPA-transfers, to a logistic network with realistic transport costs, and even a recommendation engine to suggest purchases and sale opportunities between schools.

To this day, we're very proud of how the product as evolved and enjoy onboarding more and more schools every year. But the best part is seeing new graduates joining the job market, better prepared than ever thanks to a realistic (and fun!) simulation platform.

Shortly after, we unveiled it to 30 more regional schools in our first public launch —25 of them signed up right the same day.

One of the aspects of the platform that people reportedly enjoy the most is buying and selling products with other simulated businesses. Going through the process of negotiation and sale with other fellow students, perhaps located in a school in the next district or 300 km away, is incredibly engaging.

At the early stages of the platform, having a dynamic network of businesses was the main challenge. As many as 75% of our users had a common feedback point: there weren't enough sales with other schools, so they ended up buying and selling amongst each school's own students.

We designed a new feature to solve that: a recommendation engine that identified opportunities to sell and buy across different schools, and incentivized the users to close those deals. After this was rolled out, the number of users that wished for a more dynamic sales cycle went down to 30%, and it keeps getting smaller as we continue to tweak the functionality.

A dynamic social platform based around mutual trade

When we designed our first prototype, we chose Rails to get something off the ground quickly, and the decision paid off. For many years, we ran the system from a single server, until we started to grow —we had some architectural choices to make going forward.

One of them was decoupling the Rails monolith into a GraphQL API in the backend, and an Angular application on the Front-end. That allowed us to take the UX to the next level, as features got more complex, since we wanted to guarantee a stable, fast experience for students and teachers alike.

Early on, we realized that schools in Spain had very poor Internet connectivity, which made using a traditional web application quite slow. After we shipped our dedicated front-end application, we quickly adapted it to be a full-fledged Progressive Web Application, with aggressive caching and offline capabilities. Suddenly users felt the application was snappy and extremely responsive. But this wasn't enough for us —as the front-end application grew in size, updates meant the clients had to download a large JavaScript bundle every time we deployed a new version. With code splitting, we managed to reduce both the risk in every deploy, and kept updates very fast from the client's perspective.

Once we built the GraphQL API, we decided to move from our traditional Heroku deployment to a containerized solution running on Kubernetes —we went from a single point of failure to a self-healing cluster that was able to autoscale as the demand for resources fluctuated.

From a traditional Rails application to a decoupled, auto-scalable Kubernetes deployment

Decoupling the Rails monolith into a GraphQL API and Angular frontend allowed us to take the UX to the next level as features grew in complexity.

As we continue to onboard more schools, we're tackling the challenges to internationalize the platform and scale this network to Europe and beyond. During this effort, and as we develop more features and improve the user experience, we put special effort in excellent customer support and keeping our users happy —we take great pride in that.

To make the platform even more dynamic, we organize an event every year where students can network and introduce their simulated business and products to potential buyers. Students take these networking events very seriously, and we can see their eyes shine as they close their next deal or shake hands with their long-time clients —to us, it brings enormous joy to see the very real human impact of our self-grown product.

A delighted user base with healthy growth