All work
Ares · 2023-2026 · Live on the App Store

A seizure tracker for the worst moment

Ares helps dog parents manage canine epilepsy, recording episodes, tracking medication adherence, surfacing patterns, and generating vet-ready reports. Clinical precision, delivered through a calm interface designed to work in a crisis. Named after my Siberian Husky. Built as a tribute.

Role

Product Designer, end to end, then built it in SwiftUI

Timeline

Revived Feb 2026 · ~5 months solo, design to launch

Platform

iOS 26 native (SwiftUI, CloudKit, RevenueCat)

Stage

v1.0 shipped Jun 25, 2026 · v1.1 iCloud Sync Jul 11, 2026

Placeholder, full-screen panic-mode seizure timer
Fig. 00Placeholder, final asset: full-screen panic-mode timer with pulsing glow ring, with App Store badge nearby.
01

Overview

Ares fills a gap no mainstream pet health app addresses: the clinical precision epilepsy demands, in an interface designed for a panicking owner at 3 a.m.

It records seizure episodes with veterinary-grade classification, tracks medication adherence with drug-class-aware reminders, surfaces patterns over time, and turns months of logging into a vet-ready report. I owned it end to end, problem definition, information architecture, interaction and visual design, the data model, monetization strategy, App Store submission, and then built it myself in SwiftUI. Working solo meant every design decision was also a technical and product decision, which kept the constraints honest and the scope tight.

02

Why I Built This

Ares is named after my Siberian Husky. We lost him to epilepsy on April 13, 2023, at the age of seven.

Placeholder, Siberian Husky with copper-and-white coat and blue eyes
Fig. 01Placeholder, swap for a photo of Ares: copper-and-white coat, blue eyes.

While he was alive, I tracked his seizures the only way I knew how, a plain Notion table titled "Siezure Log," typo and all. Each row was an episode: a name, a date, a rough time of day, a free-text note ("Lasted about 1-2 minutes. He was paddling. Not as disoriented as before."). It worked, barely. It never gave me the picture I needed: how often, how long, whether they were getting worse, whether anything I did made a difference. The data was trapped in prose, unstructured, unsearchable, impossible to chart.

Placeholder, the original Notion seizure log
Fig. 02Placeholder, screenshot of the original "Siezure Log" Notion table I kept for Ares.

After he passed, I wanted to honor him by building the tool I wished I'd had. My brothers helped me start, Eric on early explorations and flows, Gilbert on the iOS build, before life intervened and the project sat for two years. In February 2026 I picked it back up: partly to finally do right by Ares, partly to see how far I could push myself to design and build a fully functional iOS app from scratch. That meant learning on the way, Xcode, developing with Claude Code, auth in Supabase, subscriptions with RevenueCat, sync with CloudKit, and wearing the product manager hat for scope, pricing, and notification strategy.

Five months later, Ares shipped to the App Store. This case study is the design story. Underneath it, Ares is a tribute.

03

Research

When a dog has a seizure, their owner's world narrows to a single terrifying moment. The episode ends; the questions don't. How long did it last? Was it worse than last time? What do I tell the vet?

I'd lived this firsthand, and I wasn't alone: dog parents managing canine epilepsy track seizures in Notes apps, spreadsheets, and paper journals, or not at all. Existing pet health apps are generalist tools built for vaccination reminders and weight logs; none handle seizure classification, post-ictal symptoms, trigger correlation, or adherence monitoring. The one purpose-built competitor, the RVC Pet Epilepsy Tracker, hadn't been updated since 2019 and suffered data loss, broken logins, and no offline support. The gap was clear: clinical rigor plus crisis-ready UX.

I didn't design from assumptions, I designed from years inside this community, triangulating across lived experience with Ares, the canine-epilepsy Facebook groups I'd been part of for years, Reddit threads on how owners describe and cope with seizures, conversations with fellow epi-dog owners, and clinical research on seizure types, post-ictal symptoms, and AED versus rescue-medication behavior.

One theme cut across all of it: owners struggle to describe a seizure in words, and vets struggle to act on a verbal recap. "It looked bad", but a 30-second video communicates more than a paragraph ever could. That insight became one of the app's defining features.

Placeholder, community research synthesis
Fig. 03Placeholder, pull-quotes from community posts, competitive landscape table, and the "before" state of paper logs and Notes-app entries.
04

The Problem

Three user states, each demanding a fundamentally different interaction pattern, this model became the spine of every decision that followed, including the navigation.

01 Crisis, the dog is actively seizing. Panic, shaking hands, tunnel vision. Needs a one-tap timer, large targets, zero cognitive load.
02 Routine, daily medication management. Calm but busy. Needs quick dose logging, a clear schedule, reminders with appropriate urgency.
03 Reflective, reviewing patterns, preparing for the vet. Wants answers. Needs trends, exportable reports, pattern recognition.

The timer needed to feel like an emergency tool. The medication flow needed to feel like a habit. The insights needed to feel like a conversation with data.

05

Design Decisions

5.1Crisis-first timer UX

The seizure timer is a full-screen takeover: a large monospaced time display readable at arm's length, a pulsing glow ring for active feedback, the app is with you, and three controls. Pause, Resume, Stop. No settings, no menus. A red recording indicator borrows a mental model people already have.

The timer is also a triage tool. A seizure lasting more than five minutes is status epilepticus, a life-threatening emergency. At the 5-minute mark the timer surfaces a warning: get to a vet now. The app doesn't just record the crisis; it knows when the crisis has escalated, at the exact moment the owner is least able to remember clinical thresholds.

The tension: after stopping the timer, the user must log clinical details, but they're emotionally drained. The two-step post-timer flow pre-fills an episode form with the recorded duration and offers "Add More Details" or "Not Right Now" on a non-dismissable sheet, so data is never lost by accident. The form itself collapses to essential fields, and a follow-up notification fires 30 minutes later if the episode is still incomplete.

Placeholder, timer emergency state and post-timer flow
Fig. 04Placeholder, timer with 5-minute emergency state, post-timer confirmation sheet, collapsible episode form.

5.2Adaptive notification escalation

Not all medications carry equal urgency, so a one-size reminder is wrong. AEDs get strict 3-tier escalation, reminder → 30-minute follow-up → 2-hour escalation with urgent language, because a missed dose can trigger breakthrough seizures. Rescue meds get a single situational reminder. Supplements get a gentle nudge. Doses can be marked Given or Missed from the lock screen, and a 15-minute snooze acknowledges that "I'm driving" is not "I forgot." Adherence rolls up over 7- and 30-day windows, a streak worth protecting.

5.3Information architecture

Five tabs with a center floating action button, each mapped to a user state. The FAB keeps the highest-stakes actions, Start Timer, Log Episode, Log Dose, reachable from anywhere.

TabContentState
Home

Dashboard, metrics, today's med cards with Given/Missed actions, recent episodes

Routine
Episodes

Seizure log, month-grouped, searchable

Reflective
● FAB

Start Timer · Log Episode · Log Dose

Crisis
Meds

Dose history and adherence rings, with medication management

Routine
Insights

Charts and pattern analysis

Reflective

5.4The data model as a design tool

The Episode model is a first-class design artifact: clinical classification mapped to veterinary terminology, temporal data for trend analysis, contextual signals for pattern correlation, cluster-episode linkage (seizures that arrive in groups are clinically distinct), and a 3-tier severity rating that drives color-coding across the history. Every field was a decision about what's worth the user's cognitive effort to capture, especially under duress. Triggers and post-ictal symptoms are collapsible and hidden by default: clinical completeness without form fatigue.

5.5Photo & video, the vet's favorite signal

The single most validated differentiator from research: a seizure is hard to describe and impossible to reproduce in an exam room, but a short clip lets a vet see paddling, awareness, duration, and recovery directly. Media capture is first-class in the episode record, record or attach from the logging flow, browse a carousel, play video inline. Free users attach up to two photos per episode; Pro raises it to five and unlocks video, the format vets value most, feeding the vet report. Vague verbal recap becomes shareable clinical evidence.

Placeholder, episode media attachment flow
Fig. 05Placeholder, episode media attachment flow and photo/video viewer.

5.6Privacy-first architecture, and how it evolved

At v1.0, all medical data lived on-device: no server-side health data, no analytics. The privacy policy became a feature, your dog's medical data never touches our servers. The trade-off was real and shipped knowingly: no cross-device sync, data at risk on phone loss. I documented backup as the top post-launch priority, and it became the whole of v1.1.

v1.1, sixteen days after launch, added automatic backup and sync via CloudKit's private database, episode data syncs through the user's own iCloud account, end-to-end within Apple's infrastructure. It still never touches a server I operate. The privacy promise survived the sync feature; it just got a better failure mode. A "Restoring your data from iCloud" banner reassures returning users that months of seizure history survived a lost phone; a sync status indicator makes backup state legible; keychain persistence lets returning users skip onboarding entirely.

5.7Monetization

Freemium that gives away the daily utility and charges for the analytical layer. Free: episode logging, medication management, reminders, monthly trend summaries, two photos per episode, a complete product for day-to-day management. Pro ($3.99/mo or $29.99/yr, 14-day trial): the full insights dashboard, vet-report PDF export, five photos, video. The principle: free users should never feel punished. Monthly summaries stay free deliberately, the taste of insight that makes the upgrade feel earned rather than arbitrary.

06

Shipping Through App Review

Getting approved turned out to be a design problem of its own. Three rejections, and each one reshaped a real user-facing surface.

B10Rejected: Sign in with Apple wasn't capturing the user's name. Fixing it meant reworking the auth flow, not just the API call.
B11Rejected: my permission primers encouraged granting notifications. Apple requires neutral language. I rewrote every primer to inform rather than persuade, arguably better UX anyway: a user managing a sick dog deserves a straight answer.
B12Rejected: the paywall lacked explicit subscription terms. I redesigned it to state price, duration, and renewal plainly, and seeded demo data so reviewers could experience Pro as a real user would after weeks of logging.
B13Approved. And the proof the lessons stuck: v1.1 (build 21) was approved on its first submission.

Compliance isn't a checkbox after design, it's a set of constraints that, taken seriously, mostly push toward more honest UI.

07

AresTheme

The palette is personal: warm copper and soft white, drawn directly from Ares's coat. He stays present in the product without ever being literal, and the warmth is a deliberate counterweight to a clinically heavy subject.

AresTheme is a semantic token system, not a flat palette, color carries meaning. Four principles govern it:

01Severity maps warm-to-cool: Mild gold → Moderate coral → Severe purple. The same tokens color time-of-day charts, so markers and charts share one language.
02Status maps to a traffic light: Given lime → Upcoming muted → Missed coral. Instant recognition without text.
03Surfaces layer by elevation: Background → Surface → Elevated → Overlay. Depth from value steps, not borders.
04Containers travel with their base, every accent pairs a base token for icons/text with a soft-fill container token for backgrounds, guaranteeing contrast.

Every token ships as a paired light/dark colorset, built dark-first with full light-mode parity, because seizures so often happen late at night and early in the morning. Light surfaces lean warm off-white to match the copper temperature. On iOS 26 the app adopts native Liquid Glass, degrading gracefully to material blur. The system spans 40+ components, adherence rings, dose cards, episode cards, metric cards, insight charts, and the custom tab bar with center FAB. Color-blind-safe palette validation is the documented next step.

Placeholder, AresTheme token table and component board
Fig. 06Placeholder, token table, component board, dark/light comparison.
08

Outcome

A first-mover entry into a medical niche with no actively maintained competitor, a specialized, privacy-first health tracker, now live and syncing.

5 mo

Solo, from reviving the project to live on the App Store

16 days

From v1.0 launch to v1.1 iCloud Sync, closing the biggest documented risk

1st pass

v1.1 App Review approval, after v1.0's three rejections became design lessons

What I'd do differently. Design for App Review from the start, primer neutrality, paywall terms, and SIWA requirements are all knowable upfront. Add medication setup to onboarding, since this population is almost always medicated. Treat accessibility as part of the component system, not a retrofit. And deepen the free-tier insight teasers so the Pro upgrade feels even more earned.

Post-launch priorities: richer free insight previews, medication setup in onboarding, full accessibility coverage, and real usage data in this case study once there's enough signal.

Every timer interaction is optimized for panic, designing for the user's worst moment turned out to be the clearest brief I've ever had.
Design principle, carried through every decision
Note Images on this page are placeholders. Final assets, panic-timer screens, notification diagrams, AresTheme boards, and photos of Ares, replace them before publishing.