Updated Oct 01, 2025

Step-by-Step Guide: Building a Strava Clone with Adalo

Table of Contents
Text Link

This comprehensive tutorial walks you through creating a feature-rich fitness tracking app using Adalo’s no-code platform. You’ll build GPS routes, activity logging, social feeds, challenges, leaderboards, and payment flows—without writing code. You’ll also learn how to publish to iOS, Android, and the web from the same Adalo project (store submissions still happen separately).

Why Choose a No-Code App Builder for Fitness Apps

The Cost and Time Advantage

Traditional development can be expensive and slow. With Adalo, you visually assemble screens, data, and logic—speeding up prototyping and shortening feedback loops. Publishing workflows are handled inside Adalo for web apps and native stores, so you spend more time refining your product and less time wrestling with build tools.

Benefits of No-Code for Fitness Apps

  • Rapid prototyping: Ship an MVP in weeks and iterate with real user feedback.
  • Cross-platform: Build once; publish to iOS, Android, and web.
  • Built-in infrastructure: Auth, database, hosting, and notifications are available in one place.
  • Extendibility: Add payments, charts, and maps from the marketplace; connect external APIs via External Collections.

Setting Up Your Adalo Project

Create Your First App

  1. Create an account at Adalo.com.
  2. Click Create New App → choose Mobile App.
  3. Name your project (e.g., FitTracker).
  4. Pick your starting layout (portrait is typical for fitness).
  5. Open the editor to start building.

Get Oriented in the Builder

  • Left Sidebar: Components and app structure
  • Canvas: Visual editor for screens
  • Right Panel: Properties and conditional logic
  • Top Bar: Preview and publish
  • Bottom/Data: Collections (database) and user settings

For hands-on tutorials, visit Adalo Academy videos.

Designing Core Activity-Tracking Features

Set Up Your Database Structure

Click Database and create these collections:

Activities

  • Activity Type (Text) — Running, Cycling, Walking
  • Start Time (Date & Time)
  • End Time (Date & Time)
  • Duration (Number)
  • Distance (Number)
  • Average Pace/Speed (Number)
  • Calories (Number)
  • Route Data (Text or JSON for GPS points)
  • Title (Text)
  • Notes (Multiline Text)
  • Privacy (Text: Public, Followers, Private)

Locations (optional if you store points separately)

  • Latitude (Number)
  • Longitude (Number)
  • Timestamp (Date & Time)
  • Altitude (Number)
  • Speed (Number)
  • Activity (Relationship → Activities)

Users (enhance the default)

  • Profile Photo (Image)
  • Bio (Multiline Text)
  • Preferred Units (Text: Metric/Imperial)
  • Total Distance (Number)
  • Total Activities (Number)
  • Join Date (Date & Time)
  • Privacy Settings (Text)

Create relationships:

  • Activities → Users (Many-to-One, Author)
  • Locations → Activities (Many-to-One)

Add GPS & Map Features

  1. Install a maps component from the Adalo Marketplace.
  2. Enable device location permissions in your app settings.
  3. If using Google Maps, obtain an API key and add it per component instructions (see Google’s pricing if needed).
  4. On the Record Activity screen, place a map and show the current location.
  5. Store GPS points at intervals (e.g., on a timer tick) in Locations or append to Route Data on Activities.

Tips:

  • Update location every few seconds for smoother paths.
  • Compute distance between points in formulas or using a lightweight endpoint connected via External Collections.
  • Visualize the route polyline with your map component’s capabilities.

Build the Recording Flow

Pre-Activity

  • Activity picker (icons or dropdown)
  • Goal inputs (distance/duration/pace)
  • Route preview
  • Start button (3-2-1 countdown)

During Activity

  • Live map (current position)
  • Real-time stats (time, distance, pace)
  • Pause/Resume controls
  • Lock screen toggle to prevent accidental taps

Post-Activity

  • Summary (time, distance, pace, elevation if tracked)
  • Route map with start/finish markers
  • Notes field & privacy setting
  • Save/Discard

Timing logic: Use date stamps for start/pause/resume/end; compute duration as differences. Store paused intervals to calculate active time.

Building Social Features

Follow/Unfollow System

Create a Relationships collection:

  • Follower (Users)
  • Following (Users)
  • Follow Date (Date & Time)
  • Notifications On (True/False)

Actions:

  • Toggle button creates/deletes a relationship.
  • Update follower/following counts on user profiles.
  • Trigger notifications for new follows or completed challenges.

Activity Feed

  • Custom List of Activities from users the logged-in user follows (or Public).
  • Show avatar, title, stats, and route thumbnail.
  • Add Like and Comment interactions (Likes collection, Comments collection).
  • Sorting by Start Time (descending).

Analytics & Performance Dashboards

Personal Dashboard

  • Totals: Weekly/Monthly distance, total activities, active days
  • Records: Best 5K/10K, longest ride/run, fastest mile/km
  • Goals: Progress bars toward weekly/monthly targets

Charts

  • Install chart components from the marketplace.
  • Line charts for distance by week, bar charts for activity counts, pie charts for activity type mix.
  • Use filtered lists or computed fields for chart data sources.

Challenges, Leaderboards & Achievements

Challenges

Challenges collection:

  • Name (Text)
  • Start Date / End Date (Date & Time)
  • Type (Text: Distance, Duration, Frequency)
  • Target (Number)
  • Participants (Relationship → Users)

Leaderboard:

  • Filter activities within challenge window.
  • Sum target metric per participant.
  • Sort descending and display ranks.

Badges & Milestones

Badges collection:

  • Name (Text)
  • Icon (Image)
  • Criteria Type (Text) — e.g., “Distance in Week”
  • Criteria Value (Number)
  • Rarity (Text)

Logic:

  • After saving an activity, evaluate criteria and award badges.
  • Show confetti/celebration modal and add to profile.

Payments, Integrations & Automations

Subscriptions & Purchases

Use Stripe for web payments and (where applicable) in-app purchase integrations for native stores:

  • Install Stripe from the Adalo Component Marketplace for web/Stripe-eligible purchases.
  • For native iOS/Android in-app purchases and subscriptions, use integrations available in the marketplace and follow Apple/Google policies.
  • Build an Upgrade screen with plan options, a checkout flow, and logic to unlock premium features on success.

External Services

  • Connect third-party APIs (e.g., weather, geocoding) via External Collections.
  • Automate exports and notifications using Zapier integration (e.g., log activities to Sheets, send emails, trigger webhooks).

Optimization, Testing & QA

Mobile-First UX

  • Use large tap targets (Apple recommends 44×44 points) with Apple’s touch target guidance.
  • Keep key stats readable during activities.
  • Use conditional visibility to keep heavy screens light.

Performance

  • Limit initial list sizes; add “Load more.”
  • Avoid deep nesting; prefer simpler list layouts.
  • Compress images and thumbnails; use Adalo’s performance tips as guidance.

Testing

  • Use Preview in the editor and the Adalo mobile preview app (scan QR).
  • Test GPS permissions, location updates, and route drawing on real devices.
  • Validate data writes/reads, pause/resume timing, and offline tolerance (e.g., queue writes until online).

Publishing to App Stores & Web

Apple App Store (iOS)

  • Create an Apple Developer account at $99/year.
  • Prepare icons, descriptions, and screenshots (6.7-inch and 5.5-inch iPhone sizes—see Apple’s screenshot guidance in App Store Connect).
  • Build and submit through Adalo’s publishing workflow.
  • Most reviews complete in 24–48 hours, though some take longer (see Apple’s App Review).

Google Play (Android)

  • Register a Google Play Developer account with a one-time registration.
  • Prepare store listing assets (including 1024×500 feature graphic) using Google’s store listing assets.
  • Upload an Android App Bundle (AAB) (see Google’s app bundle overview).
  • Set up internal, closed, or open testing (no minimum required for internal; see testing tracks).
  • Reviews can take several days for new apps and accounts.

Web App

You publish iOS, Android, and web from the same Adalo project; each app store requires its own submission.

Platform Limitations and Workarounds

Critical Constraints to Address

Performance

  • Large collections and “lists-within-lists” can slow screens.
  • Heavy image usage and complex computed fields impact load times.
  • For very large datasets, consider offloading to an external backend via External Collections.

Real-Time Features

  • Continuous live tracking and background updates are limited.
  • Manual refresh or timed actions may be needed for near-real-time feeds.
  • For advanced live features, pair Adalo with a real-time backend via webhooks or lightweight APIs.

Workarounds

  • Use pagination and “Load more.”
  • Pre-compute or cache aggregates where possible.
  • Minimize nested components; split complex views into multiple screens.
  • Store GPS points efficiently (e.g., batched JSON) and render polyline segments selectively.
  • Offload heavy logic to an external service and connect via External Collections.

Cost Breakdown and Resources

Adalo Subscription

Additional Services

Marketplace Components

Additional Resources

Note: This Strava-style guide covers activity logging, GPS routes, analytics, social features, challenges, and publishing using Adalo’s capabilities. True background tracking, high-frequency live telemetry, and complex offline sync are limited on pure no-code. If you need those, pair Adalo with external services (e.g., a lightweight API for distance calculations, a real-time backend) via External Collections. For large-scale usage, adopt progressive list loading, efficient data modeling, and image optimization to maintain performance.

Start Building With An App Template
Build your app fast with one of our pre-made app templates
Try it now
Read This Next

Looking For More?

Ready to Get Started on Adalo?