← All projects

Native admin app · iPhone & iPad

UP-Dream Admin

The right tools for the people looking after a community.

A native iPhone and iPad app for sign-up approvals, attendance, and daily operations. Desk work belongs to the admin web and on-site work to this app, with an administrator-only session, biometric sign-in, and server-defined action permissions.

My role
Independent planning, design, development, and release
Core stack
  • Swift
  • SwiftUI
  • URLSession
  • Keychain

Public demo

Try the demo

Explore the app’s main screens with a public demo account.

How to sign in

  1. Install the app from the App Store. The member app is also on Google Play.
  2. On the login screen, choose “데모 계정으로 로그인” (sign in with a demo account).
  3. Enter the login ID and password below.
Install from the App Store

Things to explore

  • View attendance records and summaries
  • Browse the member list and operations dashboard

Public demo account

You can also select and copy the text directly from either field.

This demo uses shared sample data. Other visitors may change it, and changes may remain. Please do not enter personal information or private prayer requests.

How it fits together

Engineering details reflect source reviewed on September 17, 2026. App Store releases may contain an earlier subset.

  1. 01SwiftUI administrator app
  2. 02Capability-checked shared API
  3. 03PostgreSQL domain records

The interface reflects server-provided capabilities. The API checks authorization again when reading or changing records.

Decisions behind the interface

01

Keep administrator sessions separate

Device-only Keychain storage and an ephemeral URLSession reduce retained session data. Relaunching the app requires fresh authorized reads instead of restoring a persistent offline management cache.

02

Reject responses from a previous session

Requests capture a session generation. A delayed response is discarded when it belongs to an earlier session or permission scope.

03

Preserve the meaning of attendance data

Unmarked records remain distinct from absences. Attendance analysis requires enough observation history before classifying a change, while conflicting edits have an explicit outcome.

UP-Dream Admin

How I used AI

I used AI assistance for the SwiftUI frontend, including screen implementation and presentation. I defined the operational workflows and interface requirements.

I edit and review account and permission code myself rather than accepting AI output as-is. The account-merge case on the UP-Dream page explains why.

Code and verification

The technical overview connects native session handling, API authorization, and attendance behavior to selected XCTest and policy checks. It distinguishes executed checks from source review.

More work