Ceymer Studios
Product case study · The commercial one

Less paperwork. More landscaping.

Scapeboard is a business manager for landscaping companies — estimates, invoices, client management, and AI plant identification in one app. It's Ceymer Studios' most commercially serious product, and the one with the wildest shipping story.

RoleSole designer & developer
PlatformiOS & Android & Web
Business modelSubscription (Scapeboard Pro)
StatusLive · App Store & Play
App Store ↗ scapeboard.net ↗
Scapeboard — business management for landscapers
01 / The problem

Landscapers run real businesses on paper scraps and memory.

Whether solo or running a small crew, landscaping professionals juggle quotes, invoices, client histories, and job details — usually across texts, notebooks, and whatever's in the truck. Generic invoicing tools don't speak their language, and heavyweight field-service software is priced and designed for much bigger operations.

Scapeboard sits in the gap: estimates that convert to invoices, client records that keep history in one place, and tools that understand the actual work — including AI plant identification and landscape design previews powered by Google Gemini.

02 / What it does

One app, the whole job cycle.

Core

Estimates → invoices

Build a quote on-site, send it, and convert it to an invoice when the job's done — with the setup friction deliberately stripped out of invoice creation, so the fastest path from "job finished" to "invoice sent" is a straight line.

Core

Client management

Every client's jobs, invoices, and communication history in one record — the memory a growing business needs but a truck cab doesn't provide.

AI

Plant identification & design previews

Photograph a plant on a job site and get an identification; sketch a design idea and get an AI preview. Both run through a secure server so no API keys ship in the app — and both sit behind a first-launch consent dialog that plainly explains what gets sent where.

Biz

Scapeboard Pro

Subscription billing through RevenueCat on mobile and Stripe on the web, backed by a Cloud Run server — one entitlement system across three platforms.

Scapeboard estimate builder
Estimates. Quote a job on-site.
Scapeboard invoices view
Invoices. Friction-free from job to payment.
Scapeboard AI plant identification and design preview
AI tools. Plant ID and design previews.
Scapeboard dashboard
Dashboard. The business at a glance.
Scapeboard route planning
Routes. The day's jobs, mapped.
Scapeboard materials tracking
Materials. Costs tracked per job.
03 / UX decisions

Designing for a phone held in a work glove.

Scapeboard's users are outside, mid-job, often in bright sun with dirty hands. That pushed the design toward large targets, short flows, and aggressive removal of setup friction. The clearest example: invoice creation originally assumed a configured business profile. Real usage said otherwise — so the flow was rebuilt to let someone create their first invoice immediately, filling in business details only when they become necessary.

The same thinking is driving the current work: dual invoice modes — a Contractor mode for the businesses sending invoices, and a Client mode for the customers receiving them — so both sides of the transaction get a view designed for what they actually need to do.

04 / Shipping it

The black screen, the six rejections, and the auth rebuild.

Scapeboard's iOS port made ADIN's look gentle. The war log, in order of psychological damage:

Bug

The persistent black screen

The app built, launched — and showed nothing. Days of WebView and bridge debugging later, the root cause was almost insulting: a missing Main.storyboard in the iOS project. The wrapper had nothing to render into. One file, restored, fixed it.

Bug

Capacitor bridge mismatch

A v7 native shell talking to v8 JavaScript produced a second black screen with a different cause — the native bridge and the web runtime silently disagreeing on protocol. Aligning the Capacitor major version across all three platforms ended it.

Infra

Firebase auth, rebuilt for WKWebView

Google Sign-In that worked everywhere else failed inside iOS's WKWebView. The fix was rebuilding the auth layer with initializeAuth and browserLocalPersistence, plus native credential storage migrated to the iOS Keychain via @capacitor/preferences.

Review

Six-plus App Store rejections

Subscription metadata, EULA links, screenshot compliance, AI disclosure — each round fixed and resubmitted until approval. The lesson: Apple review is a checklist you learn by failing it, and the second app through the process goes far faster than the first.

Infra

A real security audit

Before pushing for growth: Firestore rules tightened, Cloud Run endpoints authenticated, CORS hardened, rate limiting added, and secrets moved to managed storage. Boring on purpose.

Where it's headed

Scapeboard is the studio's commercial focus: the current work is customer acquisition and the dual-mode invoice experience — turning a technically complete product into a growing one.