Week 2 Progress: User Preferences and Activity Logging

AuthorCycle My Way Team
Publish Date
CategoryWeekly Progress
#progress#development#user-preferences

Week 2 brought significant improvements to the personalization features of Cycle My Way.

User Preferences System

We've built a comprehensive system for users to tag streets:

  • Street Tagging: Users can now mark streets as "loved" or "avoided" directly on the map
  • Preference Storage: Preferences are stored and used to influence route calculations
  • Visual Feedback: The map now shows color-coded indicators for user preferences

Activity Logging

The activity logging system is now functional:

  • Strava Integration: Connected with Strava API to import cycling activities
  • Activity Storage: Activities are stored with full GPS tracks and metadata
  • Route Matching: System can match logged activities to existing routes in our database

Route Discovery Improvements

We've enhanced the route discovery algorithm:

  • Preference Weighting: Routes now prioritize streets users have marked as "loved"
  • Avoidance System: Routes actively avoid streets marked as "avoided" when possible
  • Freshness Factor: The system considers how recently a user has visited certain areas

Performance Optimizations

This week also included important performance work:

  • Database Indexing: Added indexes to improve query performance
  • Caching Layer: Implemented caching for frequently accessed route data
  • API Response Times: Reduced average API response time by 40%

What's Next

For week 3, we're planning:

  • Building the route simulation system with physics calculations
  • Implementing time-based routing (quick routes vs. scenic routes)
  • Starting work on the mobile-responsive UI

The platform is really starting to take shape!