# The ChatGPT apps, projects, and memory
The same ChatGPT account follows you across three surfaces (web, desktop, and mobile), but each one is tuned for a different moment, and the features that actually change your workflow (Projects and memory) behave consistently underneath. This lesson tours the surfaces fast, then goes deep on the two things that turn ChatGPT from a chat box into a working environment.
The web app (chatgpt.com) is the full surface. Everything ships here first: Projects, Canvas, Advanced Data Analysis, Connectors, scheduled tasks, the GPT Store. If a feature is missing on another surface, check the web first.
The desktop app (macOS and Windows) adds OS-level reachreachThe number of unique people exposed to your message in a given period. Unlike impressions, reach counts each person once, no matter how often they see it.Voir la définition complète →. On macOS it can see other app windows when you grant permission, so you can ask it about the spreadsheet or code editor in front of you without copy-pasting. A global keyboard shortcut opens a quick launcher, which is the fastest way to start a chat without breaking focus. Companion tools like Codex
The mobile app (iOS and Android) is built for input you can't easily type: voice mode for hands-free conversation, the camera for "what is this" questions, and photo uploads from your library. Advanced Voice is the standout here.
The mental model: start serious work on web, capture and dictate on mobile, and use desktop when you want ChatGPT aware of what's already on your screen. Your chats, Projects, and memory sync across all three.
A Project is a container that bundles three things: a set of chats, uploaded files, and custom instructions that apply *only* inside that container. Think of it as a sandbox with its own brief and its own reference shelf.
Why this matters: your global custom instructions and global memory are great defaults, but they leak across everything. A Project lets you set instructions and load files that are relevant to one body of work, without polluting the rest of your account.
A key behavior: memory is contained inside Projects. Chats inside a Project don't read from or write to your global memory by default, and what happens in one Project stays scoped to it. That isolation is the whole point. See OpenAI's Projects help article for the current specifics, since limits and behaviors get updated.
Say you consult for a client, Northwind Retail, on a quarterly basis. Without a Project, every new chat starts cold: you re-paste their brand voice, re-explain their product lines, re-upload the same brief. Tedious and error-prone.
Create a Project called Northwind Retail. Set the instructions:
You are my analyst and copywriter for Northwind Retail, a mid-market
outdoor-gear retailer. Brand voice: practical, warm, no hype, no exclamation
marks. Always assume a North American audience. When I ask for analysis,
show your reasoning and cite which uploaded file you used. Currency: USD.
Default to plain language a store manager can act on.Then upload the reference shelf as Project files:
northwind-brand-guide.pdfq3-sales-by-sku.csv2025-marketing-calendar.xlsxstore-locations.csvNow every chat in this Project already knows the voice, the audience, and the data. You open a new chat and ask: *"Draft three email subject lines for the fall jacket promo, then tell me which SKUs from the sales file are trending down."* ChatGPT applies the brand voice from instructions and pulls numbers from q3-sales-by-sku.csv without you uploading anything again.
Project files become genuinely powerful when combined with Advanced Data Analysis (Code Interpreter), the sandboxed Python environment inside ChatGPT. Because your CSV is already on the Project shelf, you can say:
*"Using the sales file, chart weekly revenue by category and flag any category that dropped more than 15% week over week."*
ChatGPT writes and runs real Python against the file, returns the chart, and explains the dips, all within the Project's brand-aware context. No re-upload, no re-promptingpromptingPrompt engineering is the practice of designing and refining text inputs to guide large language models toward accurate, relevant, and reliable outputs.Voir la définition complète → the voice.
One Project per ongoing client or per major workstream. If you also write Northwind's internal HR docs, that's a *different* tone and a different file set: make a second Project. The isolation keeps the brand-voice instructions from bleeding between unrelated work.
Memory is ChatGPT's ability to remember details across separate conversations so you don't repeat yourself. It comes in two parts.
Saved memories are specific facts ChatGPT chooses to store, like "User is a consultant" or "User prefers metric units." You can see them in Settings → Personalization → Memory, and you can delete any one of them.
Chat history reference is broader: ChatGPT can draw on the themes and context of your past conversations to make new answers more relevant, even without an explicit saved memory.
Both are toggles. Both live under Personalization. The full, current rules are in OpenAI's Memory FAQ.
Outside the Project, in your everyday chats, memory learns that you're a consultant who writes for retail clients, prefers concise drafts, and works in USD. So when you start a quick unrelated chat to outline a proposal, ChatGPT already matches your style. That's the upside: less re-explaining, more continuity.
Inside the Northwind Project, the *Project instructions* do this job instead, scoped tightly to that client. This is the clean division of labor: global memory for your durable personal defaults, Project instructions for client-specific or task-specific context.
Turn it off (or use a Temporary Chat) when:
You can ask ChatGPT directly: *"What do you remember about me?"* and it will list its saved memories. You can also say *"Forget that I work at Northwind"* and it will drop that specific memory.
Vérification des acquis
1. According to the lesson, which surface should you check first if a ChatGPT feature seems to be missing on another device?
2. What is the key advantage the lesson highlights for the macOS desktop app specifically?
3. In the GPT Store ecosystem, what is a 'custom GPT' best described as?
4. Select ALL correct answers describing what a ChatGPT Project bundles together as a scoped workspace.
Sélectionnez toutes les réponses correctes.
5. Select ALL correct answers that match the lesson's mental model for using each ChatGPT surface.
Sélectionnez toutes les réponses correctes.
Projects and memory are the *personal* layer. They sit alongside the more programmable parts of the OpenAI ecosystem, and knowing the boundaries keeps you from reaching for the wrong tool.
Custom GPTs are shareable, packaged assistants with their own instructions, knowledge files, and optionally GPT Actions (calls out to external APIs). A Project is for *your* ongoing work; a Custom GPT is something you build to reuse or publish to the GPT Store. If five teammates need the Northwind brand assistant, a Custom GPT is the shareable version; a Project is your private one.
Connectors link ChatGPT to external sources like Google Drive, SharePoint, or GitHub so it can search them live. Where Project files are a fixed shelf you upload, Connectors are a live pipepipeAll active sales opportunities across the stages of the sales process, together with their combined potential value and probability of closing.Voir la définition complète → to a system of record.
The ChatGPT agent and scheduled tasks add autonomy: the agent can browse and act across steps to complete a task, and scheduled tasks let you say *"every Monday at 8am, summarize last week's Northwind sales file and email me the top three movers."*
When you need this repeatable and embedded in software, you move from the app to the OpenAI API. The current recommended entry point is the Responses API, which unifies model calls with built-in tools. (The older Chat Completions API still works and is widely supported.) For reliable downstream parsing, use structured outputs to force the model to return JSON that matches a schemaschemaA schema is the formal blueprint that defines how data is structured, named, typed, and related within a database, file, or message.Voir la définition complète → you define.
Here's the Northwind "flag declining SKUs" task as a small, schemaschemaA schema is the formal blueprint that defines how data is structured, named, typed, and related within a database, file, or message.Voir la définition complète →-constrained APIAPIApplication Programming Interface: a standardised interface that lets applications communicate and exchange data without knowing each other's internal workings.Voir la définition complète → call:
from openai import OpenAI
client = OpenAI()
response = client.responses.create(
model="gpt-4.1",
input="From the sales summary, list SKUs with a week-over-week revenue drop over 15%.",
text={
"format": {
"type": "json_schema",
"name": "declining_skus",
"schema": {
"type": "object",
"properties": {
"skus": {
"type": "array",
"items": {
"type": "object",
"properties": {
"sku": {"type": "string"},
"wow_change_pct": {"type": "number"},
},
"required": ["sku", "wow_change_pct"],
"additionalProperties": False,
},
}
},
"required": ["skus"],
"additionalProperties": False,
},
}
},
)
print(response.output_text)That structured result drops straight into a dashboard or an email job, no manual parsing. From here, function calling lets the model trigger your own tools, and the Agents SDK orchestrates multi-step agents in code. Start at the OpenAI API docs when you cross this line.
The progression is clean: Projects and memory for personal, exploratory work; Custom GPTs and Connectors for shared, packaged assistants; the API and Agents SDK for production software.