Skip to main content

iPhone App

TPee

CAO-TECH’s own iPhone app for finding public restrooms nearby, with opening hours, access rules and accessibility shown before you go. Free on the App Store.

Status
CAO-TECH product
TPee iPhone app: map of nearby restrooms, the I Gotta Go screen and a restroom detail page

Overview

Project Overview

TPee is CAO-TECH’s own iPhone app for finding public and publicly accessible restrooms. It shows what to expect before you get there — whether a restroom is open, how to get in and what it has — and searching needs no account. It is free on the App Store, with a companion site and admin portal at tpee.io.

The Challenge

When you need a restroom quickly, maps rarely say whether it is open, whether you have to buy something or ask for a code, or whether it is accessible, and listings go out of date. Community-edited data also has to be protected from bad edits, and people’s locations kept private.

Our Solution

A native SwiftUI iPhone app on Firebase. One “I Gotta Go” button weighs distance, opening hours, access rules, how recently a restroom was confirmed and the user’s preferences, then offers the best option with walking or driving time. Listings say “unknown” instead of guessing, show when they were last verified, and never publish access codes. Signed-in users confirm, review and correct listings; Cloud Functions award points and badges and handle moderation, while Firestore security rules — covered by automated tests — stop the app from writing anything only the server may write.

Screenshots

A Closer Look

Features

Key Features

  • I Gotta Go

    One button ranks nearby options by distance, open hours, access rules, recent confirmations and preferences, with walking or driving time and a next option.
  • Know before you go

    Open, closed or unknown hours, and access: free, purchase required, customers only, code or key, or ask an employee.
  • Accessibility details

    Wheelchair accessible, family restroom, gender-neutral, changing tables and single occupancy.
  • Honest ratings

    TPee Score and category ratings appear only once enough real reviews exist; every listing shows when it was last verified.
  • Map, list and search

    Map or sortable list, search by city, address, ZIP, landmark or name, filters, and directions in Apple Maps, Google Maps or Waze.
  • Community contributions

    Sign in with Apple, Google or email to confirm, review, suggest corrections or add restrooms and earn TPee Points and badges; changes are checked.
  • Private by design

    Search without an account; location is used only to find nearby restrooms and is not stored or shared; profile visibility controls and in-app account deletion.
  • Server-side trust

    Cloud Functions own points, badges, ratings and moderation; Firestore and Storage security rules are backed by automated tests.

Technology

Technology & Integrations

Built with

  • iOS
  • SwiftUI
  • Firebase
  • Cloud Firestore
  • Cloud Functions
  • Push Notifications

Integrations

  • Sign in with Apple
  • Google Sign-In
  • Apple Maps
  • Google Maps
  • Waze
  • Firebase Cloud Messaging

More Work

Related Projects

View All Work
Nashua PAL homepage on desktop

Nashua PAL

Nonprofit Website

A multilingual nonprofit website that helps Nashua families find youth programs, events and ways to get involved.

  • WordPress
  • Elementor Pro
  • Multilingual
  • Donations
  • Custom Plugin
Evolve Vapor storefront homepage

Evolve Vapor

Retail eCommerce Platform

A custom retail eCommerce platform with a large product catalog, local pickup, age verification, promotions, search, and local SEO.

  • WooCommerce
  • eCommerce
  • Local Pickup
  • SEO
  • 21+
Access Health Insurance homepage on desktop

Access Health Insurance

Insurance Agency Website

A website for a family-owned New Hampshire health insurance agency, with coverage guides, open-enrollment plans and quote requests.

  • WordPress
  • Elementor Pro
  • Lead Capture

Ready to bring your idea to life?

Let’s Build It Together

Tell us about your project and we’ll get back to you with a plan.