A custom payment app, and conduct under pressure

Schooner Olad & Cutter Owl — Camden, Maine sailing tours

The engagement

Schooner Olad and Cutter Owl run windjammer day sails and charters out of Camden, Maine. They sell tickets through a Rails booking site and wanted to take card payments in person - at a dockside ticket table and a store stand - without sending customers off to a separate point of sale. David contracted directly with the business, built the app in early 2024, and has supported it across multiple seasons since.

What we did

  • Built a custom iPad payment app that wraps the client’s existing “Quick Add Order” checkout, so staff stay inside the booking site while taking in-person card payments on Square hardware.
  • Integrated Square’s card-reader SDK, including the auth-code flow, and built a companion Ruby test/admin site to generate auth codes and demonstrate how the app and website communicate.
  • Worked around real platform friction - the Square API wouldn’t compile on Apple M1 hardware, so David bought an Intel Mac to finish the integration.
  • Produced a developer’s guide and integration repo so the client’s own web developer could make the small site-side changes needed to connect.
  • Handled distribution and seasonal operations - builds via Expo, fresh download links, login QR codes, and 2FA re-issues each spring.

Stack

  • React Native + Expo
  • Square Reader SDK → Mobile Payments SDK
  • Ruby (companion app on Heroku)
  • Integrates with the client's Rails booking site