Style guide
Artifactr styles
How Artifactr looks today, read from the Swift source. The app leans on iOS system colors and Dynamic Type; the one thing the user chooses is the accent color. Items marked to decide are places where the app disagrees with itself.
Color
System colors adapt to light and dark, so each shows its light value on the left half and its dark value on the right. Values are the iOS system values; contrast is the light value against white.
Accent, the user’s choice
Text
Surfaces
Opacity in use
| Value | Where |
|---|---|
| 0.15 | Secondary color fill behind small elements |
| 0.45 | Inactive tab icon (primary at 0.45) |
| 0.25 | Shadow under floating controls (black) |
Type
The system font at Dynamic Type sizes shown at their default. No custom fonts are used in the interface. Sizes are the Dynamic Type defaults; they scale with the user’s text size. Roles are inferred from where each style appears.
Styles in use
Use counts in the source: Caption 16, Caption 2 10, Subheadline 5, Headline 4, Title 2 5, Body 3, Title 3 2. Icons are SF Symbols; each category picks its own. The ARTIFACTR wordmark is an image asset, not live text.
Spacing and shape
Spacing in use
| Item | Value |
|---|---|
| Stack spacing in use | 3, 4, 6, 8, 10, 12, 16 (8 and 12 most common) |
| Padding | default system padding, plus 3 to 5 vertical on small pills and 12 to 20 on rows and empty states |
Corner radius in use
3 uses
2 uses
2 uses
1 use
Borders and shadow
| Item | Value |
|---|---|
| Card | secondary system background fill with a thin outline |
| Shadow | black at 0.25 and a 1 pt radius shadow, on floating controls |
Screens
Real captures from the running app, not redrawings. Click one to see it at full size.
iPhone
Mac
Open issues
Where the app’s styling could be tighter. Artifactr deliberately uses system colors and Dynamic Type, so most of these are small.
- Secondary text contrast. iOS secondary label on white is about 3.4:1. It carries dates, tags and placeholders at small sizes, under the 4.5:1 small text needs. to decide
- Unused accent asset. The
AccentColorasset (#9E006Blight,#00C7E0dark) is not what tints the interface; the user’s accent choice is. Remove it or make it the default. - Hard-coded detail background.
#1C1C1Eis typed as three float values in three places in the detail view. It matches iOS secondary system background in dark, so it could use that. - Bundled font not used. Instrument Serif is listed in
Info.plistbut no code uses it. - Radii. 8, 10, 12 and 16 are all in use, in a few places each, with no rule for which is which.
- Mac look. The Mac build is Mac Catalyst, so it shows the iPad layout. Screens look sparse at full-window size.
- No named tokens. Everything is a system color or text style. Fine for now; a brand layer would need tokens.
Decisions
- The accent is the user’s choice from five iOS system tints. Blue is the default.
- Appearance is System, Light or Dark, set in Settings.
- Category icons are SF Symbols, chosen per category.