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:
- Detailed metrics and data - comprehensive performance information displayed cleanly
- 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 layout - initial information hierarchy
Refined layout with better metric grouping
Color coding and visual hierarchy improvements
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:
Initial concept sketch
First working prototype
Adding gradient visualization
Progress indicators and metrics
Enhanced visual feedback
Current iteration with polish
Additional Interface Elements
User authentication 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
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.