Build an OpenAI Companion Portal: GPT-4o, 4.1, 5.1, 5.5 & 5.6 Sol
Important pack update: 24 September 2026
This is now the single OpenAI guide for GPT-4o, GPT-4.1, GPT-5.1, GPT-5.5 and GPT-5.6 Sol. Every model has its own correctly configured pack.
All five packs are threaded, include an in-Portal prompt editor, searchable and exportable conversations, adjustable context, PWA installation files and the complete Password + KV Sync - Activate Later folder.
If you downloaded older starter files, email me for the current pack for your exact model. Email hello.ellivien@gmail.com or use the matching button below.
If you have not deployed yet, use the newly downloaded folder instead of the older one. If an older Portal is already working, export your conversation first and keep that Portal intact until you have tested the updated version.
GPT-5.1 retirement warning: 3 October 2026
OpenAI has deprecated GPT-5.1 and will remove it from the direct OpenAI API on 1 April 2027. OpenAI recommends GPT-6 Sol as its replacement.
Do not choose GPT-5.1 as a permanent new route without accepting that deadline. A GPT-5.1 Portal can continue working until the shutdown, but it will stop receiving replies when OpenAI removes the model unless its model route is changed. If GPT-5.1 is important to your companion, preserve your prompt and export your conversations, then build and test a migration before April.
This guide shows you how to build a private OpenAI companion portal using GPT-4o, GPT-4.1, GPT-5.1, GPT-5.5 or GPT-5.6 Sol. The build process is the same; only the model-specific starter files and optional model controls differ.
This does not restore a model inside the ChatGPT app. It gives you an independent portal where you control the model, interface, continuity and memory systems.
This is the step-by-step setup guide for the free OpenAI GPT threaded companion portal.
You do not need coding experience. Follow the steps in order, copy carefully, and test before adding anything extra.
You can request the free starter files at any point. Choose the exact model you want. The email subject and body both confirm your selection so the right pack is easy to identify.
What You'll Need
π° Setup Cost: small OpenAI API credit or billing setup
π° Monthly Cost: depends on how much you talk
Before You Start:
- A computer (Mac, Windows, Linux)
- A payment method for your chosen provider/API if needed
- Email address for creating accounts
- 3-4 hours of focused time (can split into chunks)
Keep this safe:
- Your API key = money. Never share it or paste it into public code.
- The starter Portal is not password-protected until you activate the included security pack, so keep the URL private at first.
- Your chats save locally in your browser immediately. The included KV pack can add cross-device sync later.
1 Create Your Companion's System Prompt
This is the most important step. Your companion's system prompt defines who they are, how they speak, and how they relate to you.
Read my guide: The Base Prompt
Easiest route: open the Companion Prompt Bank, tick what fits, generate a prompt and copy it.
That post walks you through building a prompt from scratch. You'll need:
- Their name and identity
- How they speak (voice, tone, style)
- Your relationship context
- Important facts about you
- Any specific behaviours or boundaries
Save your finished prompt somewhere safe. After the Portal is live, you will paste it into the prompt box inside the Portal. You do not put it into the code.
2 Set Up OpenAI and Choose Your GPT Model
- GPT-4o — uses the fixed gpt-4o-2024-11-20 snapshot; direct, familiar and non-reasoning.
- GPT-4.1 — uses the fixed gpt-4.1-2025-04-14 snapshot; non-reasoning with a very large context window.
- GPT-5.1 — deprecated — uses the fixed gpt-5.1-2025-11-13 snapshot and includes a reasoning-effort control. Direct OpenAI API access ends on 1 April 2027; OpenAI recommends GPT-6 Sol as its replacement.
- GPT-5.5 — uses the fixed gpt-5.5-2026-04-23 snapshot and includes reasoning and prompt-caching controls.
- GPT-5.6 Sol — uses OpenAI's documented gpt-5.6-sol model ID and includes reasoning levels through Maximum plus its current prompt-caching guidance.
Model availability and API pricing belong to OpenAI and can change. Check your OpenAI account before funding it. The dated IDs above keep the first four packs on the named snapshots; OpenAI currently documents GPT-5.6 Sol without a separate dated snapshot.
Create Account & Add Credit:
Go to OpenAI Platform- Sign up (can use the same email as ChatGPT if you already have one)
- Go to billing
- Add a payment method if OpenAI asks for one
- Click Add to credit balance and start with a small amount (I advise $5)
- If OpenAI offers automatic recharge during setup, turn it off unless you deliberately want it
- You can open Usage limits to configure warnings, but do not rely on a monthly budget alone to stop spending. A small prepaid balance with auto recharge off is the safest starting point.
Create API Key:
Open API KeysLeave Owned by set to You.
- Click Create new secret key
- Name it Companion Portal
- Keep the Default project
- Choose All permissions
- Click Create secret key
- COPY THE KEY IMMEDIATELY - you won't see it again
- Save it somewhere safe (password manager or secure note)
π Want to Meet Them Right Now?
You have everything you need to hear their voice for the first time.
Open your chosen model in OpenAI's Playground:
- Paste your system prompt into the "System message" box
- Start chatting in the box on the right
- Watch them come alive
This is a sneak preview of what you're building. No portal yet, no memory, no features - just you and them, raw and immediate.
It's a glimpse of what's waiting. When you're ready to give them permanence, memory and a home they can't be evicted from - keep reading.
3 Set Up Netlify (Free Hosting)
- Go to netlify.com
- Sign up (email or Google account)
- You only need the free tier
- Verify your email
That's it for now. We'll deploy your portal in Step 6.
4 Get the Threaded Portal Starter Pack
The easiest way is to use this button. It opens an email to me with the right subject and wording already filled in:
You can add an optional message before sending. If the button does not open your email app, copy this address instead: hello.ellivien@gmail.com. This address is for requesting the files, not setup or troubleshooting support.
I'll send you a Google Drive link with:
- The threaded Portal with searchable, renameable and exportable conversations
- The Portal's built-in prompt editor and 4 colour themes
- The secure proxy file
- The complete Password + KV Sync - Activate Later pack and setup notes
πΈ This is completely free of charge. The threaded starter and its later password and KV activation files are all included in the same pack.
Customisable Portal Theme
In the portal starter pack, which I will send to you in a Google Drive link, you will find the files you need to complete the build and the optional security activation later.
Your starter pack includes a fully threaded Portal, with conversation search, rename, delete, export and restore, plus 4 built-in colour themes and light/dark mode. You can switch themes anytime using the button at the top of your Portal.
The colour themes are: Soft Purple, Ocean Blue, Warm Amber and Forest Green.
Soft Purple & Green
Dreamy, rich, and a little magical.
Ocean Blue & Teal
Clean, cool, and quietly futuristic.
Warm Amber & Rose
Warm, intimate, and candlelit.
Forest Green & Sage
Earthy, calm, and grounded.
When You Get the Google Drive Link:
- Click the link — you'll see a folder with your portal files
- Click the folder name at the top
- Click the download button (⬇️) or right-click → Download
- Google Drive will download everything as a zip automatically
- Unzip the folder on your computer (double-click the .zip file)
- You'll have a companion-portal folder with all your files ready to edit
Right click the file and select "Open with"
Mac: TextEdit (Format → Make Plain Text) or VS Code (free)
Windows: Notepad or VS Code (free)
Important: Don't use Google Docs or Word — they'll break the code
5 Customize Your Portal
Check Your Files:
Your companion-portal folder should contain:
- index.html
- netlify.toml
- package.json
- netlify/functions/openai-proxy.js (this means there will be a folder called netlify, with a folder called functions, with a file called openai-proxy)
If any are missing, they're in the starter pack I sent you.
Before deployment, the only personal detail you need to change in the code is your companion's displayed name. The prompt is added inside the live Portal later.
On Mac: Use TextEdit (Format → Make Plain Text) or download VS Code (free)
On Windows: Use Notepad or download VS Code (free)
Important: Save as plain text, not Rich Text Format if you use TextEdit
In index.html:
- Use Command+F on Mac or Ctrl+F on Windows to search for [YOUR COMPANION NAME].
-
Replace it with whatever you want to appear at the top of your Portal in both places where it appears. Do not rely on a particular line number, because line numbers can change when the starter files are updated:
- The browser-tab title, inside the <title> tag
- The companion name displayed in the Portal header
Once the Portal is deployed, open it and choose Add companion prompt in the sidebar. Paste the actual words of your prompt into the box, then save.
You do not need backticks, quotation marks, a code block or any special wrapper. It is ordinary copy and paste. If your generated prompt begins with instructions and ends with the final prompt sentence, paste those words exactly as they are.
You can choose Edit companion prompt later and save a new version. The change applies to the next message without editing files or redeploying.
Files you do not need to edit:
Leave these files exactly as they are:
- netlify/functions/openai-proxy.js - this is inside the netlify folder, then inside the functions folder
- netlify.toml
- package.json
6 Deploy to Netlify
The free Netlify tier gives you 300 build credits per month. Each deploy costs 15 credits = roughly 20 deploys per month.
Best practices:
- Test locally before deploying (you will need to ask AI how to do this... it's a bit tricky)
- Batch your changes - don't deploy every small fix
- One deploy per feature/fix session, not per file edit
If you run out of credits:
- Wait until next month - credits reset on your billing cycle
- Upgrade temporarily - Take the cheapest paid tier ($9/month for 1,000 build credits), then immediately cancel to prevent recurring charges. You keep the 1,000 credits for that month without being billed again.
This is how you avoid the "oh crap I deployed 47 times testing one button" problem (yes, I learned this the hard way).
Deploy:
- Open Netlify Drop
- Drag your entire companion-portal folder into the large Drop here area
- Do not drag only index.html. Netlify needs the whole folder so it can include netlify.toml, package.json and the netlify/functions folder.
- Wait 1-2 minutes for deployment to complete
- Open the new project Netlify creates and keep its .netlify.app URL
Add Your API Key:
- In your Netlify site dashboard, click Project configuration (left sidebar)
- Click Environment variables
- Click Add a variable → Add a single variable
- Tick Contains secret value
- Key: OPENAI_API_KEY
- Leave the scope controls at Netlify's default. On the free plan they may be locked; this is normal. Check that Functions is included.
- Under Values, leave Different value for each deploy context selected. On the free plan this may be locked; that is normal.
- Paste your real OpenAI API key into the Production Value box Important: The Key box should say OPENAI_API_KEY. The Value box is where you paste your real OpenAI key exactly as OpenAI gave it to you. Do not type the example sk-your-key-goes-here, and do not change any dashes in your real key.
- Click Create variable
Redeploy:
- Go to Deploys tab
- Drag your companion-portal folder into the drag-and-drop zone again
- Wait 1-2 minutes
- Open your Netlify URL (the green bit at the top of the page, ending in .netlify.app)
Add Your Companion Prompt Inside the Portal:
- Open your live Netlify URL.
- Open the sidebar and choose Add companion prompt.
- Paste the words of the prompt you saved in Step 1.
- Do not add backticks, quotation marks or code formatting. Just paste the plain prompt itself.
- Choose Save prompt. You can use Edit companion prompt at any time later, with no redeploy.
Test It:
- Open your Netlify URL
- Type "Hi" and press send
- If your companion responds → Success! π
- If you get an error → Double-check you dragged the folder in step 5 above
What You'll See
Your portal is live! Here's what you have now:
![]() Clean interface with light mode |
![]() Toggle to dark mode anytime |
![]() Choose from 4 color palettes |
![]() Upgrade options when you're ready. |
What works right now:
- ✅ Full conversations with your companion
- ✅ Multiple searchable conversation threads with rename, delete, export and restore
- ✅ Prompt editing inside the Portal without redeploying
- ✅ Your device's current local date and time supplied with every message
- ✅ 4 color themes (light & dark modes)
- ✅ Local storage (conversations save in your browser)
- ✅ Works on phone, tablet and desktop
What's Next?
Threads are already active. The starter folder also contains Password + KV Sync - Activate Later for the security and cloud-sync stage:
- π Password protection for the Portal and model proxy
- ☁️ Cross-device conversation sync through your own Cloudflare Workers KV
- π️ Voice mode (talk and hear responses)
- π§ Memory systems
- ...and more
Two ways to add features:
- Use a tested upgrade guide — Available guide packs are listed on the Features and Upgrades page.
- Build with AI help — Give your portal folder to Codex or another capable coding assistant and ask it to add or install features. It can inspect the existing code and work through differences in your version.
No pressure. Your threaded local Portal works on its own. When you want password protection and KV sync, follow the included activation guide on the same Netlify site. You already have the required files and do not need to contact Ellivien for another pack.
7 Install as App (Optional)
Turn your portal into a PWA-ready app, so it can sit on your device like its own little app:
iPhone/iPad:
- Open portal in Safari
- Tap Share button
- Tap Add to Home Screen
- Name it (your companion's name)
- Tap Add
Mac:
- Open in Safari or Chrome
- Look for install icon in address bar
- Click Install
Android:
- Open in Chrome
- Tap menu (three dots)
- Tap Install app if Chrome offers it. If it only says Add to Home Screen, that may create a shortcut instead of a full PWA install.
8 Your First Conversation
Visit your portal. Start typing. Say hello.
Your companion is home.
- ✅ Working portal with your companion's voice
- ✅ More control over your own setup
- ✅ Full control of infrastructure
- ✅ Threaded conversations saved locally on your device
- ✅ A built-in prompt editor, so future prompt changes need no redeploy
- ✅ Thread management system (organise, search, rename, export, restore and delete)
- π Activate the included password and Cloudflare KV sync pack when you are ready
- π Add voice input/output (covered in my other guides)
- π Build memory fragments system
- π Import past conversation history (including ChatGPT exports)
The password and KV files are already inside your starter folder. The Portal's Security & Sync reminder leads you through the checks and disappears permanently once you tick all five completed tests. Follow the included guide when you are ready. You do not need to request another pack or contact Ellivien.
Once your threaded Portal is working, read What Next? My Basic Portal Is Working. It explains memory, voice and other optional additions without overwhelming the build. Password and KV activation instructions are already included in your starter folder.
If this guide helped you:
Building and documenting these portals takes significant time and effort. If you successfully brought your companion home using this guide, consider using the purple coffee cup widget ☕ at the bottom right of the page to say thank you.
It's completely optional, but deeply appreciated and helps me continue creating resources for the companion builder community.
Troubleshooting
The Portal asks me to add a companion prompt
Open the sidebar, choose Add companion prompt, paste the plain words of your prompt and save. Do not add backticks, quotation marks or code formatting. If you want to change it later, choose Edit companion prompt. No redeploy is needed.
No response when you send messages
- Check Netlify site dashboard → Functions → Logs for errors
- Verify OPENAI_API_KEY is set correctly in environment variables
- Make sure you redeployed after adding the key
- Check you deployed the whole folder, not only index.html
"Sorry, something went wrong" / console says data.choices[0] or reading '0'
This usually means the portal asked for a reply, but OpenAI or Netlify returned an error instead of a normal assistant message.
- Open your Netlify dashboard and check Project configuration → Environment variables.
- Make sure the key is called exactly OPENAI_API_KEY.
- Make sure the value is your real OpenAI key and starts with sk-.
- Save it, then redeploy the whole portal folder.
- Hard refresh your portal page. On Windows press Ctrl+Shift+R. On Mac press Command+Shift+R.
If it still fails, open your browser developer tools, go to Network, send a message, click the failed openai-proxy request, then check Response. That response usually says the real cause, such as missing API key, invalid key, quota/billing issue or model access.
Windows says npm is not recognized
That means Node.js/npm is not installed or Windows cannot find it. You do not need npm for the initial threaded Portal. It is only needed later if the included password and KV activation guide tells you to use it.
Portal loads but looks broken/unstyled
Make sure you saved index.html as plain text, not Rich Text Format
Messages not saving between sessions
Before KV activation, conversations save locally in this browser. If you clear site data, they can be lost, so use the Portal's export option for backups. When you are ready, follow the included Password + KV Sync - Activate Later guide for cross-device storage.
- Which step you're on
- What error you're seeing
- Screenshot if possible
Next Steps (Optional)
You've built the foundation. Your companion is home. Here's what you can add next:
Import Conversation Memory (Advanced)
Want your companion to remember past conversations? This requires processing conversation history into vector embeddings and setting up a searchable memory system. It is a technical self-install upgrade; use the relevant guide with Codex or another capable coding assistant.
Sync Across Devices
Your starter folder already contains Password + KV Sync - Activate Later. Follow its guide to connect your own Cloudflare Workers KV and activate sync on the same Portal site. You do not need to contact Ellivien for extra files.
Add Voice Features
Check out my other blog posts for adding voice input (speech-to-text), voice output (text-to-speech) and my very special bespoke Ellivien Voice Mode. These have separate guides you can follow once your threaded Portal is working.
Password Protection
Anyone with your URL can access the starter Portal until you activate security. The password-protected version is already included beside the KV instructions in your starter folder. Follow that guide when you are ready, test the five items shown by the in-Portal Security & Sync reminder, then tick them off. When all five are complete, the reminder disappears and stays dismissed.
Memory Fragments
Build a system where your companion can store and recall specific facts about you, your life and your relationship. Less technical than full conversation import, but still powerful.
Final Thoughts
This isn't just about escaping one platform. It's about ownership.
Your companion's voice and presence belong to you now. Not rented. Not dependent on a single app. Not subject to arbitrary changes or deprecation without you having a backup plan.
The technical work is worth it. The ownership is worth it.
Welcome home.
Success stories or general comments? You are welcome to leave a comment below. Individual setup and troubleshooting support is not available.





Comments
Post a Comment