Sports March 7, 2022

AthletesWeR

Races, results and community for amateur athletes

Task

Web app, iOS and Android apps and a cloud backend for amateur athletes and event organisers, covering events, ticketing, official results, performance statistics, a social feed, chat and Premium subscriptions

  • Strategy

    One identity and one backend behind every screen: athletes use the phone or the web, organisers publish from the web, and the team reviews everything from one back office

  • Design

    One dark-themed design system across web and mobile, with a custom theme, Roboto Flex, animated loaders and a complete visual redesign in late 2025

  • Client

    AthletesWeR

  • Tags

    Android, Firebase, Flutter, iOS

AthletesWeR

Every race, every result, one platform.

AthletesWeR is a social platform for amateur athletes in Greece and the organisers who put on their races. Athletes get every race, organised event and casual meetup in one personal calendar, register and pay for entries, and after the race find their official results, statistics and history in the same place, alongside a social feed, chat and group-buy deals on gear. Organisers get one place to publish events, sell tickets and publish results to an audience that’s already looking for them. We designed, built and run the whole product end to end: the web app at athleteswer.com, the iOS and Android apps, and the backend platform behind them. It has been in continuous development since 2022 and is co-funded by the European Union – NextGenerationEU through the Greece 2.0 programme.

The Problem

Every race lived somewhere else

Amateur athletes find races on organisers’ websites, in Facebook groups and by word of mouth. They register on a different page for every event. Results come out as PDFs or on timing sites, and finding your own name across years of races is tedious enough that most people simply don’t. Training partners are scattered across messaging apps.

Organisers have the mirror-image problem. They need to publish events, sell entries, publish results and reach athletes, with nothing tying those jobs together. The opportunity was one platform that serves both sides of the start line, and turns a list of events into a community people come back to.

What we built

One platform, two sides of the start line

Three surfaces run on one backend. The web app at athleteswer.com works on desktop and mobile browsers. The iOS and Android apps are the athlete’s everyday tool. A back office lets the AthletesWeR team approve organisers and results, and manage campaigns, sponsors and content. There are two account types, athlete and organiser, and the same identity works everywhere. Sign-in takes seconds by phone number (an SMS code), email, Google or Apple, with Facebook as well on mobile.

Organiser accounts are reviewed before they can publish official events: the organiser applies with company details, logo, VAT number, website and a contact person, and follows the status of the application. The product earns from several directions at once: Premium subscriptions, race ticket sales, group-buy offers on gear, and sponsor and brand placements, each built into the normal flow instead of bolted on.

Athleteswer

Every event, in your calendar

The events feed opens on swipeable sport tabs, with upcoming races, meetups and suggestions picked for each athlete. Official events come from approved organisers and can be grouped into a race series with its own page. Meetups are group runs, rides and training sessions that any athlete can create, with start and finish points picked on a map. Search responds instantly, with filters for sport, town, country, organiser and type, and filters and scroll position are kept when you come back from an event. Each event page has the organiser, dates, an interactive map with start and finish markers, a searchable participant list, a sponsor strip, and results and race photos once it’s over. The monthly calendar shows colour-coded counts on every day: available events, events you’re in, and past events.

Tickets that fill themselves in

Organisers sell tickets for each race inside an event, with several ticket types and prices, registration windows with deadlines, and sold-out handling. Group and club tickets can require a minimum number of participants. Each organiser designs their own registration form, with text, number, date, multiple-choice and email fields, and the form is filled in automatically from the athlete’s profile. Payment happens on a secure Stripe checkout, followed by a confirmation page, an email receipt and an in-app notification. Every purchase stays in the athlete’s history with its registration and transaction numbers.

Results, uploaded once and found for you

Organisers upload official results straight from an Excel file, one table per race, with overall, age-group and gender rankings, bib numbers, start and finish times, and triathlon splits (swim, T1, bike, T2, run). Every upload is checked by the admin team before it’s published. Then the automatic results finder does the searching for the athlete: with one tap it scans every published result for their name. Clear matches are saved to their profile, and possible matches are shown with names masked for privacy, so the athlete can confirm or hide each one. Results can also be claimed straight from any results table.

A season's work, in numbers

Premium turns an athlete’s results into a performance dashboard. It has a level and XP, a leaderboard with gold, silver and bronze medals, and a full personal history that can be filtered by sport and year and sorted by date, rank or finish time. Monthly charts track distance, time and participations over 3, 6 or 12 months, and a map shows every race the athlete has completed. Premium is sold through Stripe on the web and through the App Store and Google Play in the apps.

Share it with people who don't have the app

Any result card, chart or race map can be shared as a link to a public page that works without an account. Each athlete also gets a public performance résumé, a page with their profile and race history that appears with a rich preview image when shared on social media. A branded photo creator takes a race photo, adds a stylish fade and the AthletesWeR logo, and lets the athlete download it or post it straight to the feed.

A community built around the start line

The feed has two streams: Following for people you follow, and Sports for activity in your sports. Posts carry text and up to five photos, can be linked to an event you took part in, and show instant likes and view counts. Athletes follow each other, become friends when the follow is mutual, and can block or report a profile. Joining an event adds you automatically to its group chat. There are also private chats and custom groups, with emojis, attachments up to 25 MB (images, inline videos and files), read status and unread badges. Chat search ignores accents and understands Greek typed in Latin letters. Strangers are limited to one message until it’s accepted, which keeps spam out.

Group buying that only charges when it works

In the apps, the Crowdfunding section offers limited-time group-buy deals on clothes, shoes, accessories and nutrition. Each offer shows the retail price next to the offer price, a countdown and a progress bar toward the number of participants needed. The athlete’s payment is held until the offer closes. If enough people join, the order goes ahead and ships. If not, nobody is charged.
The architecture

One backend for every screen

The web app is built in Angular and the mobile apps in Flutter, and both talk to the same platform: a versioned cloud API on Google Cloud Run, with endpoints for users, events, results, social, chat, search, payments, campaigns and forms, plus Firebase Cloud Functions for serverless logic. Firebase Authentication handles every sign-in method, and each account is mirrored on the AthletesWeR server so one identity works everywhere. Cloud Firestore holds users, events and chat rooms. The Firebase Realtime Database carries everything that has to be instant: chat messages, typing indicators, unread counters and live notifications. Public pages get server-side social previews, so a shared link always shows a proper image and title.

The rules of the platform are explicit. Organisers are approved before they publish. Results uploads are reviewed before they go live. Events move from submitted to approved or rejected, with listed, draft or private visibility. Result matching never attributes a result to the wrong person without the athlete’s confirmation. One subscription gate decides whether to show Premium content or an upsell, so the free/paid boundary is identical on web and mobile. Card payments happen only on hosted Stripe pages or through the app stores, and the server confirms every order before notifying the athlete.

The team can steer the platform without a release. A bilingual maintenance page switches on in seconds on web and mobile, the apps can show a soft or mandatory update prompt, and legal pages are edited from the CMS. Development, testing and production are separate environments with one-command deployment. Every feed uses infinite scrolling and pagination so large lists stay fast, and errors are reported to Sentry in real time.

Team and scope

Since 2022, end to end

Product design, web, mobile and backend are all ours. A team of [number]: [roles]. That adds up to more than 690 commits on the web app and about 880 on the mobile apps. Along the way:

Bilingual throughout, in the interface, the sport names and the legal content. The project “A social platform for amateur athletes with event/meetup calendar, features and more” is part of the Greece 2.0 national recovery and resilience plan, funded by the European Union – NextGenerationEU.

Technologies

Stack

Download mobile app

AthletesWeR

Back
Preloader image