Cross-Platform Mobile App for Community Ride-Sharing
A seaside-town tourism / community app
Overview
A cross-platform mobile application for a seaside-town tourism and community service, letting residents and visitors create and join shared rides, chat in travel groups, and manage invitations and profiles. Built with Expo / React Native so a single codebase targets iOS, Android and web.
The Challenge
The community needed an approachable mobile experience for coordinating shared trips, proposing a ride, inviting others, and chatting with the group, that worked on any device without maintaining separate native codebases.
What We Built
An Expo / React Native app structured into screens, components, navigation, constants and a centralized logic layer. Screens cover the ride lifecycle (add a ride, ride overview), group chat, invitations sent and received, authentication (login / registration / auth-loading), and the user’s account, profile and settings. Navigation is split into dedicated stacks, an authentication navigator, a rides navigator, a tab navigator and a modal navigator, wired through a root app navigator with a separate web entry point. Realtime conversations use Pusher ChatKit with the react-native-gifted-chat UI, Facebook login via expo-facebook, and a Kea + Redux (thunk, reselect) state layer.
Technologies & Approach
React Native on Expo with React Navigation and NativeBase components, Kea/Redux for predictable state, Axios for API calls against the AdonisJS backend, Moment for date handling, and react-native-web for the web target. The single-codebase, multi-platform approach kept delivery lean for a community-scale product.
Outcome / Impact
Delivered a working multi-platform community app covering the full ride-sharing flow end to end, discovery, creation, invitation and realtime chat, against a shared backend and admin console.
Capabilities Demonstrated
- Building one React Native / Expo codebase for iOS, Android and web
- Structured multi-stack navigation (auth, tabs, modals, feature stacks)
- Realtime chat UX with Pusher ChatKit and Gifted Chat
- Social authentication (Facebook) and session handling
- Scalable state management with Kea and Redux