Krenno
All projectsCase study
Mobile AppDating2024iOSAndroidWeb

LoveCyc

The dating and ride-community platform built for cyclists.

You’ll never ride alone.

View live product

Client

BicycleDate

Engagement

consumer startup

Krenno roleProduct strategyUX and visual designMobile engineeringWeb engineering+5 more
Positioning

Why this product exists

Generic dating apps ignore the ritual that actually brings cyclists together: the ride. LoveCyc combines mutual matching, ride-partner requests, geo discovery, compatibility questions, events, and a partner venue map into one product so people meet through the activity they already love — then stay connected with real-time chat and a premium membership that rewards genuine intent.

LoveCyc shows that Krenno Labs can take a tightly defined community and ship a complete multi-platform product around it: React Native iOS and Android, a Next.js member web app, a NestJS API with real-time chat, six payment rails, geo discovery, and an operations console. It is evidence that we can design a distinctive consumer brand, engineer a serious backend, and launch a monetized social product that holds together across devices. For the next client, this is the class of work we deliver — not a screen, a system.

Built for

  • Cyclists looking for dates, friendships, and ride partners
  • Lifestyle dating brands that need a niche community product
  • Cycling clubs, cities, and tourism operators seeking a social layer around rides and venues
  • Consumer startups that need matching, maps, chat, subscriptions, and moderation in one architecture
The story

Challenge, approach, solution

01

The Challenge

Cyclists already share roads, routes, and weekend rituals, yet mainstream dating products treat them as generic profiles. The opportunity was to build a product where cycling is the organizing principle — not a hobby tag buried in a bio. That required more than swipe mechanics. The platform had to support romantic matching and ride partnership as distinct intents, keep location useful without making it reckless, host events and partner venues, and monetize premium discovery without making the free experience feel hollow. It also had to launch as a real consumer system: verified accounts, multilingual copy for the DACH market, in-app purchases and European payment gateways, moderation tools, and the same product language on phone and web.

02

Our Approach

Krenno designed LoveCyc as one product with four surfaces — iOS, Android, member web, and an internal operations console — sharing a single API-driven backend. Discovery, matching, ride requests, chat, map, events, and membership were treated as one information architecture rather than separate apps. Profiles were built around ride identity: bike ownership, cycling activities, lifestyle prompts, languages, and comparison questions. Monetization was designed as a clear VIP layer instead of a maze of micro-purchases. Safety, verification, and admin controls were specified alongside the consumer experience so the product could operate in public, not only look complete in a demo.

03

The Solution

LoveCyc is a live dating and community platform for cyclists. Members create verified accounts, complete rider profiles, and discover people through filtered lists and a dual-mode map of nearby riders and bike-friendly places. Mutual likes become matches; a separate hitch flow lets someone ask to ride together. Events support public and private gatherings, invitations, join requests, and paid participation. Real-time chat carries the relationship forward with text, images, and voice. Premium membership unlocks inbound interest, advanced filters, and richer messaging. Staff run the network from an admin console covering users, reports, partner venues, compatibility content, notifications, and community analytics.

Experience

The Experience

A new member registers with email or phone, verifies the account, and builds a rider profile — photos, ride style, lifestyle answers, and what they are looking for. The home feed is a discovery surface with distance, age, gender, bike ownership, and activity filters. The center of the app is the map: toggle between people and places, cluster nearby markers, and open a hotspot or a rider profile in one motion. A like can become a match celebration that drops both people into chat. A hitch request is a more specific invitation: ride with me. Events and partner venues give the relationship a place to happen. VIP members see who already liked them, message with fewer gates, and send voice notes. Across iOS, Android, and web, the same bottom-bar language — chat, discovery, map, favorites, profile — keeps the product immediately familiar.

Product

What we built into the product

Cyclist-First Matching

Mutual matching built around rider identity. Members filter by distance, age, gender, bike ownership, and cycling activities, then like profiles until both sides confirm. A match celebration opens the path into chat so the moment of connection is immediate.

Ride Partner Requests

A dedicated hitch flow for asking someone to ride together, separate from romantic matching. Requests move through waiting, accepted, and declined states with push notification so pairing a ride has the same clarity as pairing a date.

Live Map Discovery

A dual-mode map of nearby riders and curated meeting points. Marker clustering, radius filters, timed location sharing, and turn-by-turn routing to venues make the city readable as a cycling social graph rather than a list of profiles.

Compatibility Questions

Visual comparison questions with image answers that surface taste, lifestyle, and ride preferences. Members answer over time; the catalog is managed from the admin console so compatibility stays editorial, current, and culturally specific.

Real-Time Conversation

One-to-one and group chat with text, images, voice notes, typing indicators, unread counts, and delayed push when someone is offline. Conversation is the retention layer after the match, not an afterthought.

Rides and Community Events

Public and private cycling events with capacity, invitations, join requests, reactions, and paid tickets. Organizers host the ride; members request or accept a place; the platform keeps attendance, messaging, and reminders in one workflow.

Partner Venue Network

A mapped catalog of bike-friendly places — e-bike rental, bike sharing, cafés, restaurants, gyms, bars, museums, and meetup spots — with opening hours, galleries, websites, and on-site events. The product gives dates and group rides a destination.

Premium Membership

A VIP subscription that reveals who liked and favorited you, unlocks advanced filters, enables voice messages, and allows direct conversation without a prior match. Server-side blurred avatars keep inbound interest visible but gated until the member upgrades.

Rider Profiles

Deep profiles with gallery photos, bike ownership, cycling activities, hobbies, interests, languages, lifestyle prompts, relationship intent, and a completion score. The profile is a rider passport, not a thin dating card.

Safety and Trust Controls

Verified email or phone accounts, block and temporary hide, user reporting with staff review, regulation re-acceptance, and account deletion with reason capture. Dating products only work when members feel they can leave, report, and be protected.

Also included

Operations Console

An internal admin platform for user management, report moderation, partner venue publishing, compatibility-question editorial, broadcast notifications, and analytics on answers and account closures. The consumer app has an operating system behind it.

Community Rankings

Weekly, monthly, and annual point rankings for creating events, joining rides, and contributing posts. Recognition gives active members status inside the community and gives the product a reason to return beyond the next swipe.

Multi-Gateway Commerce

Subscriptions and paid events through Stripe, Apple In-App Purchase, Google Play Billing, PayPal, Payrexx, and Viveum, with invoice data, PDF billing, and a managed price list. One membership product, six commercial rails for app stores and European checkout.

Cross-Platform Product Language

The same information architecture on React Native iOS and Android and a Next.js member web app: discovery, matches, favorites, map, chat, profile, and VIP. Members can start on a phone and continue in the browser without learning a second product.

Gallery

Product surfaces

Visual placeholders mark where final screens and captures will live. Drop assets at the paths shown on each tile.

Engineering

How it's built

LoveCyc is an API-driven system with four clients and one NestJS core. Mobile and web authenticate, then call REST under /api for profiles, discovery, matches, hitches, events, payments, and media. Socket.io on the same process carries chat, typing, and match events. Firebase push and delayed cron jobs cover members who are offline. TypeORM repositories sit behind a business layer so controllers never talk to tables directly. The admin console uses the same API on admin-scoped routes with an ADMIN role. Map clients render markers from first-party lat/lng; the server calculates distance and applies subscription gates such as blurred inbound likes. Payments write a single entitlement — subscription expiration — regardless of whether the receipt came from Stripe, a store, or a European gateway.

modularAPI-drivencross-platformrealtimesecure authfreemium

Decision

One API for mobile, web, and admin instead of separate backends

Matching rules, subscription entitlements, and moderation have to mean the same thing on every surface.

Product behavior stays consistent and new clients can be added without rewriting the domain.

Decision

Treat ride partnership as its own entity, not a match flag

Asking someone to ride is a different social contract from liking a profile.

The product can grow dating and community riding in parallel without collapsing both intents into one swipe.

Decision

Enforce premium visibility on the server with generated blur variants

Client-side hiding of who liked you is not a paywall.

Membership value is protected and the free experience can still tease inbound interest without leaking identity.

Stack

LoveCyc is a multi-client product on a modular NestJS API. React Native delivers iOS and Android from one codebase; Next.js delivers the member web app and the staff console; MySQL holds the domain model; Socket.io carries chat and match events; Firebase delivers push. The stack was chosen so matching, maps, media, payments, and moderation could evolve independently without splitting the product into disconnected implementations.

React NativeNext.jsTypeScriptTanStack React QueryReact Navigation and ZustandNativeWind, Tailwind CSS, and Shopify RestyleLeaflet and react-native-mapsNestJSTypeORMSocket.ioNode.js workers and media pipelineMySQLModular API-first deploymentFirebase Cloud MessagingSentryHandlebars mail and Link Mobility SMSJWT and Passport authenticationRole and access guards
Process

From brief to shipped product

  1. 01Discovery

    We started from the real social unit of cycling — the shared ride — and mapped two intents that generic dating apps flatten: romantic matching and ride partnership. Discovery covered DACH language expectations, verification habits, app-store commerce, and the need for places as well as people. The result was a product brief with four surfaces, a freemium membership model, and a trust requirement that was specified before screens were drawn.

  2. 02Design

    The design system is navy, cyan, and Inter, with a center map tab that announces the product’s difference the moment someone opens it. Profiles, filters, match celebration, chat, and VIP gates were designed as one language across mobile and web. Comparison questions and venue pages received editorial care so the community feels hosted, not scraped. Admin tools were designed for operators who work in tables and queues, not consumer chrome.

  3. 03Development

    Engineering proceeded as a modular NestJS domain with React Native and Next.js clients consuming the same contract. Matching, hitches, chat, events, media, and payments were delivered as modules with repositories, DTOs, and guards. Realtime, push, i18n, and store billing were integrated as product infrastructure. The admin console shipped on the same API so launch did not depend on database hopping.

  4. 04Testing

    Flows were validated across onboarding, verification, discovery filters, match and hitch state changes, chat including media and voice, map clustering and location windows, VIP entitlements, and admin moderation. API validation, Jest coverage on the backend, and client-side Zod schemas keep the contract honest. Sentry and version gates protect production once members are live.

  5. 05Launch

    LoveCyc launched as a coordinated consumer system: store-ready mobile clients, a member web app, transactional SMS and email, multi-gateway checkout, and a staff console for venues, reports, and questions. Localization shipped in German and English for members, with API-level Polish support. The live product is the dating and ride-community platform, not a waiting room for a later version.

Challenges

Hard problems, clear outcomes

Two social contracts in one product

Problem

Cyclists want dates and they want someone to ride with. If both intents share a single like button, the product becomes confusing and neither motion converts.

Approach

We modeled matches and hitches as separate domains with their own states, notifications, and lists, then kept both reachable from the same profile and map. Events and venues gave those intents a place to happen.

Outcome

LoveCyc can host romance and community riding without forcing every interaction through a dating metaphor. That dual architecture is what makes the niche commercially distinct.

Useful location without reckless location

Problem

A cycling dating map that always broadcasts a live pin is a safety failure. A map that never shows proximity is a directory.

Approach

Location is opt-in, time-bounded, and stored as first-party coordinates. The API calculates distance and serves either people or meeting points. Clients cluster markers and route to venues; they do not become the source of truth for who is visible.

Outcome

Discovery feels local and current while the product retains control over how long a member stays on the map and who can see them.

A paywall that still feels like a dating app

Problem

Inbound likes are the most valuable premium surface and the easiest to leak. If free members see everything, VIP has no reason to exist. If they see nothing, the free product feels empty.

Approach

The server generates blurred identity variants and applies subscription expiration before names and faces are released. VIP also unlocks filters, voice, and direct chat so the upgrade is a capability set, not a single locked list.

Outcome

Freemium has a honest shape: free members participate fully, premium members see more of the interest they already earned.

Commerce across stores and European checkout

Problem

The same VIP month cannot be six products. iOS, Android, cards, PayPal, and DACH gateways all have different receipts and failure modes.

Approach

We implemented dedicated verification services per gateway and wrote them into one payment and entitlement model. Price list items carry Apple and Google product identifiers beside web prices. Invoices and billing data sit next to the subscription, not in a side spreadsheet.

Outcome

Membership and paid events can be sold where the member already pays, while the rest of the product only asks whether the entitlement is active.

Realtime chat that respects attention

Problem

Open conversations need instant delivery. Offline members need a push. Active members who already have the thread open do not need a notification for every tap.

Approach

Socket.io handles live text, images, voice, and typing. A scheduled worker sends delayed Firebase push inside a quiet window so the notification arrives when it is still useful.

Outcome

Chat feels alive in session and reliable out of session, which is the difference between a messaging feature and a messaging product.

Media that dating and cycling both demand

Problem

iPhone HEIC photos, gallery crops, voice notes, and venue images all arrive in formats that will break a naive upload endpoint — and some of those images must later appear blurred for non-subscribers.

Approach

Uploads go through a CDN module with Sharp, HEIC conversion, worker-thread video processing, and stored blur variants. Clients handle crop, recording, and playback; the API owns durable files.

Outcome

Profiles, chat, and venues stay visually rich without blocking the API or leaking premium identity through the original file.

Proof

What this work proves

LoveCyc is a complete consumer platform: verified membership, cycling-native profiles, mutual matching, ride-partner requests, realtime chat, a dual-mode discovery map, events, partner venues, VIP commerce, and a staff console. It demonstrates that Krenno can design a niche community product and engineer the systems that make it operable — auth, geo, media, payments, notifications, and moderation — across iOS, Android, and web. The value is concentration. Fragmented tools for dating, group rides, and local venues become one product with a single entitlement and a single brand promise: you will not ride alone.

Consumer product strategyNiche community designCross-platform mobile engineeringWeb application engineeringAPI and domain modelingRealtime chat architectureGeolocation and map productsSubscription and multi-gateway paymentsTrust, verification, and moderationAdmin and operations platformsLocalization for European marketsMedia processing pipelinesFreemium product design

What's next

Intelligent ride and match guidance

Extend comparison questions and rider attributes into ranked suggestions, conversation starters, and ride-buddy recommendations so members spend less time filtering and more time meeting people who already share a route and a rhythm.

Connected training and route integrations

Bring ride history and preferred surfaces into the profile through connections with popular cycling platforms, so compatibility can include how someone actually rides, not only how they describe it.

Group ride operations

Grow events into a full ride-ops workspace with waitlists, recurring club calendars, co-hosts, and post-ride recaps that keep local scenes organized inside LoveCyc.

Have something in mind?

Tell us about your product and we'll help you ship something worth putting on this page.

→Start a project