Things logo

How to vibe codeThings

The award-winning personal task manager for Apple devices

culturedcode.com

Productivity

macOS appiOS appiPadOS appvisionOS app
45/ 100
Serious undertaking

The verdict: can you vibe code Things?

Build a single-platform macOS SwiftUI subset for personal use, but expect a multi-week fight to match their buttery-native UI fluidity.

Things 3 is an absolute masterclass in native Apple software craft. While an AI coding agent can generate the task database, CRUD logic, and natural language date parser in an afternoon, replicating the hyper-fluid custom animations, tactile touch gestures, multi-select slide interactions, and Type Travel keyboard navigation in SwiftUI requires deep, painstaking manual polish. Furthermore, scoping this to a true cross-device ecosystem suite (Mac, iPhone, iPad, Watch) multiplies the frontend effort tenfold. If you want a personal task manager, use Reminders; if you want to build this for fun, scope it strictly to a macOS menu bar or window utility.

Estimated effort: 4-6 weeks of part-time work

What you can't replicate

  • The exact tactile feel of Cultured Code's custom animation engine
  • Two decades of continuous design iteration and Apple Design Award pedigree
  • Zero-latency CloudKit sync architecture optimized at the metal level

Founded

2007

Raised

Team

~12

Cheapest paid tier

$49.99

What Things does

Things is a premier personal task and project management application built around David Allen's Getting Things Done (GTD) productivity philosophy, featuring natural language parsing, calendar integration, and a fluid native interface.

Core features

  • Inbox capture with natural language date parsing
  • Today and This Evening task scheduling views
  • Upcoming calendar integration
  • Projects with headings and checklists
  • Quick Find and Type Travel keyboard navigation
  • Multi-select and gesture-based list editing
  • Time-based reminders with Fastlane push sync
  • Apple Shortcuts and URL scheme integration

The business

Pricing

  • Mac$49.99
  • iPad$19.99
  • iPhone & Watch$9.99

Funding

Unknown / bootstrapped

The hard parts of vibe coding Things

  • Native macOS and iOS UI fluidity with custom animation engines and haptics
  • Cross-device real-time sync with conflict resolution and instant push reminders
  • Desktop-class keyboard navigation (Type Travel) and multi-select gesture mechanics
  • Multi-platform native app architecture across Mac, iPad, iPhone, and Apple Watch

How to vibecode Things

Prerequisites

  • Mac

    Required for macOS and iOS native application development

  • Xcodefree

    Official IDE for building native SwiftUI applications

  • Apple Developer Account$99/yr

    Required for running builds on physical iOS devices and configuring CloudKit entitlements

AI coding tools

Recommended stack

FrontendSwiftUI + AppKit
BackendLocal Swift Persistence (SwiftData)
DatabaseSQLite / SwiftData local store
AuthApple iCloud / CloudKit
PaymentsNone (Personal use clone)
OtherNaturalLanguage framework (Date parsing), EventKit (Calendar sync), UserNotifications (Reminders)

Hosting & infrastructure

Apple iCloudCloudKit container for private user data sync across local devices$0/mo

Build guide

  1. 01Project Scaffolding & Data Models

    Initialize a multiplatform SwiftUI project in Xcode and define the core database schema using SwiftData.

    Create a new multiplatform SwiftUI app structure supporting macOS and iOS named 'ThingsClone'. Define SwiftData models for Todo, Project, Heading, ChecklistItem, and Tag. A Todo must include properties for title, notes, status (inbox, today, upcoming, someday, completed), startDate (Date?), deadline (Date?), and a relationship to a Project or Heading. Implement schema versioning and preview data generators.
  2. 02Natural Language Date Parser & Quick Entry

    Build an intelligent parsing engine for scheduling dates and times from natural text input.

    Implement a Swift utility class using NaturalLanguage and custom regex to parse natural language date inputs like 'tomorrow at 5pm', 'next tuesday', 'in 4 days', and 'aug 1'. Create a popover UI component ('Jump Start') that displays these suggestions dynamically as the user types, updating the Todo's start date and reminder time instantly.
  3. 03Core Views: Inbox, Today, and Upcoming

    Construct the main sidebar navigation and the three primary task lists with calendar event integrations.

    Build the primary sidebar navigation supporting Inbox, Today, Upcoming, Someday, and Trash views. For the Today view, integrate EventKit to fetch and display native calendar events grouped neatly at the top of the list, followed by scheduled to-dos and a dedicated 'This Evening' sub-section. Ensure list rows support smooth inline expansion and touch-friendly swipe actions.
  4. 04Projects, Headings, and Checklists

    Add hierarchical project organization with movable headings and nested item checklists.

    Implement the project detail view supporting collapsible headings, drag-and-drop reordering of tasks within and across headings, progress pies reflecting completion percentages, and nested checklist items. Ensure multi-select state management allows batch editing (completing, rescheduling, or tagging multiple selected rows at once).
  5. 05Quick Find & Keyboard Navigation

    Implement app-wide search and desktop-class keyboard navigation (Type Travel).

    Build a lightning-fast Quick Find search overlay that activates instantly upon typing anywhere in the app (Type Travel). Support app-wide filtering by text, tags (e.g., typing '@errands'), and project titles. Implement comprehensive keyboard shortcuts matching macOS conventions (Cmd+N for new item, Cmd+K for complete, arrow keys for navigation, Shift+arrow for multi-select).
  6. 06CloudKit Sync & Reminders

    Configure local notifications and CloudKit container synchronization for multi-device support.

    Configure SwiftData with a CloudKit private database container to enable seamless background synchronization across personal Apple devices. Implement local notifications via UserNotifications framework for time-sensitive task reminders, ensuring notifications fire accurately even when the app is backgrounded.

Cost vs paying for Things

What will you build it with?

Est. 4.5M in / 1.2M out tokens· Includes access to introductory usage of the default model with dynamic rate limits.$0

Starting total with Claude Code~$99 one-time

Starting costs (one-time)

  • Apple Developer Account (required for device testing & CloudKit)$99/yr
  • AI Coding Assistant Subscription$20 one-time

Total~$119 one-time

Ongoing costs (monthly)

  • Apple Developer Program Renewal$8.25/mo ($99/yr)

Total~$8.25/mo

Paying for Things

$0/mo ($110 one-time ecosystem purchase)

Your time to build

40-60 hours

AI tool credits

$20 (1 month of Claude Pro / Cursor)

Break-even

Never (Things is a perpetual purchase, build is for learning)

Vibe code Things: FAQ

Can you vibe code Things yourself?
Serious undertaking — 45/100 vibecodeable. Build a single-platform macOS SwiftUI subset for personal use, but expect a multi-week fight to match their buttery-native UI fluidity.
How long does it take to vibe code Things?
4-6 weeks of part-time work — roughly 40-60 hours of hands-on time with an AI coding agent.
How do you build your own Things?
Scoped to personal use: SwiftUI + AppKit on the front, Local Swift Persistence (SwiftData) behind it, SQLite / SwiftData local store for data. Follow the 6-step build guide on this page — each step has a paste-ready prompt for an AI coding agent.
How do you code your own Things without being an expert?
Use an AI coding tool (Claude Code or Cursor) and work in small steps: scaffold, data model, core screens, then deploy. Realistic effort: 4-6 weeks of part-time work. The prompts on this page are written so the AI does the heavy lifting.
How much does it cost to vibe code Things instead of paying?
About ~$119 one-time to start and ~$8.25/mo to run, versus $0/mo ($110 one-time ecosystem purchase) for Things. Break-even: Never (Things is a perpetual purchase, build is for learning).
What stack should you use to vibe code Things?
SwiftUI + AppKit; Local Swift Persistence (SwiftData); SQLite / SwiftData local store; plus NaturalLanguage framework (Date parsing), EventKit (Calendar sync), UserNotifications (Reminders).

Sources

Alternatives & community builds

All alternatives →