brainstate

Nutlope/llamacoder · source

Snapshot 0 · 2026-11-04T12:47:27Z · TypeScript · MIT

Content fingerprint405856db21c2c6c7810d3db5b5a8eb88bd96e57cba89a7c67ed28e9bb745bad6

GitHub description at capture

Open source Claude Artifacts – built with Llama 3.1 405B

README at capture

<a href="https://www.llamacoder.io">
  <img alt="Llama Coder" src="./public/og-image.png">
  <h1 align="center">Llama Coder</h1>
</a>

<p align="center">
  An open source Claude Artifacts – generate small apps with one prompt. Powered by Llama 3 on Together.ai.
</p>

## Tech stack

- [Llama 3.1 405B](https://ai.meta.com/blog/meta-llama-3-1/) from Meta for the LLM
- [Together AI](https://togetherai.link/?utm_source=llamacoder&utm_medium=referral&utm_campaign=example-app) for LLM inference
- [esbuild-wasm](https://github.com/evanw/esbuild) + [esm.sh](https://esm.sh) for the in-browser preview renderer (runs in a sandboxed iframe)
- Next.js app router with Tailwind
- [Braintrust](https://www.braintrust.dev/) for observability
- Plausible for website analytics

## Cloning & running

1. Clone the repo: `git clone https://github.com/Nutlope/llamacoder`
2. Create a `.env` file and add your API keys:
   - **[Together AI API key](https://dub.sh/together-ai/?utm_source=example-app&utm_medium=llamacoder&utm_campaign=llamacoder-app-signup)**: `TOGETHER_API_KEY=<your_together_ai_api_key>`
   - **Database URL**: Use [Neon](https://neon.tech) to set up your PostgreSQL database and add the Prisma connection string: `DATABASE_URL=<your_database_url>`
   - **Braintrust API key** (optional, for observability): `BRAINTRUST_API_KEY=<your_braintrust_api_key>`
   - **Screenshot uploads**: Configure `S3_UPLOAD_KEY`, `S3_UPLOAD_SECRET`, `S3_UPLOAD_BUCKET`, `S3_UPLOAD_REGION`, and `IMAGE_UPLOAD_TOKEN_SECRET` (a dedicated random secret, e.g. `openssl rand -base64 32`; it is required and must differ from `S3_UPLOAD_SECRET`). The uploader uses the existing bucket as-is. Uploaded screenshots are only needed for ~30 minutes (the validated-image token TTL), so add a bucket lifecycle rule that expires objects under `next-s3-uploads/uploads/` after 1 day; this also removes uploads that were never verified. If the S3 credentials allow `s3:DeleteObject`, uploads that fail verification are deleted immediately.
3. Run `npm install` and `npm run dev` to install dependencies and run locally

## Contributing

For contributing to the repo, please see the [contributing guide](./CONTRIBUTING.md)