Server URL: http://192.168.4.88:8000/start-day
Requirement: iPhone and Windows PC on the same Wi-Fi network
Launch the Shortcuts app (pre-installed on all iPhones).
If you can't find it, swipe down on the home screen and type "Shortcuts."
Tap the + button in the top right corner.
- Tap Add Action
- Search: "Get Contents of URL"
- Tap the result (icon: globe with URL)
- Configure it:
- Method: tap
GET→ change toPOST - URL: tap and type:
http://192.168.4.88:8000/start-day
- Method: tap
- Tap Show More (the little chevron arrow below the URL)
- Tap Headers → tap "Add new header"
- Key:
Content-Type - Value:
application/json
- Key:
- Tap Request Body → select JSON (instead of Form)
- Tap "Add new field"
- Key:
input - Text: tap the value area, then tap "Ask Each Time" from the suggestion bar above the keyboard
- Key:
- Tap "Add new field"
- Tap Headers → tap "Add new header"
- Tap the gray + button (below your first action)
- Search: "Quick Look" and tap it
- Tap its input area → select "Contents of URL" from the variable picker
- Run the shortcut once. You should see a flat JSON object with keys like:
If you see
next_map_url, departure_time, schedule, alerts, actionschoicesoridat the top level, the backend is broken — stop and fix the server. - After confirming, tap and hold the Quick Look action and delete it (debug only).
- Tap +
- Search: "Get Dictionary from Input" and tap it
- Tap the blue "Input" text → a variable picker slides up
- Select "Contents of URL" from the list
- Tap +
- Search: "Get Value from Dictionary" and tap it
- Tap the light-blue "Dictionary" bubble → select "Dictionary" (from Step 5)
- Tap the "Key" field → a type picker appears
- Select "Text" → type
next_map_url→ tap Done
- Tap +
- Search: "Set Variable" and tap it
- Tap the "Variable Name" field → type:
MapURL - The input field auto-populates with the result of Step 6. If not, tap it and select "Dictionary Value"
- Tap +
- Search: "Open URLs" and tap it
- Tap the URL field → a variable picker slides up
- Select "MapURL" (the variable you created in Step 7)
- Tap +
- Search: "Show Result" and tap it
- Tap the text area → select "Dictionary" (from Step 5)
- Tap the shortcut title at the top of the screen → Rename
- Type: Plan-It
- Tap Done
- Test it now. Tap the shortcut. When prompted, type something like:
Tap Done. If asked for network permission, tap Allow.
Trip to Kennedy Space Center tomorrow morning with lunch stop
Google Maps opens to your first stop, and your itinerary appears on screen.
Just say: "Hey Siri, Plan-It"
Siri runs the shortcut and prompts for trip details. Speak what you want.
1. Get Contents of URL → POST http://192.168.4.88:8000/start-day
Headers: Content-Type = application/json
Body (JSON): {"input": Ask Each Time}
2. [DEBUG] Quick Look → Contents of URL (delete after confirming shape)
3. Get Dictionary from Input → from "Contents of URL"
4. Get Value from Dictionary → key: next_map_url (type: Text)
5. Set Variable → name: MapURL, value: Dictionary Value
6. Open URLs → MapURL (the variable)
7. Show Result → Dictionary
{
"next_map_url": "https://www.google.com/maps/dir/?api=1&destination=...",
"departure_time": "07:30 AM",
"schedule": [
"07:30 AM — Depart for Disney World",
"09:00 AM — Arrive at Disney World",
...
],
"alerts": ["Traffic warning", "Weather note"],
"actions": [
{"type": "open_maps", "url": "https://..."}
]
}| Problem | Fix |
|---|---|
| "Could not connect" | Make sure the server is running on your PC |
| "Network error" | Confirm iPhone and PC are on same Wi-Fi |
| "Dict has no value for key" | Run Quick Look debug (Step 4) to confirm next_map_url is present |
| IP changed | Run ipconfig in PowerShell, find your Wi-Fi IPv4, update URL in Step 3 |
| Server not running | cd ~/development/jeffos && .venv/bin/uvicorn app.main:app --host 0.0.0.0 --port 8000 |