Vibefire is a mobile app that helps people discover and share local events. You can use it to see what’s happening nearby, create your own events, and invite friends to join in.
- App – Built with React Native, Tailwind (via NativeWind), tRPC, React Query and Expo, making it easy to deploy on both iOS and Android.
- API – Runs on Cloudflare Workers for fast, globally distributed serverless (edge) functions.
- Database – Originally used FaunaDB, a NoSQL database with a powerful query language and real-time support. After Fauna shut down, I planned to migrate to Convex, but didn't complete the transition in time.
While travelling, I often found it difficult to find what was happening in an area, unless it was an obvious tourist attraction, a well-known ticketed event or a scheduled group meetup. I wanted a way to see what was popular with locals, discover hidden gems and find spontaneous events.
So, I built Vibefire, an event heatmap that shows you what was popular in an area.
I wanted the app to be:
- Globally scalable
- Free to use, unless someone wanted to promote their event
To achieve that, I chose lightweight serverless tools that could scale easily and run at a low cost.
The repo is organised into three main folders:
- apps/ contains client/user-facing applications and tools.
- packages/ contains shared code, API, business logic, and integrations.
- services/ contains backend services and APIs.
apps/
  admin-tools/               # Tools for managing and generating events
  app.vibefire.native/       # The React Native mobile app
  vibefire.app/              # Next.js web app (landing pages, auth)
  vifr.io/                   # Redirect domain for mobile deep links
packages/
  api/                       # API layer using tRPC + Cloudflare Workers
  models/                    # Shared TypeScript models and types
  managers/                  # Business/data logic
  services/                  # Third-party integrations (e.g., Google Maps)
  shared-state/              # Jotai-based state management
  utils/                     # Common utility functions
services/
  api.vibefire.app/          # Core backend for the mobile app
  handle.vibefire.app/       # Webhook handler service
  vibefire-notifications-service/  # Push notifications (iOS & Android)
I’m publishing this project to showcase my full-stack development skills—from building a cross-platform mobile app to deploying serverless infrastructure and handling real-world data.
Vibefire taught me a lot about modern app architecture, mobile UX, and global-first development. Feel free to explore the code, and reach out if you’d like to chat or collaborate.
Here’s what the app looks like:
|  |  |  | 
|  |  |  |