A web app for doing a few extra things and then sending the rest to Things (Cultured Code).
Demo: https://thingsdotdo.netlify.app/
The purpose of this app is not to replace Things 3 (by Cultured Code) but to extend it for solo work tasks at the desk (like coding or writing).
The only intended extra features right now are:
- Setting todos/projects as blockers of other todos/projects
- Writing dated entries on todos/projects
This is not intended to be a mobile application, so less stress will be placed on making it reactive to smaller screens, nor are there any plans for iOS/Android apps.
For bugs and feature requests, report them in issues.
Syncing to things is handled via Things 3 callback url scheme (see: send to things 3 and success) and syncing back from things is handled by inputting a url (see: process).
For processing your selected Things items, you may use this Apple Shortcut to build the url and open it in Google Chrome.
Note
Currently, only todos are being processed. This functionality will be expanded upon.
All data is currently on the frontend, with no plans to store it in the backend. As such, transferring data via API POST requests is currently not possible.
In this video:
- I create a "Test" todo.
- I select the todo and click "Sync To Things 3", which sends it to the Inbox in my Things 3 app.
- To ensure the task is linked, an "x-success" callback (which contains the path to my "success" page and query params) is passed in the URL, prompting my Things 3 app to send the value of x-success back to my browser (note: I'm using OpenIn, so I have to manually click the dialog box to select Google Chrome).
- My browser processes the query params on the
/successpage and connects the todo on my Things 3 app to its equivalent on Things.do. - When I make an update to "Test" by renaming it to "Test 2" and then click "Sync To Things 3" again, the title is updated on its equivalent in my Things 3 app.
- I then make a change to the title on my Things 3 app by renaming it to "Test 3", select it, and then call this Apple Shortcut to open a URL on Google Chrome that takes the selected Things todo and updates the data back on its equivalent Things.do todo.
And this is one such way that two-way sync can be achieved between Things 3 and a web application.
Important
Since this is client-side, I would not transfer especially sensitive Things 3 tasks back to Things.do, using this method, because the URL usage is captured in my browser's history and can expose such information to lunchtime attacks within public spaces.
On a hypothetical version of this app that uses a backend server to process data, I would implement an API endpoint to process data back from Things.do and make it so that my shortcut makes a POST call to that endpoint instead of passing a URL to Google Chrome or some other browser.
Install dependencies with pnpm install.
Start a development server:
pnpm devTo create a production version of your app:
pnpm buildYou can preview the production build with pnpm preview.