Projects Stack About Contact
All projects
TourTap
LIVE Since 2024 web ios android

TourTap

Go out, meet, live the moment.

Overview

TourTap is an event-driven social network. Instead of doom-scrolling profiles, you join an event near you and the conversations follow. Built from scratch as three native clients sharing a single Laravel backend — web, iOS, and Android — with real-time messaging, push notifications, and a defensive multi-platform subscription system.

The product hinges on a freemium loop: free users join events, Premium users create more, get boosts that elevate their event on the map for 24h, and unlock filtering on the explore map. Apple, Google, and Stripe billing are reconciled server-side to prevent double-subscribes or refund abuse.

What it does

Features

Discovery

Event discovery

A map-based explore page with geospatial clustering, distance filters, and category browse — built on MySQL ST_Distance_Sphere queries.

Premium

Event boosts

24-hour elevation that pushes a Premium user's event to the top of the map. Monthly quota auto-refills with the subscription and is clawed back on refund.

Cross-platform billing

Stripe (web), Apple StoreKit (iOS), Google Play Billing (Android) reconciled server-side. Prevents double-subscribes; webhooks revoke premium on refunds.

Three user tiers

Standard (1 active event), Premium (5 events, 5 boosts/month, filters), and Partner. Visual ring & badges across web/iOS/Android.

Social

Real-time messaging

Private DMs and per-event group chats over Laravel Reverb. Mobile uses Starscream (iOS) and OkHttp WebSocket (Android) on top of a shared protocol.

Push notifications

Firebase Cloud Messaging integrated on both mobile platforms for new messages, event reminders, and boost expirations.

Trust

Safety & moderation

Block/report flows with bidirectional invisibility, soft-deletes on events and users so chats stay intact post-deletion.

Operations

Admin panel

Filament-powered backoffice for moderating users, events, categories, and Premium tiers.

Engineering

Feature parity

A hard rule: every user-facing feature ships on web + iOS + Android together. Server is strictly backwards-compatible across app versions.

Computed lifecycle

Events auto-freeze when end_date < now() — no archive table, no client-side recomputation. The API exposes a single `passed` flag.

Built with

The stack

backend

17
Laravel backend

PHP web framework powering the API, admin, and websites.

PHP 8.3+ backend

Modern PHP with strict types, readonly props, and JIT.

Filament backend

Admin panel framework built on Livewire & Tailwind.

Livewire frontend

Full-stack reactive components without leaving PHP.

Laravel Sanctum backend

Token authentication for mobile API clients.

Laravel Fortify backend

Headless authentication backend.

Laravel Reverb realtime

First-party WebSocket server for real-time messaging.

Laravel Echo realtime

WebSocket client for broadcasting events.

MySQL database

Primary relational database, including spatial queries.

Redis database

Cache and session driver.

Stripe payments

Web subscription billing and webhooks.

Firebase Cloud Messaging mobile

Cross-platform push notifications.

Sentry devops

Error tracking & performance monitoring.

Tailwind CSS frontend

Utility-first CSS framework for fast UI iteration.

Vite frontend

Lightning-fast asset bundler with HMR.

Intervention Image backend

Image processing, resizing, and optimization.

Docker devops

Local & production containerization.

ios

7
Swift mobile

Modern, type-safe language for Apple platforms.

SwiftUI mobile

Declarative iOS UI framework.

MapKit mobile

Native Apple maps & geocoding.

CoreLocation mobile

GPS-driven location services on iOS.

StoreKit 2 mobile

Modern in-app purchase APIs on iOS.

Starscream mobile

Production-grade WebSocket client for Swift.

Apple StoreKit payments

Native iOS in-app purchases & subscriptions.

android

8
Kotlin mobile

Statically-typed JVM language for Android.

Android XML Views mobile

Classic Android UI with Material 3.

Material 3 mobile

Google’s design system for Android.

Google Maps SDK mobile

Maps, clustering, and Places autocomplete.

OkHttp mobile

HTTP & WebSocket client for Android.

Glide mobile

Image loading & caching on Android.

Google Play Billing payments

Native Android subscriptions and verification.

Firebase Cloud Messaging mobile

Cross-platform push notifications.