Journal Entry #27 - Strategic Pivot to Mobile-First Development with Expo

Date: May 28, 2025

Table of contents
  1. Major Architecture Pivot
  2. Key Technical Decisions
    1. New Technology Stack
    2. Core Architecture Principles
  3. Development Environment Strategy
  4. User Experience Flow
  5. Strategic Benefits
  6. Implementation Roadmap
  7. Risk Mitigation
  8. Next Steps

Major Architecture Pivot

After extensive analysis of our development challenges and target market, we’ve made a strategic decision to pivot from a web-first approach to a mobile-first cross-platform solution using Expo and React Native. This represents a significant shift in our technical stack and development approach.

Key Technical Decisions

New Technology Stack

  • Frontend: Expo + React Native with TypeScript for true cross-platform deployment (iOS/Android/Web from single codebase)
  • Backend: Maintaining Rust with Axum framework for WebSocket handling (proven reliable)
  • Database & Auth: Supabase for user authentication and data persistence
  • Development Environment: WSL2 + Ubuntu on Windows with VS Code

Core Architecture Principles

  • Single WebSocket connection per friendship replacing ephemeral game rooms
  • Message routing by type (chat, game_invite, game_move, game_end, presence)
  • Friend-based persistent connections enabling seamless chat-to-game transitions
  • Cross-platform deployment maximizing reach with minimal development overhead

Development Environment Strategy

The choice to use WSL2 for Expo development addresses several critical pain points we’ve encountered:

  1. Networking Reliability: WSL2 resolves Windows-specific networking issues with Expo Go testing
  2. Tool Compatibility: Better integration with Node.js and npm ecosystem
  3. Development Experience: Seamless VS Code integration with WSL extension
  4. Deployment Consistency: Closer alignment with production Linux environments

User Experience Flow

The simplified user journey reflects our focus on ease of use:

  1. Authentication: Supabase handles login/registration across all platforms
  2. Connection: Player 1 generates shareable link → Player 2 accepts → instant friendship
  3. Interaction: Real-time chat and game invitations over persistent WebSocket
  4. Gaming: Turn-based games (starting with tic-tac-toe) with seamless transitions

Strategic Benefits

This pivot addresses several key challenges from our previous approach:

  • Reduced Complexity: Single codebase for multiple platforms vs. separate web/mobile apps
  • Faster Iteration: Expo’s hot reload and over-the-air updates enable rapid development
  • Market Reach: Native mobile experience while maintaining web accessibility
  • Development Efficiency: Leveraging existing React/TypeScript skills with mobile-specific benefits

Implementation Roadmap

Our 6-9 week development timeline follows a structured approach:

  1. Week 1: WSL2 environment setup and project initialization
  2. Weeks 2-3: Backend WebSocket infrastructure and Supabase integration
  3. Week 4: Mobile app foundation with authentication and navigation
  4. Weeks 5-7: Core features (friend connections, chat, gaming)
  5. Week 8: Mobile-specific polish (notifications, native features)
  6. Week 9: Testing, optimization, and deployment preparation

Risk Mitigation

Key risks identified and addressed:

  • Learning Curve: Leveraging existing React knowledge while focusing on React Native specifics
  • Device Testing: Using Expo Go for rapid testing across iOS/Android devices
  • Network Complexity: WSL2 configuration documentation for reliable development environment
  • Deployment Challenges: EAS (Expo Application Services) for streamlined app store deployment

Next Steps

Immediate priorities focus on environment setup and validation:

  1. Configure WSL2 development environment following our documented setup guide
  2. Initialize Expo project with TypeScript and required dependencies
  3. Validate Supabase integration and authentication flow
  4. Establish WebSocket communication between mobile app and Rust backend

This pivot represents a more focused, pragmatic approach that should accelerate our time-to-market while providing a superior user experience on mobile devices where our target audience primarily operates.


Hours Logged: 4.5

Tags: #architecture-pivot #expo #react-native #cross-platform #mobile-first #wsl2 #strategic-planning


Back to top

Copyright © 2025 Your Name. Distributed under an MIT license.