Why I Built Convivio

I recently launched Convivio after working on it for about 8 months. It launched for both iOS and Android and lets users keep track of and easily manage their social lives from one handy app. It was a solo development effort but with lots of outside help from friends and others in my network to help guide product decisions.

If you’re not familiar with the app or the concept, don’t worry. What follows is an unabridged story of how it came to be, what it is and what problems it solves.


Many years ago, back when I was in my first year of university, I was talking to a good friend of mine and he had an idea for an app/website where sports teams could post that they were missing a player and people could join them for a game, or where musicians could find other musicians nearby to jam with. I thought it was an interesting idea and we discussed it a few times over a few months. Ultimately we didn’t proceed with it past the idea stage because 1), I didn’t know how to build it and 2) because I felt it was too similar to big name products out in the market already.

I did like the idea though and I’d sometimes think about it and how I could change it into something that I could get behind. After my first year I left university halls and moved back home. Since I was commuting into university my social life changed drastically. I wouldn’t bump into friends as often and because my department was at the corner of campus, the opportunity to bump into people was even lower. I did have friends through clubs and societies, but a lot of close friends were relegated to acquaintances and then to just “people that I used to know”.

I didn’t notice this very much at first because at university it’s easy to make new friends and so I never felt that my social circle was diminishing. I did however start to notice some difficulty in keeping in touch with those people that I didn’t cross paths with but did want to stay close to. With clashing lecture schedules and different commutes home, finding time to catch up became a challenge and we would end up going for long periods of time without talking.

Eventually meeting these friends would also be a rushed affair. We would spend most of our time catching one another up on what had happened since we last spoke and by the time we’d done that, we had to get going. I started to get frustrated that a lot of old friendships became just catching up. Catching up isn’t what made us become friends with each other, but that’s all we would end up doing!

By this point the vision of the app had evolved into something that would let you know when people were free and let you easily meet up with them but there were still a lot of gaps in the idea and implementation. I thought about sharing calendars with friends, but I didn’t want to give that level of access to any of my friends and this feeling went both ways.

Once I left university the difficulty in meeting my friends was exacerbated, coupling the difficult us having to juggle work schedules in jobs where we would routinely work 50+ hour weeks with the fact that hardly anyone lived in the same part of London any more. What used to be a trip to Hammersmith to visit three groups of friends became a trip around half of London’s boroughs! Again I thought back to the idea of a meetup app, but I couldn’t find a way of reconciling all the various difficulties that exist when trying to meet friends.

I’d meet up with one group of friends and as a group we’d try to plan our next group meetup. This was great, but what ends up happening is that it means I neglect my other friends who aren’t in that group. After all, I only have a finite amount of attention, and all of it was being directed to one group. Group chats help, because people messaging on them helps you remember to meet them, but there are many groups which don’t have active group chats.

Ultimately, the most difficult parts of meeting friends were:

  • Remembering to meet up with people you haven’t seen in a while
  • Keeping track of plans so you don’t accidentally bail on them
  • Seeing who’s free right now for spontaneous meetups
  • Finding a time that works for everyone

It was only when looking at all of these problems together that I realised that the meetup app needed to solve all of these issues for it to be a useful and compelling product.

Remembering to meet up with people you haven’t seen in a while

The first point goes deeper than just meeting friends, however. It isn’t just a point about meeting up with friends, but it’s about maintaining and nurturing your friendships over time. There are many quotes about friendship, but I like this one in particular:

“You can’t stay in your corner of the Forest waiting for others to come to you. You have to go to them sometimes.” - Winnie-the-Pooh (A.A. Milne)

For all the friendships that I’ve had over the years, the ones that have lasted the longest have been ones where both sides have worked on it. And I don’t mean work in the sense that it’s taxing, but rather, inviting people to meet up, wishing them happy birthday, dropping them a line to check in on them etc.

I’m sure many other people fall victim to recency bias very often. It’s a cognitive bias that causes you to recall things that happened recently with more clarity that things before. Due to this extra clarity you end up assigning more importance to more recent events. This results in making it more likely for you to want to meet up with people that you’ve just met up with, rather than an equally close friend that you last saw 6 months ago. I believe it takes active nudging to correct this bias to bring your other friends to the forefront.

How Convivio solves this

There are a few solutions here, ranging from low-tech to hi-tech. The low-tech solution is to let users set reminders for how often they’d like to meet up/connect with a certain friend. Users will get a weekly notification reminding them to reach out to people who have a reminder due.

Additionally, users are able to add people who aren’t on Convivio and can still benefit from reminders to meet up with them and the ability to store dates to remember (e.g. birthdays, anniversaries, etc.).

For a more hi-tech solution, we are rolling out machine learning to figure out where to display friends on the list. Friends you haven’t seen for a while will be given higher positions to bring them to your attention, whereas friends that you have met recently will be pushed down the list. Other factors will bump people up the list, some of which are reminder frequency, future meetups planned, and whether or not you belong to any groups together.

This should work to not only combat recency bias, but also helps people to nurture friendships at a cadence that works for them.

Keeping track of plans so you don’t accidentally bail on them

This falls victim to the same issue as remembering to plan events. If you message someone to meet them two weeks from now and then don’t message them afterwards, it’s quite likely that one or both of you have forgotten about it and have to reschedule the meetup to a later date. Rescheduling isn’t a bad thing in and of itself, but at the worst of times, it can be down to poor planning or indifference.

Making it easy to keep track of the plans you’ve made and the people you’re going to see would help that. When I first started working I’d put in calendar events for when I was going to meet up with friends so that I wouldn’t forget. It’s when you start doing this that you realise how often some people forget their plans! I started sending some people calendar invites to their personal emails or I started messaging people in advance. Sending calendar invites was fairly effective but people found it a bit weird and a bit too formal. Chasing people in advance was just too much effort so I barely did that.

It was around now that I really started thinking of this meetup app as a nice in-between solution for meeting up with friends. A tool for gatherings that isn’t as formal as a calendar invite, but isn’t as involved as a Facebook event.

How Convivio solves this

Similar to creating a calendar invite, Convivio lets you create meetups in the app and you can invite people too. If they’re on the app they receive a notification and will get timely reminders. If not, they’ll still be able to RSVP but will also have the option to opt-in to receive notifications.

Since users can invite people who haven’t got the app, it allows the organiser to keep track but there is also a handy link and web app. This link can be shared in your chat app and users can RSVP easily, allowing them to stay up-to-date.

Seeing who’s free right now for spontaneous meetups

When I know I have some free time or want to hang out with a friend after work, I would message a few different people to try and make a plan. It would be a bit hit or miss, with some people agreeing to meet but in an inconvenient time/location, or multiple people saying yes leaving me to decline someone after having just asked them to meet.

To temporarily dip into computer science language, asking friends if they want to meet is an O(n) operation, but posting up my availability for people to see is an O(1) operation. I envisioned that once people become accustomed to this, it would be a lot easier to just meet up with someone who you know is free and it allows you to spend more time actually with friends, rather than spending time on figuring out who can actually meet up.

How Convivio solves this

Convivio lets you post your “availability story” in much the same way as a user might post a story on Instagram or Snapchat. In this case, the story shows your friends when and where you’re free. This relies on network effect to become useful, but does make finding people who are free an easier task.

Finding a time that works for everyone

Aside from meeting up with individual friends, a lot of the time you’re friends with a whole group together and people may live in very different parts of the country from one another. This is where group availability becomes a necessity. There is a well known tool that lets people mark when they’re free/busy from a number of dates, but it tends to only be used for more significant, one-off meetups in my experience. I wanted a way of collating information about friends’ work schedules to give hints as to which dates and times worked best.

Privacy is key here. Other than sharing calendars with families and significant others, I don’t know of any friends who would be comfortable sharing their entire calendar with all their friends, or even their close friends for that matter. When building Convivio I opted for a blurrier view of people’s availability, with the day being split into four segments (Morning, Afternoon, Evening, Night) so that a degree of privacy is maintained whilst also being a useful tool to plan meetups with friends.

How Convivio solves this

When viewing a group page or when making a meetup with multiple people, you will soon have the option of keeping it open and asking people to choose from a list of options (with a default availability being pulled from Convivio). This keeps the user in control of their availability and makes organising group events a cinch.


If you think this all sounds similar to my Financial Travelling Salesman article, there’s no coincidence. In my experience working in the distribution practice at Alpha, I worked to build tech primarily for the sales and marketing functions of asset management companies and it was an added frustration that sales people had better tools to remind them to see their clients than I did to see my own friends. It’s a problem that exists in various forms and it was kismet that it lined up with all the challenges of managing my social life.

There are more features to come, such as open invitations, so that you can simply send a meetup link to people and let them sign up rather than having to select all the attendees beforehand. In the month that it’s been out it has replaced my calendar app for social meetups and has reminded me to message and see people that I might have gone for long periods without seeing. Convivio will also no longer be a solo effort, with my aforementioned friend joining the team - welcome Jacob! 👋

I hope you try it out and I’d be interested to hear what you think!

Apple App Store Link

Google Play Store Link

Convivio Homepage

Convivio Forums

Twitter @cnvvio

Instagram: @cnvvio

ConvivioSocial SchedulingCalendarSocial CalendarPRM
Sunny

Sunny

Software Dev. Python/JS.

Read More