A portfolio mobile app for the Cairde Sligo Arts Festival, built with React Native 0.84.
Captured on the iOS Simulator. PNG originals live in release/screenshots/iPhone 16 Pro Max PNG/; JPEG copies in release/screenshots/iPhone 16 Pro Max JPG/.
Home![]() |
Featured events![]() |
Event details![]() |
Map categories![]() |
Map details![]() |
My Festival![]() |
What’s On![]() |
Short walkthrough (~27 s). The full recording is release/video/CarideAppVideo.mp4 (~48 MB). For the README and faster loading, use the compressed preview:
release/video/cairde-app-preview.mp4 (~6.5 MB, H.264, faststart).
Download / open preview video · Encoding notes & variant comparison
| Layer | Technology |
|---|---|
| Framework | React Native 0.84 + React 19 |
| Navigation | React Navigation 7 (Native Stack + Bottom Tabs) |
| Animations | React Native Reanimated 4 |
| Graphics | @shopify/react-native-skia 1.x |
| Maps | react-native-maps 1.27 |
| Storage | @react-native-async-storage/async-storage |
| Icons | FontAwesome 6 (solid + brands) |
| Gradients | react-native-linear-gradient |
| Architecture | New Architecture (Fabric + TurboModules) |
- Node.js 22+ (RN 0.84 requires Node 22 minimum)
- Xcode 16+ for iOS
- Android Studio Hedgehog+ for Android
- Ruby / Bundler for CocoaPods
# Install dependencies
npm install
# iOS — install pods
cd ios && bundle exec pod install && cd ..
# Start Metro bundler
npm start
# Run on iOS simulator
npm run ios
# Run on Android emulator
npm run android- Countdown timer — Skia-powered circular progress ring counting down to festival
- Event listings — Full-screen cards with gradient overlays and favorite saving
- My Festival — Personal schedule with timeline view and native share
- Interactive map — Filter venues by category (Art, Stages, Bars, Food) with pill chips
- FAQ accordion — Animated expand/collapse with linked resources
- Dark navigation — Reanimated 4 animated tab icons with bounce effect
- New Architecture (Fabric renderer) enabled by default on both iOS and Android
- iOS minimum deployment target: 17.0
- Android minimum SDK: 24
- All hardcoded dates are computed dynamically from
new Date().getFullYear()
- Obtain a Google Maps API key from the Google Cloud Console
- Create
android/app/secrets.propertieswith:MAPS_API_KEY=your_key_here - For iOS, add your key to
ios/cairde_festival/AppDelegate.mmor via the Info.plist
# Using nvm
nvm install 22
nvm use 22
# Or using fnm
fnm install 22
fnm use 22





