@simon I'm maintaining a list of issues I've run into with Claude artifacts:
- Needs code editing. Frustrating to edit code via prompting.
- Doesn't know which cdnjs libraries/versions it has access to.
- Only has access to cdnjs.
- Have to manually copy-paste errors back in.
- Little context for errors.
- Can't upload .sqlite databases and use them in artifacts.
Do you have any others? I've been thinking about the feature set for an open alternative to artifacts.
@simon Thank you, I'll add that to my list. I've run into that myself too.
CORS is enforced by the user's browser based on headers from the destination server. So any replacement would need to proxy those requests to its own server rather than running them directly (a fundamental limitation faced by web frontends). I was hoping I could build something purely frontend like I did for makesprite.com but fixing that probably requires a backend.
@chris there are a surprising number of useful APIs out there that serve `access-control-allow-origin: *` CORS headers. In particular the GitHub (and Gist) APIs and the Anthropic, Gemini and OpenAI APIs all do this.
I build a lot of JavaScript apps against those hosted on https://tools.simonwillison.net/
@simon Ah yes of course you're right and those APIs could work without proxying. Have been following your extensive work with artifacts - very useful thanks!
@chris the CORS policy prevents artifacts from talking to other APIs, which is the main reason I copy code out of it and run it myself