WearLog
Turning daily watch wear into a collection journal
I am designing and building WearLog, a personal iOS project that helps watch collectors log what they wear and build a history of their collection. Real-world use and an AI-assisted workflow are shaping the app as I prepare it for launch.

01. The idea
A watch collection, one day at a time
As a watch enthusiast and collector, I wanted a way to remember what I wore and see how my collection changed in use over time. I had seen collectors on Reddit tracking wears in spreadsheets, but I did not have a tracking habit myself.
I started WearLog in May 2026 as a personal side project: an opportunity to develop my UX design skills, explore working with AI, and take an iOS app from an idea toward my first independent App Store release. The core interaction was simple: choose the watch you are wearing today, optionally add a photo, and save the entry.
Over time, I wanted that history to help collectors notice favorites and overlooked watches. Streaks, milestones, and learning about watches could make the experience enjoyable enough to return to. Those ambitions gave me a direction, but I needed a smaller version I could actually use.
02. First version
Two watches and a trip to Japan
An upcoming trip to Japan gave the first version a concrete purpose. I manually added the two watches I would take and focused the build on logging a wear, seeing it on a basic calendar, and viewing photos associated with each watch. This version stored the entries locally. Syncing came after I returned.
I usually logged when we sat down for breakfast or reached our first destination. At Shibuya Sky, I took a photo at the top. Notes let me record places such as the Arashiyama Bamboo Forest alongside the watch I wore that day.

Using the app this way gave the entries a personal dimension. A wear log could become a reminder of a place and a moment, as well as a count. It also gave me a working product to test in everyday situations.
03. Interaction design
Making the history understandable
The original 13-week rotation view used a GitHub-style contribution grid, with colors showing the watch brands worn each day. I liked how much history it fit into one view and the sense of progress as the grid filled in. It was a pattern I already knew how to read.
When I showed it to my wife, who also collects watches, she had no idea what she was looking at and found it overwhelming. Her reaction made the problem clear: I had brought my own familiarity with a technical tool into an app for watch collectors. The interface depended on knowledge I could not assume other people shared.
I replaced the grid with an Active days calendar. Weekday labels and numbered dates give the activity a familiar structure, while brand colors preserve the rotation history. A split circle shows days with watches from two brands, and activity totals and streaks summarize progress below. This change came from one informal feedback session; broader collector testing is still ahead.
Before: 13-week rotation

After: Active days calendar

04. Daily logging
Keeping the entry simple and the habit intentional
Logging a wear, with a photo
From the home screen, logging opens a sheet where someone chooses a watch from their collection. They can take a photo, select one from their library, add a note, or include an optional city and country after granting location permission. Only the watch selection is required to save an entry.
This recording follows the photo path: choose a watch, take a wrist photo, confirm it, and save. The entry then appears on Today with the photo attached.
A quicker check-in skips the photo and other optional details: choose a watch and save.
WearLog supports more than one watch in a day, but I deliberately limited logging to the current day. I wanted a conscious daily check-in, with the possibility of missing a day and starting again.
Balancing consistency with an imperfect record
Peloton influenced how I thought about maintaining a streak while accepting an imperfect record. Its calendar and weekly checkmarks gave me a reference for making a daily habit visible.
Peloton: the reference

WearLog: the adaptation

That choice comes with a tradeoff: someone who wore a watch but forgot to log it cannot complete their history later. Whether that constraint encourages a useful ritual or creates unnecessary frustration is something I want to learn from other collectors.
In my own use, seeing wear counts and anticipating future milestones encouraged me to rotate watches. I began wearing my Datejust more often to add to its history. That is an early personal observation; the effect on other collectors still needs testing.
05. AI collaboration
Directing the work from concept to implementation
I began by talking through the concept with Gemini, then used it to organize the ideas into epics and user stories. I brought that backlog into Claude to explore branding and initial screens, using references from Peloton and Instagram to explain the tracking and photo-journal experiences I had in mind.
I reviewed those explorations and iterated on what belonged on each screen. The resulting designs gave me a starting point for implementation with Antigravity. I owned the product direction, priorities, interface decisions, and testing, while AI helped generate designs and code.
Follow the progression from left to right. Scroll horizontally on smaller screens.
The initial prototype felt too angular. I asked for a direction built around rounded cards, using Peloton’s home screen as a reference. Later iterations introduced red insight cards to give the screen more contrast and brought more activity metrics into the layout.
Each exploration also gave me something to reject. I liked how the gradient made the collector insight stand out, but the metallic Momentum card, protruding milestone circle, and khaki tones pulled the next version away from the direction I wanted. Those reviews led to the simpler surfaces and stronger red accents in the current implementation.
I also removed active days from Momentum because the monthly recap already showed that information. Redesigning Momentum to reduce its unused space remains on my backlog.
As the app grew, I used ChatGPT to help prioritize the backlog, prepare implementation prompts, and review Antigravity's proposed and completed work. I reviewed and revised those prompts before passing them along. When a layout overlapped or an implementation stalled, sharing the Swift code and a screenshot with another model sometimes helped identify the issue.
The reviews also surfaced cases I had not initially considered, such as deleting an entry without an internet connection and later syncing. My own testing caught other problems, including a feature-image change that made previous wear photos disappear from the interface and needed to be fixed. The workflow depended on reviewing the output and using the app, then feeding those findings back into the next iteration.
06. Data and design
Letting real watch data shape the interface
After Japan, I added syncing through Supabase and expanded the collection flow so people could add watches. I worked with Claude on a research skill to assemble a catalog spanning Panerai, IWC, Rolex, Omega, and Tudor. Adding a watch draws from that stored catalog instead of fetching its details from an external watch API each time.
Preserving the detail, standardizing the categories
Manufacturer names and descriptions did not fit neatly into the categories I needed for filtering. The earlier form put terms such as “steel - Moonshine™ gold” directly into an editable material field. Choosing a standardized option such as Gold replaced that detail. Dial descriptions posed the same problem: a finish or texture could not stand in for a consistent color category.
I separated the two. A Catalog Specifications card preserves the manufacturer’s wording, while editable fields describe the collector’s watch using standardized categories. In the current Cartier example, “Anthracite gray dial with satin-finish gradation” stays visible alongside Gray, and “Yellow gold and steel” sits alongside Stainless Steel + Yellow Gold.
From the earlier form to the current solution. Swipe or scroll horizontally on smaller screens.
The earlier screens show an Omega watch; the current solution uses a Cartier example.
If a suggested category is wrong, collectors can correct it for their watch without overwriting the catalog specifications. They can also record a strap change, while the catalog retains what the watch originally came with.
The AI-generated reference cards had a related issue. Chips wrapped according to the length of each value, so dial and strap details shifted between rows. Comparing similar watches meant finding the same detail in a different place on each card.
Making similar references easier to compare
I replaced the wrapping chips with a consistent two-column layout: size and dial on the left, strap or bracelet and case material on the right. Each detail now has a predictable position across cards.
Before: wrapping chips

After: consistent positions

Without licensed product photography for the catalog, I added small color indicators beside the dial and case values to help distinguish references. Text labels keep the exact specifications visible, so color adds a cue without carrying the information on its own.
Finding a watch by its nickname
Collectors do not always search by a formal model name or reference number. In the current app, searching “Starbucks” returns matching Submariner references. That gives me one working example of finding a watch through the name a collector might actually use.
I am still expanding nickname coverage in the catalog. This result demonstrates the current Starbucks search; it does not establish that other nicknames work consistently yet.

Separating catalog specifications from personal fields resolved the overwrite problem. If I started again, I would inspect representative watch data earlier. Understanding its variations would have helped me define the fields, editing behavior, and card hierarchy before building the screens.
I worked with ChatGPT to explore a web portal using WearLog’s existing design system. This starting point brings catalog records, manufacturer wording, nicknames, and classifications into one workspace. The preview uses sample records and local edits; connecting it to the Supabase catalog and developing the review workflow remain planned work.
A starting point for reviewing the catalog

07. Refinement
Refining the app through everyday use
Working with AI gave me an initial version I could use. Living with that version helped me decide what deserved space, where the interface felt inconsistent, and what would make logging worth returning to. Refinement became a cycle of noticing a problem, reviewing it with AI, and testing the result myself.
Letting the watch box lead
The early Collection drafts put a featured watch above the watches I owned. But Today already showed the watch I was wearing and how close it was to its next milestone. I did not need Collection to repeat that moment. I wanted to open it and see my watch box.
I removed the featured watch and shortened the cards. Labels such as “Weekend favorite” and observations such as “Usually leaves the box on Saturdays” took space without helping me browse. The current cards keep the photo, brand, model, and last-worn label, with Add Watch at the top and archived watches below the active collection.
Earlier: a longer summary

Omega
Speedmaster Pro
Weekend favorite
Usually leaves the box on Saturdays.
Current: a browsing cue

The earlier V2.1 card is reconstructed with my own Speedmaster photo in place of its gradient placeholder. The current card is an app screenshot. Different watches illustrate the change in structure.
- KeepPhoto, watch identity, and recent wear.
- RemoveFeatured watch and extra descriptive copy.
- PrioritizeMore of the collection in the first view.
The watch box comes first

View earlier collection explorations
The first usable draft introduced the featured watch and filters. V2.1 replaced the header count with Add Watch and removed the filters, while retaining the featured watch and longer cards. These HTML drafts use gradient photo placeholders.
First usable draft

V2.1 refinement

Using native behavior, then testing the fit
I had asked for Apple’s standard interface elements from the start. During iOS beta testing, changes in translucency and the feel of navigation made me question whether the implementation actually followed that direction. Switching tabs felt less fluid than the native interfaces I was seeing in other apps.
I gave ChatGPT Apple’s official documentation and asked it to audit the code. The review identified a custom tab bar, title treatments, and spacing in places where I expected standard components. I then used that audit to guide an implementation pass and manually tested the changes in the app.
- 01
Notice inconsistencies
Use the app and question how navigation, spacing, and translucency behave.
- 02
Review against documentation
Ask ChatGPT to compare the implementation with Apple’s official guidance.
- 03
Adopt standard components
Update the tab bar, titles, toolbar actions, and tabs within You.
- 04
Test and adjust
Check the result myself and bring back custom treatments where they improve the experience.
The pass also introduced default Apple forms into wear logging. In use, those screens felt too generic. I kept the native navigation behavior while bringing back selected custom buttons and treatments so the app still felt like WearLog. The audit gave me a starting point; using the result helped me decide where to stop.
Giving the first version a reason to return
The same process helped round out the app beyond the current day. The earlier move from a contribution grid to an active-days calendar made wear history easier to revisit. Today now provides immediate context, while You brings together a broader view of the collector’s activity.
- Progress

Monthly activity, the watch types I have gravitated toward, and a geographic journal.
Notice what I reach for.- Lifetime

Total wears, best day and week streaks, most-worn watch, and most-active month.
See the history build.- Achievements

Wear and streak achievements, brand milestones shared across watches, and milestones for each individual watch.
Mark the next milestone.
Details cropped from the implemented iOS app, October 7, 2026.
These additions are intended to make continued logging rewarding and give the collection a sense of history. They round out the first version; whether they encourage a lasting habit still needs feedback from more collectors.
08. Current outcome
A working app, with launch still ahead
As of October 2026, WearLog is a working, pre-launch iOS app with collection management, daily wear logging, photos and notes, calendar history, streaks, and Supabase syncing. I have used it myself and gathered informal feedback from my wife. The experience still needs visual refinement and feedback from a broader group of collectors.
Monthly progress, lifetime statistics, achievements, and a geographic journal now round out the working app. Cost per wear, richer trend analysis, and watch education remain future work, alongside a possible social experience built around shared activity and trends.
The first release will be successful if a small group of collectors uses WearLog, returns to log wears, and gives me feedback about what is useful and what gets in the way. Reaching the App Store would also complete a personal goal: carrying a product from an initial idea to an independent iOS launch.
So far, the most valuable learning has come from putting the app, its data, and its design assumptions into use. The calendar changed after feedback. The catalog exposed weaknesses in the forms. My own entries revealed both bugs and reasons to keep logging. Those observations are shaping the product I am preparing to release.




