Coachly

Project:
Posted:

Have you ever dreamed of creating something that would make a difference in people's lives? That's exactly what I wanted to do when I co-founded Coachly, a platform connecting students and instructors. Although the project ultimately had to come to an end, the experience taught me invaluable lessons about business, technology and teamwork. As a founder, I would like to share my personal takeaways, some of the details, and the journey of creating Coachly.

What was Coachly?

Coachly was an online platform designed to connect students with passionate instructors and offer personalized courses. Our primary goal was to provide a place where learners and instructors could easily connect and learn from each other. At Coachly, we believed that anyone could teach anything to anyone, and we aimed to offer a personalized approach to learning that would allow participants to address their individual needs.

Our user-friendly platform enabled learners to easily select their desired course and date, and make online payments, with live lessons easily joined through their browser. We offered a wide range of courses, with individualized pricing set by instructors and no hidden fees or automatic subscriptions.

The platform was created with the aim of promoting lifelong learning and the digitization of education in Germany. We also placed a high priority on data privacy and sustainability, ensuring that all our servers were hosted in Germany and powered by 100% renewable energy. At Coachly, we were committed to creating a safe, respectful and creative learning environment for everyone, with zero tolerance for any form of offensive, discriminatory or misleading content.

With our personalized approach to learning and commitment to data privacy and sustainability, Coachly was a platform designed to advance education in Germany and beyond.

The Story

Coachly wasn't just an idea – it was our passion project. It all started during a car ride with my friend Dani when I shared my experience with my online courses on Udemy. We realized that while pre-recorded videos had their place, something was missing: the human connection. We wanted to create a platform where students and instructors could come together in real-time, fostering a sense of community and personalized learning. And so, Coachly was born.

We worked tirelessly to bring our vision to life, tackling everything from registering the company to writing legal documents. It wasn't easy, but we were determined to make it work. We spent countless hours discussing every detail, ensuring that our platform would be scalable and accessible to anyone, anywhere in the world. One challenge was finding the perfect name; eventually, “Coachly” was chosen, with the .de and .com domain and trademark rights secured. Another big hurdle was understanding the complex web of laws and regulations and writing the required legal texts.

As I focused on building the Coachly platform, Dani tackled our PR strategy, and we were hopeful that our unique approach to online learning would resonate with people. We even had some viral videos on TikTok, which gave us hope. After completing the legal texts and getting the platform and servers ready, we successfully launched in March 2022, and with Dani's help, we were able to acquire a few instructors to join our platform.

However, despite our best efforts, Coachly didn't take off as we had hoped. Combined with personal reasons and an upcoming law that required significant investment, we made the difficult decision to close down the platform. It was a tough pill to swallow, but we knew we had to do what was best for us. Cancelling contracts, settling our taxes, and saying goodbye to something we had poured so much of ourselves into was not easy.

At the core of Coachly was our desire to create a platform that would empower anyone to become an instructor and share their knowledge with the world. We wanted to break down barriers to education and give students a personalized learning experience. And despite the challenges, we are proud of what we accomplished.

The Anatomy

Building Coachly was a challenging endeavor that required a diverse skill set, including design, web development, server administration, and legal knowledge.

Technology

I developed the main Coachly web application from scratch using Ruby on Rails with a Bootstrap-based frontend. To ensure smooth operation across time zones and geographies, extensive tests were built, all text was localized and exhaustive timezone support was added, along with robust error handling with feedback to the frontend.

For the infrastructure, we used Hetzner Cloud, where we also self-hosted all assets, including avatars, images and videos for the courses, using MinIO, a S3 compatible object storage system. One of the most resource intensive components of the platform were the BigBlueButton servers, an open-source web conferencing system that handled video and audio streams, slides, chat and other functions. To ensure that everything was running smoothly, a monitoring server was set up to keep an eye on all the other servers and inform us when something went wrong. We used Grafana, InfluxDB, Prometheus, Node Exporter and Alertmanager to set this up.

Server Infrastructure Diagram, showing how Web, Database, Load Balancing, Monitor, Storage, and BigBlueButton Server are connected.

Provisioning was done using Ansible scripts, and regular backups of the Coachly database and assets in MinIO made it simple to restore everything if necessary. Scalability was a key consideration in the design of the system. We used a dedicated load balancer and database, which allowed for easy horizontal scaling of the Coachly application servers as the platform grew to accommodate more users.

Design

Once everything was up and running, we had a web application designed for simplicity and convenience for both instructors and students. We had all the essential features and settings in place, including friendly lesson reminders, easy-to-read invoices, simple refund processing, and an extensive FAQ and Help site to answer any questions that arose.

When a student purchased a lesson, they could access it in their account and join it in their browser at the designated start time from any device, including laptops, PCs, smartphones, and tablets. Instructors could also easily join from their Coachly account interface.

As an instructor, you could register and create courses with ease, and we took care of everything for you, including hosting and managing technical details. Our self-hosted solution automatically opened a web conferencing room with access only to students who had purchased the lesson, eliminating any privacy concerns. We also handled payments, refunds and paperwork, with instructors receiving monthly payments. So as instructor you could focus on what you do best: teaching!

Our lesson management system was very flexible, allowing courses to have multiple recurring instances on a weekly basis. Instructors could simply disable individual lesson dates if they didn't have time. Plus, every course had a unique recommendation link, giving instructors a larger revenue cut when students purchased lessons through that link. A built-in tool conveniently allowed our instructors to estimate revenue for different types of courses and number of students.

And behind the scenes, we had a dedicated backend to handle all of our administrative tasks. Of course, this design was only version 1.0, the minimum we felt confident in showing to the public. Many improvements were already on our to-do list.

Business

Creating a startup isn't just about technology, of course. We had to make many decisions regarding the accounting and tax aspects as well as the legal matters of our business. To keep things lean, we decided to set up the company as a GbR, giving us the flexibility to do many things ourselves. However, this also meant that we were both entirely liable for any issues that arose. We considered the option of setting up as a GmbH once we achieved some success.

We also had to create a partnership agreement, open a business bank account, and utilize an accounting service like BuchhaltungsButler to automate our accounting process as much as possible. Deciding where Coachly could be used was also critical. Even limiting access to EU countries made the legal and tax situation so complicated that we decided to only launch in Germany initially.

As an online startup, we also required some legal texts. It took me months to research and draft the required texts such as Terms and Conditions, Instructor Terms and Conditions, Course Policy, and Privacy Policy. Each paragraph was like going down a rabbit hole, but in the end, it gave me a better understanding of the legal framework we were operating in. To ensure that everything was correct, we collaborated with a lawyer to fine-tune these texts to perfection.

Takeaway

Although Coachly ultimately did not succeed, this startup journey provided me with invaluable experience. I learned how to build a company from the ground up, work as a full-stack developer, administrate servers, and gain a deeper understanding of taxes, accounting and legal aspects. I was also reminded of the difficulty of reaching a large audience.

Despite the challenges and the ultimate outcome, I'm proud of what we accomplished with Coachly. We created a platform that connected instructors and learners, making it easy for them to share knowledge. While the world may never get to see the full potential of Coachly, I know that the knowledge, skills and experiences gained will stay with me forever.

In conclusion, the Coachly journey was both challenging and fulfilling. It allowed me to develop new skills, navigate legal hurdles, and create a platform with the potential to bring value to people's lives. Be sure to check out the Demo-Page to get a sense of what Coachly was like.