Get a quote
Mobile

Day Sheet — A solo house cleaner's day on one iPhone screen

Our own iPhone app for house cleaners who work alone. The day's homes appear in order, every door code stays locked behind Face ID, and moving one visit leaves the rotation where it was. A PHP server confirms subscriptions by checking Apple's signature itself, with no outbound call.

Category Mobile
Client Algoriel product
Services Mobile App, System Architecture
Year 2026
Status In App Store review
Role Design & development

The context

A solo cleaner’s week runs on a rotation: some homes weekly, others every two or four weeks. Each front door has its own code, and those codes end up on paper or in a notes app. One rescheduled visit means recounting weeks to see where the rotation lands.

Day Sheet is our own product for that routine: an English iPhone app for the US, Canada and the UK, with a PHP server that checks subscriptions. Client data stays on the phone. It is now in App Store review.

How we work on every project

Planning

We go through how the work runs today and what you expect from the software; the scope comes out of that.

Architecture

We decide what the system is made of and where its information is kept.

Modelling

We draw the screens and the flow before any code, and start building once you have approved them.

Development

We write and hand over the software so another team could carry it on.

See our process →

What we built

  • Schedule by date arithmetic

    Each day's homes come from weekday, frequency and first-visit date. Weeks are rounded from days, so a daylight saving change cannot shift a rotation.

  • Exceptions kept apart from the home

    A skip or move becomes one exception row that never touches the home record. The moved visit appears on its new day tagged 'Moved from'.

  • One Keychain item per home

    The data model has no code column. A code never reaches the Live Activity, a reminder or Siri reply, and unit tests check it.

  • A visit closed from the Lock Screen

    From Arrived on, the Lock Screen and Dynamic Island track rooms and time. Mark done there closes the visit; the app never opens.

  • A subscription server with no outbound calls

    The PHP server verifies the JWS chain offline against a byte-pinned Apple Root CA G3. An outage never locks out a paying user.

How we built it

  • Swift
  • SwiftUI
  • Observation
  • SwiftData
  • StoreKit 2
  • ActivityKit
  • WidgetKit
  • AppIntents
  • Contacts/ContactsUI
  • UserNotifications
  • LocalAuthentication
  • Security (Keychain)
  • MetricKit
  • PHP 8.3
  • PDO
  • SQLite
  • MySQL
  • PHPUnit

Challenge and result

Each row is a pair: the challenge the work had to solve on the left, and how the system answers it on the right.
Challenge Result
Door and alarm codes sit in plain view on paper or in a notes app Each code has its own Keychain item and shows after Face ID for a set time, half a minute by default
When a client pushes back a single visit, the cleaner must work out where the rotation resumes Moving or skipping one visit touches nothing else; the rotation stays tied to the first visit
Closing out a visit means opening the app and adding up the day by hand Mark done on the Lock Screen closes the visit and adds its price to the day
A subscription bought once could be replayed from another install to open the app on a second phone One transaction binds to one install; the same purchase from another install is refused

Have a question about Day Sheet?

Day Sheet is in App Store review and cannot be downloaded until Apple signs it off. You can send us your question about it.