My First Year Building an Online Community

This is the origin story for Deutsch Gym, a German-language community I founded in February 2020.

Stop Spoiling Us Foreigners!

I'll begin with the problem that kicked this whole thing off. Foreigners in Germany are spoilt. Every German will switch to English once they hear a non-German accent. For other countries, this does not seem to be the case. In France the French speak French, in Spain the Spaniards speak Spanish. What an exotic idea. In Germany, not so. This makes learning the language tricky and the experience of learning German unlike any other I have previously had, and not in a good way. 

(Berlin looking lovely.)

After exercising, you become fitter. In studying for an exam, better grades will follow. In other words, you put something in, you get something out. It's worth your while. And I have experienced all of the above at some stage or another, so this is how my expectations were set when I embarked on learning German. But it was not to be. I paid the piper, but no service was rendered.

When you try to speak German to locals, in less than perfect German, you will receive a barrage of English responses, each feeling like a rejection. And rejection stings. Like asking someone who takes your fancy to dance. If you pluck up the courage to ask for a hand in dance, and you get the merciless response in the negative, you will understand the feeling I'm talking about. 

Except I'm not trying to ask anyone to dance - I'm just trying to speak the language. And trying to speak German in Germany is to ask your beaux to dance multiple times a day but ending up with the same cruel cold shoulder. You see your chance for a conversation. You form your thoughts, mind-practice the inevitable guttural sound hiding at the start of a word somewhere, and remember to hold that damned second verb at the end, heavy on your mind like the attention-grabbing shit it is. You push it out, a passable sentence, desperate to be met with a German response, and wait. Will the volley be returned? If so, vindication! Maybe a back and forth will ensue, every response returned affirming your choice to learn the language. But what response do you get? The stomach sinks - it's English! The rejections come without drama and always in the form of the Anglo tongue. Speak German? Fuck you! This is Germany, we're German, and we're speaking English. This one definitely doesn't want to dance.

Now it is possible that my German is poor, my accent is poorer and the thought of my struggling is unbearable to my would-be dance-partner. To which I say “my German may be bad but my accent is less bad and I want to dance”. 

To caveat the moaning - I have always felt welcome in Berlin, and it is my favourite city. And, I can assure you I have been on the receiving end of no shortage of hospitality and generosity in Germany. In part, being too welcome is the issue here. The regular methods for integration - chatting casually in the native language, in a variety of everyday situations - that are common in our continental neighbours, were not available to me. 

I needed to practice German. I had been putting in 25+ hours per week learning it for a few months, but my fluency was lacking. A clear option to me was to go to a meetup in a bar. It works as follows: you find a group of Ausländer in a corner of a bar. Then you have 5 minutes speaking in German with one of them, and then a buzzer goes off and you get a new partner. You go through the same spiel for the full hour and a half. Sometimes the conversations stay with the basics about yourself and sometimes they hop between topics. Othertimes you may just chat casually. I wouldn't know, as I never went. The mixture of inertia and shyness and reports of repetitive introductory conversations and 40 minute S-Bahns was enough to put me off. Instead, guided by above logic and a will to solve the problem sitting on my arse, my brain came to me with the idea that was to be Deutsch Gym.

To the Moon

Three years ago I was part of a cryptocurrency Discord group. It essentially gave buy signals on altcoins. They had mentors with their own text-channels, where they would post charts of the price predictions, text-channels for talking about specific coins, and voice channels where the owners and mentors would log on for hours, casually chatting with their members, who were spread across the world, about crypto or politics. Now, value-wise, I'm pretty sure I got scammed. This was in 2017, when throwing darts at a selection of altcoins after a feed of Guinness would have produced comparable profits. Nonetheless, two things struck me: 

(i) people pay to join online communities

(ii) Discord makes it possible

I was intrigued, and I briefly flirted with the idea of running a comparable community of some sort. Alas, my attention then was on the all-consuming price fluctuations of $NANO and $LUX, and I parked any other notions. 

Swapping Duolingo for Intensive Courses

(My language school in Berlin. It's a bit cramped, but it's one of the cheapest options and my teachers were good.)

In February 2020 I was in my third month of intensive German courses. Over the previous few years I had learned German on and off, but it didn't stick. I was on a jerky merry-go-round of Duolingo, the odd private lesson, iTalki lessons, tandems, and the rare podcast. In September 2019 I started to speak a little German with my girlfriend - which surprised us both. Something must have stuck after all. 

Sadly, within a few weeks I had exhausted the backlogged grammar in my head and knew that someone would have to fill the rest in for me. I had just left from co-founding a startup, so I had time to get stuck into a challenge. At the last minute (I missed the first day of class) I started an intensive course in November. Three hours of class a day and then three hours of homework were what I set myself up for, and I was game. It would be nice to have some structure to my learning, plus, how hard could it be? I was firmly thinking of the end result - of becoming fluent in German - mightily ignorant of what was to come.

Now when you learn a language, you need to choose a level. The CEFR (Common European Framework of Reference for Languages) starts with A1.1 for total beginners and ends with C2.2 for the most advanced. There are two smaller levels within each main one - A1.1, A1.2, B1.1,B1.2 etc. My overconfidence in my abilities led me to enroll in B1.2. I can tell you as I sit here that this was a mistake.

(Staatsbibliotek Berlin. It is fantastic.)

I had a hard time understanding the questions themselves, let alone tackle the answers. I should have been in A2.2. Nonetheless I signed up for a membership at the Berlin State Library [1]. The dictionary app conquered prime real estate on my homescreen and I plowed on. Towards the end of the month I was coping a lot better, but I thought it would be wise to take a humble step back to B1.1.  The following month was much better. I brought with me knowledge of what was to come in the second half of B1. Compared to a lot of my classmates, them having come from A2, I felt like a man from the future. After Christmas I took January off and proceeded on to B2.1 in February.

My (perhaps foolhardy) confidence took another hit, but less so this time. The teacher moved quickly, but I had a fighting chance. I had by this stage started speaking more and more German with my girlfriend, and I was eager to use it on the streets of Berlin. But the locals wouldn't tango, and the aforementioned pub meetups were out. Was there something to that crypto group from a few years ago?

Becoming a German Leader?

It was time to dust off the side-project skills and start an online German group. I craved an outlet to practice (and be guaranteed responses in German) and I wanted to do it from my couch. There was some minor level of audacity there, given my recency to speaking German, but I thought it was crazy that this was not already possible. I searched for various community platforms to use to host the meetup, but pretty quickly reverted back to what I knew - Discord. I set up a server, and organised a basic structure of text and voice channels. I posted a link to my Discord server to an "Irish in Berlin" Facebook group and one other such group on February 19th,2020. That was the extent of the marketing for the first session. Later that day I logged on 20 minutes early and nervously stared at my screen. 

(The first time I posted about the group.)

If no one showed up, at least I tried, right? I could say I tried to get myself out of my language hole, and my lack of fluency would be forgiven. But a few minutes after 9pm, there it was - someone logged in. We casually chatted about Ireland and Germany and our families for the hour. There was one participant, no theme, no structure, and I had no idea what I was doing as a group leader, but the first Reden Meetup had been run (I called the group "Reden" then. It means "to talk". I'm a glutton for literal names). I was ecstatic.

The following week I wanted to keep up momentum, so I posted the link to the group to a few more Facebook groups. I told my class in my German course. It made sense to prepare for a bigger group in the next session. How, I wondered, was I going to handle a group of people, when I had just barely handled one? Even if five showed up we'd be a decent gaggle of German learners. I still didn't know how to lead a conversation in German but was excited to try it again. I waited by the laptop at 9pm the next Tuesday and...waited. For half an hour I stared at Discord. A bad feeling came over me. No one showed! What a disaster. I felt rejected, but I still thought that there was something there. In the following days I posted the link to a couple of more Facebook groups for the next week and told my German class about it again.

(A tweet from April.)

Six intrigued learners showed up the next week. From here onwards I felt vindicated, and had the wind at my back. Each week more and more people came, and I eventually posted it to Meetup. I added an additional session per week. I was on a roll. I wrote up discussion themes, changed the structure of the group to fit the meetups better. There was a good feeling of camaraderie, it felt like we were in on something no one else was. And I think the nature of Discord imbued this feeling.

Let me explain. 

Discord is a chat application designed for gamers, which implies a high level of software experience. The default theme is dark, there are lots of customisations and different roles to assign to members. It is meant to mimic a gaming dashboard. The UI is set to expert-level, in other words. When you click on a voice channel, you enter that channel immediately and you hear the voices of others (there is no video by default). When someone speaks the green circle around their avatar (real photo optional) lights up beside their username (real name optional). It is not intuitive, and has enough idiosyncrasies to throw off an average internet user. I say this because there is a brothers-and-sisters-in-arms feeling about using a weird platform to speak poor German with total strangers and enjoying it. We were the pioneers. It was a fun period.

(A chat in the group from the start of March.)

Swap the Batteries!


(On the job.)

While the group was progressing, I was running out of money. At the start of March I took a part-time job changing batteries for an electric scooter company. I would drive around Berlin in a van, find the dying scooters on my phone, and swap the batteries out. I had the previous year sworn off any sort of office work for the rest of my life, and I didn't want to work in a bar or cafe. I had tried side-projects while working full time before - nights and weekends in front of the laptop as well as days in front of the laptop is not a good combination for happiness. To do a full time office job is tiring enough - companies want their pound of flesh - adding on a side-project was too draining. The other option was to take a lower-paying, lower-stress and lower-commitment side job, and use the remaining hours to figure out a side-project for myself. Driving around by myself and getting some fresh air during the work day suited me just fine. I would listen to My First Million, Indiehackers, and other podcasts as motivation, and saw what felt like every street in Berlin in this time. [2]

(This was the biggest van we had. It has no fewer than 6 wheels, I might add. You'd avoid it if you could, but it's surprisingly easy to drive.)

Working part-time to learn a language simply isn't as tolerated for a 30 year old in other cities - both financially and socially. The rent shared on our apartment was less than my bedroom in a 3-bed Dublin house. The food shop has mercy on your wallet. This takes the pressure off a huge amount, in a way that is unimaginable in Dublin. [3] It is also a city that welcomes different lifestyles. The social hierarchy in Berlin is a bit topsy-turvy, so you can escape the rat-race with less judgement. [4] Working part-time or studying in your 30s is just a quirk, a bow in your feather in wild, free Berlin. “Berlin ist arm, aber sexy” (“poor but sexy”) as the old Mayor quipped. 

Including the commute my job cost me 24 hours per week and the German course I was enrolled in ate up most of the rest of the time. By this stage I was doing 2 meetups per week on top of this and all of it was manageable if a little tiring. At the end of March I had finished B2.2 German, which is the intermediate level. Your learning in intensive language courses hits marginal returns when you do a few in a row - you need time to practice what you have learned - so instead of starting C1.1 in April, I decided to take a break from the courses. Just the batteries and the Reden group from then on.

A Break from Startups

By the end of March there were 45 weekly participants, and I had the feeling that this could go somewhere. Up until then it was purely a fun project, created to sate my own need. But as the weeks went on, and the interest increased, I found I couldn't put off that annoying entrepreneur voice in my head, telling me that this could be something. The irony here is that this is the first time in over a decade that I had managed to silence that voice, that urge to start a business. In October 2019 I had just finished from founding a company with a friend, and the 12 years previous included a host of different side projects and another company. I yearned for a break - I didn't want to think about entrepreneurship. I duly culled the group of entrepreneurs I followed on Twitter (although a startup Twitter feed being replaced with a politics Twitter feed doesn't have a calming effect either). I stopped listening to startup podcasts, even the thought of listening to one gave me a sinking feeling in my stomach. I wasn't interested in the distribution model for another project management app. I threw myself fully into learning German and without condition. It just so happened that I found a problem, and it annoyed me so much that I couldn't not fix it, at least for myself.

At the end of March I caved, and I decided to launch a Gumroad page for it and charge for it. I was not launching a startup, but dipping my toes in the water again. Just to see what happened. €10 a year will do, I thought. It was a long shot, more of a fun experiment that I would end up killing, surely. Three days later two people had bought the yearly membership. So, emboldened, I changed it to €10 per month. The very next day, someone bought one. After two weeks 13 people had signed up. Almost a sign-up a day.

(The first two weeks of Gumroad signups.)

 Now let me tell you: the rush of dopamine when that new-member notification from Gumroad pops in your inbox is ungodly. Wild imaginations of freedom and hope start flooding your brain. It was a taste - a tiny one - of true independence, and fuck me was it enjoyable. Opening up my GMail was incredibly addictive, and seeing the "Gumroad" label in bold in the folder section my fix. 

(Everyone should feel this rush.)

The downside here is that mother nature does not reward us this way indefinitely. The buzz is replaced by a lust for new subscribers, and just like any other drug, your tolerance rises.

Grandfathering or No?

The deal at the start of April was this: I would start charging all new incoming members, and current members would have until the end of May - two months - to decide if they wanted to buy a membership. At this time they could buy the €10/month membership (Gumroad only allows prices in $ on the exit page, a lamentable omission from an otherwise excellent platform). By this stage I was knee-deep in bootstrapper philosophy. That is, to charge high and charge early. Always raise your prices, even if it makes you feel uncomfortable. If you offer value to someone, they should pay for it. It is only fair. This was why I decided to charge the current users. Looking back this was a mistake, and I should have grandfathered them in on their free state. To work through the logic: if the revenue I was to receive from the 100 existing members was so crucial to me, the project was unsustainable. It would not be able to support me and it meant it was not growing. If the project was to be a success, then those 100 existing members would account for a tiny fraction of my future members. The vast majority of revenue would come from members that would join in the coming months and years. In success or failure, there was no point in charging the current members, who had signed up under the impression it would be free. Rewarding them as early members with a free lifetime membership would have been the nobler option. [5]


Trials

I was curious about trials, so in mid-April I gave new members a one-week free trial. This increased my workload a lot - more new members, a lot of queries and questions and following up. After a couple of weeks I ended the trial. In total 41 people started the trial with 15 people becoming members, giving me a conversation rate of 37%. Over the timeframe of 15 days a similar number of members ended up paying compared to pre-trial, and the workload didn’t justify it.

(Trial re-cap. I may run them again in the future.)

Instead, I switched to a pay-up-front model, but the member can get their money back within 7 days if they don't like it. I use this model to this day, and it is now totally self-serve. Overall I have fewer members because of this, but it has one advantage: the group is calm and experiences no spam. This could be far more valuable than I have given it credit until now. A calm and welcoming place to learn a language is a selling point in itself.

(The first wait list for new levels.)

This was in the second half of April. Until then the only group we had was for B1 & B2 speakers, but I wanted to kick the tyres a bit, and sent out a survey, asking if people had interest in joining groups of other levels. I got 48 responses in a day - the people were hungry for more. This, I can remember, was a seminal point. I don't agree with mainly driving analysis from customers to make decisions, I believe conviction and vision count for a lot (perhaps a bad trait considering I worked in online marketing), but when it hits me in the face, I take notice. By the end of April, after 1 month of charging, I had €307 in MRR. At this stage I knew I would be daft not to keep fanning the flames of the project.

An Online Gym, Officially

(I slowly update the design. I'm deliberately eschewing having lots of photos and the latest design fad).

In contrast with my other projects, I wanted to do some work first, see if it has legs, and then reward myself with buying the domain. Three months after I first started, on May 12th, I bought the domain name: deutschgym.com. The name I can explain easily: I thought anyone, anywhere on this fine planet of ours ought to be able to log on and start speaking German, at any time, just like they would be able to walk into a 24 hour Gym [6] at any time and exercise. Logging on to chat is like jumping on a treadmill, getting a lesson on adjective endings is like dropping into a pilates class. That was and still is the vision. I was dismayed that this didn't exist, and felt obligated to rectify it.

On May 22nd I launched the A2 group, and the next month the C1 group. I had by now switched from Grumroad to Carrd & Stripe, and started a highly irregular newsletter.  At this time I also got my first copycat. A member copied everything I did and stole my themes (which I had laboured over). I have since noticed more copycats, but I mostly ignore them and carry on creating what I set out to do. In a way the copycats provide further validation.

Paying the Rent

(SubscribersI'll release revenue and subscriber figures at a future date.)

By mid-October I had been running the groups for 8 months — the income felt fairly steady. I was planning on leaving my part-time soon, when I hit the next revenue milestone. This would have been in a month or two, but circumstances encouraged me to leave earlier. I had already used up my holidays with the scooter company in August 2020 on a trip to Ireland. My girlfriend had booked her holidays for the end of October, and for the year that was in it, we both needed a break. Giving two weeks notice at the start of October I quit - so long batteries. You saved my ass, but never again. This was followed by two weeks of holidays and then, for the first time in my life, living full time, profitably, as an entrepreneur. I had before succeeded in incorporating two of these elements into my life, but this was the first time I hit the trifecta. The living was not extravagant, but it was a living and it sustained me. I got the odd pang of fear but mostly it was relief: an achievement of a lifelong goal. Free from a monthly salary. Happy to stare out to the wide open horizon, with all possibilities available to me, and with my own success or failure resting on myself. No more 6am Sunday starts to change batteries. I had built a motivated group of eager learners and respectful members, and I was helping them with a real problem in their lives. They were becoming more fluent in German. [7] I don't want to exaggerate or underrate the effectiveness of the community. It worked, the rent was paid, and I was proud.

Not So Much Code 

One theme running through this project was that I wanted to use no-code solutions as much as possible. I had worked as a front-end developer (Angular/JavaScript) for a few years, having learned coding in my mid-20s. In the last few years I felt I spent too much time coding. Too many days spent staring into Webstorm. Coding for me is a tool to get a job done - I do not pursue it for its own sake as many others do. It needs to serve a purpose for me to gain satisfaction (which I do) out of it. But I will never be, nor do I want to be, a master coder. "Exceptionally no good" is how Christopher Hitchens described his infant-parenting ability. While my ego won't allow me to admit as much with coding, during that brief career the feeling that I should be focusing on my strengths instead of my increasingly obvious weaknesses was steadily building. With Deutsch Gym I wanted no-code to take a priority, and for code to only be used when nothing else would do. The hours in the day are too few to be doing things I can outsource to software or more capable people. This time I was taking my free time more seriously. I wanted to work on the most important stuff - building a community, setting the atmosphere and creating processes so that the master-slave relationship between entrepreneur and company was in order.

To allow me to be free and make money, my current stack is: a mix of Carrd, Stripe, PayPal (don't ask), Zapier (god bless this product), Google Sheets (as a database), the odd Mail Merge, Mailchimp (it has gotten pricey), Memberstack, and Discord. I use code for some Stripe and Discord API work, and a bit within Zapier custom code blocks. It is very useful, but takes a minority of my attention.

What is Next?

In the next week I'm launching Geailge Gym, the Irish language version of the group, as well as English Gym. I'll be adding a C2 level (the most advanced) to Deutsch Gym soon, and experimenting with how to make it better for the members. I want to increase fluency, more quickly, make sure members speak with those of a similar level, try to help with different aspects of their German journey (with tests, grammar, reading comprehension), and get more native speakers in the group. For the next year I'll be adding more languages, which I have yet to decide upon. I have big plans for the group but I want to keep as nimble as possible while I achieve them. Get in touch below if you want to say hello. 

You can follow me on Twitter : @_ronanmc 

If you want to improve your German, join us here: https://deutschgym.com/

If you want to improve your Irish, join the wait list: https://gaeilgegym.com/

If you want to improve your English, join the wait list.


[1] As it happens they have an excellent cafeteria specializing in German thriftiness. They offer filter coffee for €0.80 and hard boiled eggs for €0.60. With some salt and pepper that is a fine snack. I was on a Keto diet at the time and this was extremely helpful. 

[2] This has removed a lot of the novelty of the city for me unfortunately. It is nice to come across areas you have never been to. Novelty is largely why we travel, after all. Berlin is remarkably ugly and quite dirty from this vantage point, but most will see it from a different perspective, and I don't blame them. 

[3] When I first moved from Dublin to Berlin in 2013 I was shocked at how Berliners my age would take large, beautiful apartments for granted. It was the first time the phrase "quality of life" had become tangible to me. 

[4] The judgement exists, of course, but it's dished out under different rules. These are inverted: being with girls won't help you get into clubs, if you have money do not show it, the less melody on your playlist the better (leave that to the normies). 

[5] I am learning from my mistakes. For Geailge Gym, the Irish-language group I started, the format will be a little different. Irish people, as opposed to German or French learners, won't know what CEFR level they are in. Everyone in Ireland learns Irish in school, and speaking ability varies from almost nothing to fluent, but with no hard categories for people to self-select from. I am giving the first 10 members free lifetime membership, as they will help me iterate on the structure and format of this group. 

[6] Like McFit, a budget gym of which I was a member of voluntarily and then involuntarily. To end your contract within the agreed upon time, you need to send them a letter by post. If you don't do this they will hold your direct debit hostage for another 6 months. In Germany there is a battle between acceptance of anachronistic bureaucracy and consumer rights, with McFit relying on the former in this case, and winning.

[7] A basic conversation level German is required to join, we do not take total beginners. It is a speaking group, and we don't do lessons. I refuse a lot of potential members and refer them onto online learning platforms.


Thanks to Ciaran and Paddy for reading drafts of this post.