Spark Event Platform

Mobile App

A React Native event networking platform connecting attendees, speakers, and sponsors through scheduled meetings, live updates, and QR-based ticketing.

React NativeExpoTypeScriptNativeWindReact Navigation

Project Overview

Spark is an internal company application designed to streamline event networking and coordination. The platform allows attendees to browse schedules, request meetings with sponsors or other participants, manage QR-based tickets, and stay updated with real-time notifications.

Built with React Native and Expo, Spark runs natively on iOS and Android, delivering a smooth, mobile-first experience optimized for conference and corporate event environments.

My Role

Frontend Engineer (Mobile)

I was responsible for:

  • UI implementation across all mobile screens
  • Mobile navigation architecture with React Navigation
  • State management and data flow
  • Backend API integration
  • Responsive mobile layouts and touch interactions

Note: I did not build the backend logic or server infrastructure.

What I Built

Core Features Implemented

  • Event schedule browsing with filtering by stage and time
  • Attendee networking system with profile cards and connection requests
  • Meeting request flow (physical/virtual) with date, time, and location selection
  • QR code ticket scanner with transfer functionality
  • Company and speaker profile detail views
  • Personal profile management system
  • Notification center for meeting requests and updates

UI/UX Components

  • Bottom sheet modal for attendee details using @gorhom/bottom-sheet
  • Custom tab navigation with active state indicators
  • Swipeable card views with gesture handlers
  • Loading states and skeleton screens

Technical Implementation

  • Stack and tab navigation using @react-navigation/native
  • Tailwind-style utility classes with NativeWind for consistent design
  • QR code generation and scanning logic
  • API integration with mock data during early development

Tech Stack

Mobile Framework

  • • React Native (0.81.5)
  • • Expo SDK (54)
  • • TypeScript (5.9.2)
  • • React (19.1.0)

Navigation & Routing

  • • @react-navigation/native
  • • @react-navigation/native-stack
  • • react-native-screens
  • • react-native-safe-area-context

Styling & Design

  • • NativeWind (Tailwind for React Native)
  • • Tailwind CSS
  • • react-native-svg
  • • expo-linear-gradient

Animations & Gestures

  • • react-native-reanimated
  • • react-native-gesture-handler

Screens

These Figma design frames represent screens I personally implemented in the mobile app.

Home Screen

Main dashboard with event overview and quick access to key features

Home Screen

Event Schedule Browsing

Schedule Main

Filterable schedule view with stage and time selection

Schedule Main

Schedule Detail

Detailed event view with speaker info and session details

Schedule Detail

Attendee Networking System

Card View

Swipeable attendee profile cards for quick browsing

Attendees Card View

List View

Compact list layout with key attendee information

Attendees List View

Detail View

Bottom sheet modal with full profile and action buttons

Attendee Detail

Meeting Request Flow

All Meetings

Overview of scheduled, pending, and past meetings

All Meetings

Request Meeting

Form for requesting physical or virtual meetings with date and location

Request Meeting

Inbound Request

Modal for accepting or declining meeting requests

Meeting Request Modal

Scheduled Meeting

View confirmed meeting details with edit and cancel options

Scheduled Meeting

QR Code Ticket System

My Ticket

QR code display for event check-in and verification

My Ticket

Scan Ticket

Camera integration for scanning attendee QR codes

Scan Ticket

Scanned Result

Validation result and attendee information post-scan

Scanned Ticket

Profile Detail Views

Company Profile

Sponsor company details with team members and contact info

Company Profile

Speaker Profile

Speaker bio, session list, and meeting request option

Speaker Profile

Personal Profile Management

Editable user profile with bio, company info, and social links

Personal Profile Management

Notification Center

Notifications List

Real-time updates for meeting requests and event changes

Notifications

Notification Detail

Expanded view with full context and action options

Notification Detail

Architecture & Integration

The app uses React Navigation's stack and tab navigators for seamless screen transitions. NativeWind brings Tailwind's utility classes to React Native, enabling consistent styling across components. State management relies on React's built-in hooks and context for simple, maintainable data flow.

Backend integration uses REST APIs with mock data fallbacks during early development. The app handles authentication tokens, error states, and loading indicators to provide a smooth user experience.

Challenges & Learnings

Cross-Platform Consistency

Ensuring UI elements rendered consistently across iOS and Android required platform-specific adjustments, especially for navigation headers and safe area handling.

Navigation Architecture

Structuring nested stack and tab navigators while maintaining clean state management taught me the importance of planning navigation flows early.

Mobile Gestures

Implementing swipe actions and bottom sheets required learning react-native-gesture-handler and understanding mobile touch interactions.

Performance Optimization

Rendering large lists efficiently led me to implement FlatList/SectionList with proper key extraction and memoization.

Next Steps

  • Implement offline-first data caching with AsyncStorage
  • Add push notifications using Expo Notifications
  • Integrate calendar sync for scheduled meetings
  • Enhance accessibility with screen reader support
  • Add unit and integration tests with Jest/React Native Testing Library