Building CyclePro Elite: A Developer’s Journey into Indoor Cycling Software

After successfully launching three iOS applications focused on productivity and lifestyle, I’ve embarked on an ambitious new project that combines my passion for cycling with software development. CyclePro Elite represents a significant departure from mobile apps into the realm of desktop application development - specifically targeting the indoor cycling and smart trainer market.

First Steps: ANT+ Integration and Technology Choices

The journey began with what I knew would be the most challenging technical hurdle: getting ANT+ working reliably. ANT+ is the backbone of cycling sensor communication, but it’s also one of the most frustrating protocols to develop for. The documentation is sparse, the implementations are inconsistent, and frankly, it seems like there’s not much new development happening on this platform - likely due to EU regulations affecting the wireless landscape.

Despite these challenges, ANT+ remains a fantastic protocol with a massive installed base. I have an ANT+ dongle and various sensors, and the reliability and low power consumption of ANT+ devices make them ideal for serious training applications. The pain of development is worth it for the end result.

Why Go (Golang)? For the core application, I chose Go as my language of choice, and I couldn’t be happier with this decision. Go is truly an amazing project from Google - the language strikes the perfect balance between simplicity and power that makes it ideal for cross-platform desktop applications. The built-in concurrency primitives are perfect for handling real-time sensor data, and the cross-compilation capabilities mean I can build for Windows, macOS, and Linux from a single codebase.

Design Philosophy: No Boring Cycling Animations From day one, I’ve been clear about what I don’t want in CyclePro Elite: boring cycling animations and gamified distractions. When I’m training, I want one of two things:

  1. Detailed metrics and data - comprehensive performance information displayed cleanly
  2. My favorite videos with a compact, elegant metric overlay that doesn’t interfere with the content

This isn’t about making cycling “fun” with animations - serious training is already engaging when you have the right data and focus.

Hill Climbing Innovation Focus The first major feature I’m developing is what I call the “hill climbing elevation fun mode.” This isn’t just another gradient simulator - it’s a focused training tool where you can:

  • Set specific gradients for targeted training
  • Track progress to elevation targets with precise measurement of time, distance, and power
  • Measure climbing performance in ways that matter for real-world hill climbing

This is just the beginning of my innovation around hill climbing training. There are several more features in development that I think will genuinely change how cyclists approach indoor climbing practice.

Join the Journey If you love indoor cycling and want to follow along with this development journey, I’d love to have you join my mailing list for exclusive updates, beta testing opportunities, and insights into the development process.

🚴‍♂️ Join the CyclePro Elite Development Updates →

Why Indoor Cycling Software?

The decision to develop indoor cycling software wasn’t made lightly. As someone who appreciates both the technical precision of software development and the physical demands of cycling, I saw an opportunity to create something that bridges both worlds effectively.

The Current Landscape The indoor cycling software market is dominated by a few major players, each with their strengths and limitations. While established platforms offer comprehensive features, I noticed gaps in areas that matter to serious cyclists:

  • Hill Climbing Focus: Most platforms treat climbs as just another workout type, rather than the specialized discipline it is
  • Cross-Platform Desktop Support: Many solutions are web-based or limited to specific operating systems
  • Sensor Integration Complexity: Setup and connectivity often requires technical expertise
  • Training Specificity: Generic training plans that don’t account for climbing-specific adaptations

Early Development Insights

Technical Architecture Decisions

Building a cross-platform desktop application in 2025 presents interesting challenges. After evaluating various frameworks, I chose a path that would allow me to target Windows, macOS, and Linux from a single codebase while maintaining native performance for real-time sensor data processing.

Key Technical Considerations:

  • Real-time Data Processing: ANT+ and Bluetooth LE sensor data requires low-latency handling
  • Graphics Performance: Smooth visualization of climbs and real-time metrics
  • Hardware Integration: Direct communication with smart trainers for resistance control
  • Scalability: Architecture that supports future features and platforms

User Experience Philosophy

Currently I am leaning towards a flutter app. IT looks like I can combine go and flutter and create a great user expereince on Linux, Mac, Windows. And in that order. I have an old laptop I have ubuntu running on that I wave as my promary indoor cycling machine. I develop on mac, so I love mac, and windows would be what most people use.

Design Principles:

  • Information Hierarchy: Critical training data always visible and prominent
  • Contextual Interface: UI adapts based on workout phase and training focus
  • Minimal Cognitive Load: During intense efforts, the interface should support, not distract
  • Professional Aesthetics: Clean, modern design that reflects the serious nature of training

Development Progress Screenshots

Let me share some early development screenshots that show the evolution of the application:

Dashboard Evolution

The main dashboard has gone through several iterations as I refined the information architecture:

Early Dashboard Concept 1

Early dashboard layout - initial information hierarchy

Early Dashboard Concept 2

Refined layout with better metric grouping

Early Dashboard Concept 3

Color coding and visual hierarchy improvements

Early Dashboard Concept 4

Current dashboard iteration with focus zones

Summit Spinner Interface

One of the unique features I’m developing is the “Summit Spinner” - a visual climb interface that shows your progress up virtual mountains:

Summit Spinner Concept

Initial concept sketch

Summit Spinner Early 1

First working prototype

Summit Spinner Early 2

Adding gradient visualization

Summit Spinner Early 3

Progress indicators and metrics

Summit Spinner Early 4

Enhanced visual feedback

Summit Spinner Early 5

Current iteration with polish

Additional Interface Elements

Login Interface Concept

User authentication interface

Video Mode Interface

Video training mode concept

Challenges and Learning Experiences

Hardware Integration Complexity

Working with ANT+ and Bluetooth LE protocols has been both fascinating and challenging. Unlike mobile development where platform APIs abstract much of the complexity, desktop sensor integration requires:

  • Low-level Protocol Handling: Direct implementation of fitness device communication standards
  • Cross-platform Hardware Access: Different operating systems handle hardware differently
  • Real-time Performance: Sensor data streams require consistent, low-latency processing
  • Device Compatibility: Supporting the wide variety of cycling sensors and trainers available

Performance Optimization

Desktop applications face different performance challenges than mobile apps:

  • Memory Management: Long training sessions require efficient memory usage
  • CPU Utilization: Real-time graphics and data processing without overheating laptops
  • Battery Optimization: For laptop users during longer training sessions
  • Multi-threading: Separating UI updates from sensor data processing

Market Positioning and Vision

Target Audience CyclePro Elite is being developed for people who want to have a serious amount of cycling fun:

  • Specialized hill climbing training with scientifically-based protocols
  • Cross-platform compatibility for their desktop/laptop setup
  • Professional-grade sensor integration without complexity
  • Training analytics focused on climbing-specific metrics

Competitive Differentiation

  • Desktop-First Design: Optimized for larger screens and extended training sessions
  • Hill Climbing Specialization: Purpose-built features for climbing training
  • Cross-Platform Native Performance: Not web-based, ensuring responsive sensor handling
  • Clean, Professional Interface: Inspired by iOS design principles but adapted for cycling training

Future Development Roadmap

Short-term Goals (Next 3 Months)

  • Sensor Integration Completion: Full ANT+ and Bluetooth LE support
  • Smart Trainer Control: Automatic resistance adjustment for climb simulation
  • Beta Testing Program: Limited release to cycling enthusiasts for feedback
  • Performance Optimization: Ensuring smooth operation across all target platforms

Medium-term Vision (6-12 Months)

  • Mobile Companion Apps: iOS and Android apps for workout syncing and analysis
  • Community Features: Sharing climbs and comparing progress with other cyclists
  • Advanced Analytics: Detailed power analysis and training adaptation tracking

Product Development Insights

  • Niche Market Focus: The value of serving a specific, passionate user base well
  • Hardware-Software Integration: The complexity and rewards of bridging physical and digital experiences
  • User Research Importance: Understanding the specific needs of serious cyclists versus casual users
  • Iterative Design Process: The importance of continuous testing and refinement

Community and Feedback

I’m actively seeking feedback from the cycling community as development progresses. As CyclePro Elite moves toward its first stable release, I’ll be looking for a small, dedicated group of cyclists to help test both hardware compatibility and software functionality. This testing phase will be crucial for ensuring stability across different sensor setups, smart trainers, and computer configurations.

What I’m Looking For in Beta Testers:

  • Hardware diversity: Different ANT+ dongles, sensors, and smart trainer brands
  • Platform variety: Windows, macOS, and Linux users to test cross-platform stability
  • Training experience: Cyclists who understand power data, climbing metrics, and indoor training
  • Technical feedback: Users who can provide detailed bug reports and usability insights

If you’re interested in:

  • Beta testing early versions of CyclePro Elite with your hardware setup
  • Providing input on features and interface design
  • Sharing your indoor training experiences and pain points
  • Discussing cycling technology and training methodologies
  • Being part of a small testing community that shapes the final product

Please feel free to connect with me - I’d love to hear from fellow cyclists and fitness technology enthusiasts. When the beta testing phase begins, I’ll reach out to those who’ve expressed interest to form this core testing group.

Conclusion

Building CyclePro Elite has been an incredibly rewarding challenge that combines my passion for software development with my love of cycling. While there’s still significant work ahead, the early progress and positive feedback from initial testers gives me confidence that we’re building something valuable for the cycling community.

The journey from iOS apps to desktop cycling software has pushed me to grow as a developer while staying true to the user-focused design principles that made my previous applications successful. I’m excited to continue sharing this development journey and look forward to getting CyclePro Elite into the hands of cyclists who will benefit from specialized climbing training software.

Stay tuned for more development updates, technical deep-dives, and progress reports as we work toward the first beta release!


Want to stay updated on CyclePro Elite development? Connect with me for the latest progress reports and beta testing opportunities.

Tags: