I wanted a to-do list that felt like putting on a record. Pick the day. Choose one thing. Give it a little uninterrupted time.
The record player is the front of the system. Notion holds the tasks. Your calendar holds the appointments. The AI helps you build an interface that makes those two things easier to use.
This guide walks through the thinking, the prompts, the motion, and two ways to build it: ChatGPT Sites or Claude Artifacts. Start with sample tasks, get the experience right, then connect your real sources.
All 10 prompts, a build brief, sample tasks and events, a Notion column template, and a test checklist. No email required.
1. Design the ritual before the screen.
Before asking AI to build anything, describe the moment you want to improve. Mine was opening a long list, feeling behind, and bouncing between tasks. The useful change was making today smaller: three priorities, one active task, and a visible stopping point.
Give each object a job. The seven sleeves are the days of the week. A selected sleeve means “this is the day I’m viewing.” The track list is that day’s work. The spinning vinyl means a work block is running. The B-side holds the useful things that did not make the top three.
You could use a bookshelf, a garden, or a café instead. Keep the same underlying actions: select a day, see priorities, pick one task, focus, then deliberately check it off.
Task title, status, planned day, priority, estimate and the original task link.
Appointments, busy periods, time zone and real event links.
A useful view of those sources, plus your focus timer and display preferences.
Keep the first version small: a weekly shelf, today’s top three, a task selector, 15/25/50-minute blocks, pause/end controls and a completion checkbox. Search, music, AI prioritization and automatic scheduling can come later.
Help me design a personal record-player planner. The moment I want to improve is: [describe your current frustration]. I want it to feel [calm / playful / warm / focused]. The main loop is: choose a day, see my top three tasks and calendar, choose one task, start a focus block, pause or end it, then mark the task complete only when I choose to. Map each visual object to a useful action. Propose the smallest working first version, the data each screen needs, and a short list of things to leave out. Keep Notion as the task source and my calendar as the event source. Separate prototype data from real connections. Ask only for missing choices that would change the build.
2. Build the first version in ChatGPT Sites.
Sites builds and hosts web apps from ChatGPT. Start a task, select or mention Sites if it is available in your account, and paste the build prompt below. If you do not see Sites, check your plan and region against the current Sites documentation; availability can vary during the beta. You can use the Claude route below in the meantime.
- Bring a direction. Attach a screenshot of a layout you like and describe what matters: warm wood, cream paper, soft watercolor sleeves, readable type. Use images you have permission to use. Do not include your private task list in a public example.
- Build with sample data. Attach sample-data.json from the kit, or let the builder use fictional tasks. This lets you fix the interface before troubleshooting connections.
- Open the preview and use it. Select Monday and Tuesday. Choose a different task. Start, pause and resume a short test timer. Check an item, then reload. Ask for specific changes based on what you see.
- Refine one thing at a time. “Make the task names readable on my phone” is more useful than “make it better.” Keep the working behavior while changing the design.
- Publish privately when it works. Ask Sites to save a version, deploy it with private access, and return the actual URL. Verify the access setting before adding personal tasks. A deployment is a real hosted site; a screenshot alone does not prove the controls work.
Sites provides a hosted runtime and storage options. Connecting an app to ChatGPT and connecting a deployed website to that app are separate pieces of work. We handle that explicitly in the next section. OpenAI’s Sites walkthrough shows the build, preview and deployment flow.
Use Sites to build a private, responsive weekly record-player planner from this brief. Use fictional data only for the first version and label it clearly as sample data. Visual direction: warm walnut record player, cream paper, softly colored record sleeves, elegant readable typography and generous spacing. Seven sleeves represent Monday through Sunday. Selecting a day brings that sleeve forward and updates that day's tasks. Put the selected day's top three beside the player on desktop and below it on a phone. Include a collapsed B-side for other tasks and a small calendar agenda. Let me choose a task and a 15-, 25- or 50-minute work block. Show an upright, readable countdown on the record. Spin the vinyl only while the timer runs. Add start, pause, resume and end controls. Completing the timer must not complete the task. A separate checkbox controls completion. Use stable task IDs. Preserve the selected task and timer across a reload. Use the real end timestamp for a running timer, and saved remaining time while paused. Do not rely on counting animation frames. Support keyboard controls and reduced motion. First build and test the sample-data version. Show the preview and a short account of what works. Do not claim that Notion or my calendar is connected yet. Keep all real-data access private.
Keep the existing working controls and data model. Refine only the visual design: - Make the selected sleeve feel like a real object being pulled from a shelf. - Make the record, sleeve and task list the main visual hierarchy. - Keep the countdown upright and readable as the vinyl spins underneath it. - Give the selected day a clear state beyond color alone. - On mobile, keep task names and controls comfortable to read and tap, with no horizontal scrolling. - Use the attached reference for palette and composition, not for copying private content. Show before/after previews at desktop and phone widths. Check text clipping, contrast, focus states and all existing controls after the change.
3. Give Notion and your calendar clear jobs.
Use your existing task database if you already have one. A second full task system creates two places to remember to update. The app should display the source task and link back to it.
| Notion field | What it means |
|---|---|
| Name | The actual next action: “Draft the newsletter,” rather than “Marketing.” |
| Status | To do, In progress or Done. Reuse your existing values. |
| Planned day | The date you intend to work on it. Keep this separate from a real deadline. |
| Priority | Whether it belongs in today’s top three. |
| Estimate | Minutes needed for a useful first block. |
| Source ID + link | The original Notion page/task identifier and URL, preserved by the integration. |
The sample CSV gives you column ideas. Importing it creates sample rows; it does not connect your app. You can also use an ordinary Notion page with checkboxes, but ask the builder to preserve each checkbox’s original block ID.
For calendar data, keep the event ID, calendar name, start, end and time zone. All-day events are dates, not midnight meetings. Recurring events, travel and daylight-saving changes need real date handling. Start by displaying busy times; add calendar writes only when you need them.
The easiest first connection: an explicit snapshot.
In ChatGPT, connect the Notion and calendar apps available to your account. Select the specific task page or database and calendar you intend to use. Ask ChatGPT to read one task and one event and show the source links. If an account or source is missing, fix that before building a larger sync.
Then ask it to prepare a private snapshot for the app. Refresh it from the sources when you plan your day. Show “updated at” and an explicit refresh action. In this mode, a local checkbox is not proof that Notion changed: send the change through a verified connected workflow or open the original task, then refresh the snapshot.
Inspect the Notion and calendar connections available in this ChatGPT task. My task source is [Notion page/database URL]. My calendar is [calendar name]. My time zone is [IANA time zone, for example America/Los_Angeles]. Read one real task and one event for [date]. Return their source links and the fields you can actually read. Map my existing task status, planned date, priority and estimate fields to the planner; do not create a duplicate task database. Preserve task/block IDs and calendar event IDs. Explain which operations work here: reading, refreshing, checking off a task, and creating or updating an event. Distinguish ChatGPT's connection from what the deployed Sites app can access. Start with an explicit private snapshot, including source IDs and last-updated time. Never label sample or stale data as live. If a connection is unavailable, give me the exact export or pasted fields needed and label that route manual. Do not change source records during this mapping step.
When you want the website itself to update the sources.
This is the next build stage. Ask the builder to inspect the actual hosted runtime and available integration support. It needs an authenticated way to call Notion and the calendar from the deployed app. Your ChatGPT connection should not be assumed to become a browser credential.
Keep tokens and account credentials on the server, with access checks on each request. Keep task completion and event creation as separate actions. A successful write should read back the original source; a failed write should show an error and leave a retry path. Displaying a green check locally is not enough.
Upgrade this private Sites app from a snapshot to a real connection only if the deployed runtime supports it. Inspect the available integration/authentication options first and explain the supported path. Do not invent endpoints or assume ChatGPT's connected apps are automatically available inside the site. Keep Notion authoritative for tasks and the calendar authoritative for events. Use server-side credentials and authenticated access; no secrets or private data in public assets. Request only the sources and permissions this app needs. Implement read and refresh first. Then implement completion of an existing Notion task by stable source ID. Read it back before showing saved. If the source changed since the app last read it, surface the conflict rather than overwriting it silently. Prevent duplicate writes on repeated clicks or retries. For calendar writes, show the proposed title, start, end, time zone and calendar for review. Check existing events before creating a focus block. Keep an event ID for later updates. A timer running in the app must not create a calendar event by itself. Test one clearly labeled test task end to end and one calendar read. Report what was verified, what still uses sample data, and any setup I must complete. If the runtime cannot support the connection, keep the snapshot workflow explicit instead of pretending it is live.
4. Build the same idea in Claude.
In Claude, ask for an interactive Artifact and paste the same visual brief. Make sure Code execution and file creation is enabled in Settings → Capabilities if your account requires it. Preview the artifact, click the controls and iterate in the conversation. Artifacts can be interactive apps; Anthropic’s artifact guide explains the current setup.
For connections, open Customize → Connectors, choose the available Notion and calendar connectors, and finish their normal account setup. Read a task and an event in chat first. Availability and allowed actions depend on the connector and account. Anthropic’s connector instructions cover the connection flow.
Supported paid Claude plans can use MCP-connected tools from artifacts and can support persistent storage. Ask Claude to check those capabilities in your actual session. An artifact may ask for permission on its first tool interaction; each person using a shared artifact needs their own relevant connections. Do not assume your private account access travels with a shared link. Current artifact capabilities.
- Build the sample-data artifact with Prompt 06.
- Use Prompt 03 to refine the visual design.
- Set up your available connectors, then use Prompt 07 to connect a small test source.
- Confirm that refresh, reload and completion work before depending on it.
- Keep personal task data private. If you share a public example, replace it with fictional data.
If the relevant tools are unavailable inside the artifact, keep the snapshot route. If you want a separately hosted app with custom authentication, Claude Code can work in a local app repository; hosting and integration setup are then a separate deployment step.
Create an interactive Artifact for my weekly record-player planner. Start with fictional sample tasks and calendar events only. Use seven beautiful sleeves for the days of the week, a warm wood turntable, a visible vinyl record, a top-three task list, a B-side for other tasks and a small daily calendar. Selecting a day pulls its sleeve forward and updates the tasks. Let me select one task, choose 15/25/50 minutes, start, pause, resume and end a focus block. Show a readable upright countdown on the spinning record. Keep task completion as a separate checkbox. Use a real timer deadline, not animation-frame counting. Support reduced motion, keyboard access and a readable phone layout. Check what persistence this Artifact actually supports; preserve timer/task state if supported and explain the fallback if it is not. Make the sample-data state explicit. Build the usable artifact and show me how to try every main action. Do not claim it is connected to my Notion or calendar yet.
Inspect which of my Notion and calendar connectors are available to this conversation and to this Artifact. The task source is [Notion URL], the calendar is [name], and my time zone is [IANA time zone]. First read one task and one event and show the source links. Preserve the original IDs. If this Artifact supports these connected tools, wire a refresh action and last-updated state. Explain any permission I need to grant through Claude's normal controls. Keep Notion as the task source and the calendar as the event source. Only enable source-task completion after verifying that the tool supports updating that exact task. Read the changed source back before showing success. Never equate a local checkbox with a successful Notion write. Keep calendar edits separately reviewed, with duplicate-event prevention. If connected tools are unavailable in the Artifact, make a private snapshot version and show exactly how I refresh it from the conversation. Clearly label that mode. Do not fabricate a live connection or use my private data in a public demo.
5. Make motion explain what just happened.
Start with three moments: choosing a record, starting a work block, and completing a task. Every animation should help you understand one of those moments. You do not need everything floating or bouncing while you work.
| Action | Useful motion |
|---|---|
| Choose a day | The sleeve moves forward over roughly 200–350 ms. Its task list updates with it. |
| Start a work block | The tonearm settles and the vinyl begins a steady rotation. The timer label stays upright. |
| Pause | Rotation stops and the remaining time freezes. Resume continues the same block. |
| Finish a task | A brief checkbox change, then a calm completed state. No automatic completion when a timer ends. |
| Reduced motion | Use an instant selection state and a static record. Keep the timer and all controls usable. |
Watch the edges. A record needs its rotation centered on the spindle; a drifting circle looks broken. Keep the label readable and avoid moving important buttons. Sound should start only through an intentional control, and it should be easy to mute.
Add restrained motion to the existing working planner. Preserve its controls, data and layout. When I select a day, bring that sleeve forward in 200–350 ms with a short ease-out. Update its task list at the same moment. Rotate the vinyl around its true center only while a work block is running. Keep the countdown label upright and readable. Pause must stop both the record and elapsed-time progression for that block; resume must continue correctly. Ending the timer must not mark the task complete. Derive the countdown from the saved deadline and current time. Verify it after switching tabs and reloading. Use transform/opacity for visual motion where possible. Honor prefers-reduced-motion with a static record and clear selection states. Keep keyboard focus visible. Avoid decorative perpetual movement, flashes and automatic audio.
6. Make it part of your day.
In the morning, refresh the sources and look at the actual calendar before choosing your top three. Leave room for appointments, transitions and the things that take longer than expected. Select one task and use the first block to make a meaningful start.
At the end of the block, decide: finished, continue, or break? Only check it off if the work is done. At day’s end, move unfinished work deliberately instead of silently copying every overdue task into tomorrow.
An optional “ask AI” control can prepare a prompt with the task title, notes and source link. Treat that as a handoff you review. It should not secretly send an email, change a client file, or announce that a task is done.
Read my task source [Notion URL] and calendar [name] for [date] in [time zone]. Show the source links and when they were read. Suggest up to three priorities that fit around the real appointments, using my estimates and deadlines. Explain any missing information or scheduling conflict. Leave [amount] of buffer time. Separate fixed events from proposed focus blocks. After I choose the priorities, update the existing tasks' planned day and priority if the connection supports it, then read them back. Do not create duplicate tasks. Show proposed calendar changes before writing them. Refresh the planner through its verified integration or snapshot workflow and accurately label which one was used.
7. Check the app before you rely on it.
Try a short test block first. This is the point where a beautiful prototype becomes something you can trust with your day.
Test this planner in a desktop layout and a narrow phone layout. Use sample data or a clearly labeled test task. Verify: changing days changes the correct task list; selecting a task changes the active block; start/pause/resume/end work; the countdown stays correct after switching tabs and reloading; timer completion does not complete the task; reduced motion removes spinning; keyboard users can reach and operate every control; long task titles do not clip. For real connections, read one task and calendar event from the original source. Complete a test task, read it back in Notion, and refresh the planner. Confirm that a repeated click does not duplicate a task or event. Show failed, stale and disconnected states honestly. Check date boundaries, all-day events and the configured time zone. Verify private access on the deployed app. Confirm secrets are not included in browser code or public sample files. Return the usable URL or artifact, the successful checks, any remaining limitation, and the exact next step. Do not call sample data a live integration.
Build the small version, use it for a day, and notice what you actually touch. Add the next feature because it solves a problem you felt while using it.
Download the full free starter kit · Get just the prompts · Get the test checklist
Updated September 24, 2026. Product interfaces, plan access and connector support can change. This is an independent Lead With Zoe guide. The sample data is fictional.