So I saw some demos of ChatGPT 4o with Canvas on Youtube and I have to admit, it is exactly what I needed. I have quite a few projects - coding and writing, that I could really use the help on (I am not a coder and only a very amatuerish writer)… so I figured that is was well worth the cost of entry.
For a little while I was amazed, awed even. Then, as my writing project grew larger, to a whopping 4 chapters at 32, 157 words, it pretty much stopped working. 20-30 minutes for a review and suggestions?
So, okay. Sure… well, let’s try out the coding side and work with that for a bit. A simple project, really… basically how I’m working with canvas except:
First, I know it’s not the proper terminology, but in the following project details, I’m using the term memories to signify Prompts and Responses that are specific to the situation.
-
Use MongoDB to store user authentication, user account details, and the details about the various projects that the user creates. It will also store user-specific LTM: “memories that are personal details about the user.” These memories would be used to shape the user’s experience across projects. For example, say the user is writing a book that has a certain writing style, or prefers to brainstorm, outline, then write. That would be a long-term memory.
-
Project memories: These are long-term memories that would be stored in a Redis Persistence and are specific to a project_id that the user created. So, let’s say the genre of the project would be a Redis long term memory. Characters, worldbuilding, all of that stuff would also fall into this. We use Redis so these memories can be pulled into and out of memory quicker and more efficiently when they need to be referenced.
-
Session memories: These are short-term memories that are stored in Redis memory. Once the session is closed, then memories are then stored into Persistence. Things like what two characters are talking about are stored here.
So, yea, pretty basic app, just a text editor with an AI collaborator. I mean, sure, kind of complicated and add in to that the fact that I’m not a coder?
Anyways, Canvas helped with creating a Flask app that will have a React frontend. So far, I’ve gotten the main app.py with routes to the following templates, the typescript, css, python requirements and npm’s:
base.html
/ (index)
/home.html
/register.html
/login.html
/account.html
/new_project.html
And that’s it. Canvas cannot handle more than that. Sometimes just Alt+F4’ing the browser and going back in works, but not very often. Then it has the fun-fun times of saying its made code changes when it obviously hadn’t. I ask it what it changed, and then it tells me it changed something we did 3 hours ago (which, in Canvas time, was 4 edits ago). When it finally does decide to make a change to the code, say… the code is 253 lines… it stops generating code once it hits line 214. Ask it to keep generating… and it may or may not stop at 214 again, or it may just decide to cut off more code.
(By the way, if anyone is wondering how to “fix” that, tell it, “generate the full code until it gets to the: if ‘name_’ == ‘main’: part”… then it will, usually, finish generating the rest of the code).
So, anyways. Yea. Canvas is an awesome tool… until it’s not. Stay far, far away from it unless you’re just playing around with a simple, single document or very simple (ie: not that large) of code.