Smart packing lists for every trip. Packwork is a native iOS app that helps you plan and track what goes into your bag — from a single weekend getaway to a multi-bag international flight.
Built with SwiftUI and SwiftData, Packwork syncs across all your Apple devices via iCloud and lets you collaborate on a shared trip with travel partners in real time.
- Create unlimited trips with destination, date range, and travel mode (plane, bus, sea, mixed)
- Upcoming and past trips dashboard with travel summaries
- Trip templates to get started fast: Blank, Business Trip, Beach Holiday, Ski/Winter
- Swipe-to-delete past trips
- Switch between Plan mode (build your list) and Pack mode (check off items as you go)
- Drag items into a visual compartment grid — Front Pocket and Main Compartment
- Group packed items by Compartment or Category (your choice, persisted across launches)
- Partial packing — track per-unit progress within quantity stacks (e.g. 3 of 5 T-shirts packed)
- Per-item packed-by attribution on shared trips so collaborators don't double-pack
- 60+ built-in items across 5 categories: Clothing, Electronics, Toiletries, Documents, Miscellaneous
- Each item carries an estimated weight (kg/lbs) used for the live weight gauge
- "You skipped this last time" badge on items you previously marked unused — free feedback loop
- Cabin bag, checked bag, or backpack — choose one per trip
- Airline baggage presets for 18 airlines (Turkish Airlines, Emirates, Ryanair, Lufthansa, Delta, and more) to auto-fill weight limits
- Real-time weight gauge with overweight warning labeled with your airline's name
- Auto-seeded checklist items based on your trip's travel mode and special baggage flags:
- Pet mode — carrier documentation, food, vaccination records
- Sports equipment — airline sports-bag policy, oversized-item check-in
- Musical instrument — fragile handling, instrument case, onboard storage rules
- Fragile/valuables — insurance, travel lock, declare-at-customs reminder
- Medical/mobility — prescription copies, mobility aid, TSA medical card
- Add your own custom checklist items on top of the auto-seeded ones
- Dismiss auto items that don't apply without them resurrecting on the next open
- Checklist progress pill visible on the packing screen and dashboard
- After a trip ends, a "What didn't you use?" prompt appears on the dashboard
- Mark items you never took out of the bag — this history quietly de-prioritizes those items in future suggestions
- Collaborative trips — invite travel partners via an iCloud share link; everyone sees live packing progress
- Template sharing — export any saved preset as a
.packtemplatefile and share it with anyone via AirDrop, Messages, or Mail
- Home Screen widget — shows your next upcoming trip and current packing progress
- Lock Screen widget — glanceable packing gauge
- Dynamic Island / Live Activity — shows the next unpacked item without unlocking your phone; toggle items packed directly from the widget
- Packing reminders scheduled before your departure date (opt-in, adjustable in Settings)
- Post-trip review nudge at 10:00 AM the day after you return
- Your trips, luggage, and catalog customizations sync privately across all your Apple devices via CloudKit
| Badge | Unlock condition |
|---|---|
| First Trip | Create your first trip |
| Explorer | Create 5 trips |
| Packer | Pack 100 items |
| Early Bird | Pack a full week before departure |
| Globetrotter | Add destinations on 3 continents |
| Organized | Create a custom item list |
- Live weather chip on every trip card showing the forecasted temperature and condition icon
- Toggle between °C and °F in Settings
- Forecast pulled from OpenWeather for the 5-day window around your departure (no historical/long-range data)
- Weather chip visible on both the dashboard trip card and inside the packing screen
- Personalized, ranked item suggestions that appear inline at the top of the item drawer — no separate screen to open
- Suggestions factor in:
- Weather — coat and gloves when it's cold, sunscreen and sandals when it's hot, umbrella and raincoat when rain is forecast
- Trip context — boarding pass for flights, travel lock for fragile valuables, medicine for medical/mobility mode
- Personal packing history — items you pack frequently get a relevance boost
- Unused item penalty — items you previously marked as unused rank lower so you stop over-packing them
- Destination weighting — unused penalties are doubled for the same destination city
- Add cabin + checked bag simultaneously on a single trip
- Add additional bags beyond the default pair (extra backpack, personal item, etc.)
- Presets remember which bag each item was packed in and restore them to the right bag when applied
- Save your current packing layout as a named preset with a custom icon
- Apply any saved preset to a new trip in one tap
- Presets include per-item quantity and bag assignment
- Create your own item lists alongside the built-in categories (Clothing, Electronics, etc.)
- Drag items between built-in and custom lists — items can appear in multiple lists simultaneously
- Reorder categories in the item library via a dedicated Manage Categories sheet
- Rename or delete custom categories at any time
- Add your own items to the catalog with a name, icon (SF Symbol), estimated weight, and category
- Custom items sync via iCloud just like built-in ones
- Choose from multiple accent color themes to personalize the app's look
- Switch between light and dark mode from within the app, independent of the system setting
| Layer | Technology |
|---|---|
| UI | SwiftUI (iOS 26) |
| Persistence | SwiftData |
| Sync | CloudKit (private DB + CKShare for collaboration) |
| Subscriptions | RevenueCat |
| Analytics | PostHog |
| Weather | OpenWeather 5-day forecast API |
| Animations | Lottie |
| Icons | Phosphor Icons + SF Symbols |
Pack/
├── Models/ — Badge, PackingTip
├── Shared/ — SwiftData @Model entities (Trip, Luggage, PackItem, CatalogItem, …)
│ Shared between the app target and the widget extension
├── ViewModels/ — PackingViewModel (grid logic), LocationSearchViewModel
├── Views/ — SwiftUI screens and reusable components
├── Services/ — SubscriptionManager, WeatherService, SuggestionEngine,
│ AccountManager, BadgeManager, TripSharingController, …
└── PackworkWidget/ — Home Screen, Lock Screen, and Live Activity widgets
Data flows through PackingViewModel, which owns the grid state, handles drag-and-drop and tap interactions, and keeps SwiftData relationships in sync. The widget extension reads from the shared App Group store; TogglePackedItemIntent lets users check off items directly from the widget.
- iOS 26+
- iCloud account required for sync and collaboration features
- Packwork Pro available via in-app purchase (monthly or annual subscription)