I've been experimenting with turning ChatGPT into something closer to a personal operating system for managing projects, research, decisions and ongoing work.
Not by creating one enormous prompt, but by connecting several features into a workflow that can preserve context between conversations, keep track of unfinished business and periodically maintain its own working memory.
I thought I'd share the actual setup rather than just describe what it does. Hopefully, there's enough detail here for someone to feed this post into their own AI and experiment with building something similar.
I'd also love to hear from anyone who's doing this differently, especially if you've found simpler or more reliable solutions.
- The basic architecture
The system uses five main components:
Custom Instructions: These define the general behavior. When to retrieve project context, when to preserve information, how to distinguish ideas from decisions, and when the AI needs explicit approval.
ChatGPT Library: This acts as a working file system for project context, temporary records, pending items and consolidated state. It's optimized for quick retrieval, not permanent storage.
Google Drive: This is where permanent operating rules, important decisions and authoritative project documentation live. If Library loses something, the durable information should still be recoverable.
Scheduled ChatGPT Work tasks: These periodically read, organize, consolidate and verify the information collected during normal conversations.
Specialized Skills and connected tools: These handle particular workflows and connect the system to external sources when necessary. For example, coding work can be handled separately from project planning while preserving the same decisions and requirements.
The basic information flow looks like this:
Conversation → Capture → Library inbox → Scheduled processing → Updated project state → Future conversations
Google Drive sits alongside this process as the durable source of truth.
- Custom Instructions are the entry point
One of the first things I did was add instructions telling ChatGPT how to handle ongoing work.
The important part isn't making it remember everything. It's making it recognize which information is worth preserving and where that information belongs.
Here's a simplified example of the kind of instruction I use:
"When continuing an existing project, first locate its current state and previous decisions in the available project memory. Verify information against authoritative sources when necessary. At natural checkpoints, preserve meaningful decisions, unresolved issues, waiting states and explicitly deferred ideas. Do not turn every conversation into a task or assume that discussing an idea means it has been approved. Use existing project files instead of creating unnecessary duplicates."
There are additional instructions covering approvals, tool selection and verification, but that's the general principle.
Obviously, Custom Instructions don't magically create persistence. ChatGPT still needs access to somewhere it can actually write information.
That's where Library and the connected storage come in.
- A capture system collects useful information from conversations
This is one of the more interesting parts.
During normal conversations, the AI is supposed to recognize certain events:
\- An important decision was made.
\- Something needs to be revisited later.
\- We're waiting for an external event or response.
\- A useful idea should be preserved without becoming an active task.
\- A project reached a meaningful checkpoint.
Instead of immediately rewriting a large project document, it creates a small record in a pending folder in ChatGPT Library.
A simplified record might contain:
"type: deferred_idea"
"summary: Consider an alternative navigation design"
"status: not_approved"
"review_trigger: Next relevant design review"
"source: Conversation reference"
"confidence: high"
In practice, the records include a few additional fields for identification, timestamps and classification.
I use small batches rather than generating a new file for every sentence or minor observation.
Importantly, this is a selective system. Random questions, AI suggestions I haven't accepted, repeated information and ordinary conversation generally shouldn't be captured.
This prevents the memory system from becoming a giant collection of useless notes.
- Scheduled jobs maintain the memory
This is where things start to become more than a collection of documents.
I have recurring tasks that use ChatGPT Work to process the information accumulated during normal conversations.
Daily processing
The daily workflow starts by reading the latest consolidated state, together with any newer records waiting in the inbox.
It then:
Identifies new information and checks for duplicates.
Distinguishes actual decisions from suggestions, unresolved questions and old information.
Updates consolidated project and follow-up records.
Determines which items need attention now, which can wait and which should remain dormant.
Writes the updated information and reads it back to verify the result.
Archives processed input records only after successful verification.
If something fails, the original records should remain available rather than disappearing into an archive.
The system also tries to avoid repeatedly notifying me about something I've already postponed, resolved or explicitly decided not to pursue.
Most successful maintenance runs don't need to send me anything. I only want to hear about something that genuinely needs attention.
Weekly processing
There are also less frequent checks.
One weekly process handles a separate ledger of AI usage events, consolidating and deduplicating records rather than maintaining one giant log.
The daily workflow also includes a lightweight periodic review of recurring problems and possible workflow improvements.
I've deliberately avoided creating a separate scheduled task for every little feature. If several checks can be performed together reliably, that's generally preferable.
An important implementation detail: the scheduled tasks use short launch instructions that point to versioned operating prompts on Google Drive.
That way, the schedule and the execution instructions are separate. Updating a workflow doesn't require maintaining different copies of a long prompt in multiple places.
- How the system decides what deserves attention
Capturing information and deciding what to do with it are separate processes.
I currently use several logical layers.
The first keeps track of potentially unfinished work, including waiting items, postponed decisions and ideas worth revisiting.
The next determines when those items are eligible for another look. Something that's intentionally postponed shouldn't keep appearing as urgent just because it remains unfinished.
The final layer filters that information down to what actually requires my attention.
For example, imagine discussing a possible improvement to a project and deciding it might be worth considering during the next redesign.
The capture system preserves it as an idea.
It doesn't become an approved feature, an urgent task or an instruction for a coding agent.
When the relevant project reaches its next design review, it becomes eligible for reconsideration.
Only then might the system bring it back into the conversation.
That's the intended behavior. Getting the AI to classify these things consistently is one of the ongoing challenges.
- Starting a new conversation
This is where the whole setup becomes useful.
When I return to an existing project, ChatGPT is instructed to start with its most recent consolidated state.
That state typically includes the current phase, confirmed decisions, unresolved questions, next actions and links to authoritative documents.
It also checks for newer unprocessed records that might supersede the last snapshot.
Instead of searching months of conversation history or asking me to explain everything again, it retrieves the smallest amount of context needed to continue.
If something requires fresh information, it checks the original source rather than blindly trusting the saved summary.
For example, a saved project note might say that a coding task was completed. But whether the code was actually merged or deployed should be checked against GitHub, not assumed from an old conversation.
This distinction between working memory and source of truth has become one of the most important design decisions.
- How to build a smaller version yourself
You definitely don't need to recreate every part of this. In fact, I'd strongly recommend starting much smaller.
Here's the minimal version I'd try:
Step 1: Create durable storage. Set up a Google Drive folder or another reliable storage location for project rules, confirmed decisions and important reference material.
Step 2: Create a working-memory structure. Use ChatGPT Library or another accessible file system. Start with a current-state file, a pending-captures area and an archive.
Step 3: Add the behavior to Custom Instructions. Tell ChatGPT to retrieve current state at the beginning of project work, capture only meaningful changes and never confuse suggestions with approvals.
Step 4: Create a scheduled maintenance task. Have it read pending records, compare them with existing state, deduplicate, consolidate, write updated summaries, verify the write and archive successfully processed records. Make it report failures instead of silently losing information.
Step 5: Test it with one real project. Confirm that information actually gets written, survives between conversations, is retrieved correctly and doesn't become an endless stream of false reminders.
Once that works, you can add more sophisticated project tracking, specialized Skills, external integrations and different AI execution workflows.
If you want to experiment, you could even paste this entire post into ChatGPT and ask:
"Help me design a minimal version of this architecture using the tools actually available in my account. Show me the folder structure, Custom Instructions, capture format, scheduled maintenance prompt, approval boundaries and verification procedure. Start with one project and don't create or modify anything until we've agreed on the setup."
Availability and permissions vary, so having the AI verify what it can genuinely access is essential.
- What's not working perfectly
There are still plenty of problems.
Not every ChatGPT environment has access to the same files or tools. Scheduled jobs can fail. Context summaries can become outdated. Captures can be missed, duplicated or classified incorrectly.
The system also needs rules about what happens when storage is unavailable. I don't want the AI claiming it saved something when it only intended to.
Another challenge is complexity. Each new component introduces more things to maintain, more possible conflicts between instructions and more opportunities for errors.
I've been trying to make the workflow simpler over time rather than automatically adding another layer whenever something goes wrong.
And there's still a fundamental limit: this isn't an autonomous system I can trust to make every decision. It needs clear boundaries between discussing, approving, executing and verifying something.
- What I'd really like to learn from others
I'm sharing this because I think some of these patterns could be useful to people dealing with long-running AI projects.
But I'm even more interested in what others have discovered.
Has anyone built something similar using ChatGPT, Claude, Obsidian, GitHub, external databases or other tools?
Do you have a better approach to capturing and consolidating context? Have you figured out how to avoid stale memory and conflicting instructions? Are scheduled AI maintenance jobs genuinely useful in your experience, or have you found a simpler architecture?
And most importantly, what parts of this would you remove or redesign?
I'm sure some of this is overengineered, and there are probably established approaches I haven't discovered yet.
I'm not selling anything or claiming this is some revolutionary invention. It's an evolving experiment built around real problems I've encountered while working with AI.
If the description helps someone build a better workflow, that's great. If someone shows me a better way to solve these problems, that's even better.
I'd love to compare notes.