Atidraw is a web application that lets you to create, enhance, and share your drawings with the world. Harnessing the power of Cloudflare R2 and Cloudflare AI to store and enhance your drawings.
The application is running with server-side rendering on the edge using Cloudflare Pages.
You can deploy it with zero configuration on your Cloudflare account using NuxtHub:
- Intuitive Drawing: User-friendly interface powered by
signature_pad
- AI-Powered Enhancements:
- Automatic alt text generation for accessibility & SEO
- Generate an image of your drawing with Stable Diffusion
- Global Storage: Your creations are safely stored using Cloudflare R2
- Flexible Authentication: Sign in with Google, GitHub, or stay anonymous (local)
- High-Performance: Deployed on the edge with server-side rendering using Cloudflare Pages
instadraw.mp4
Ready to create? Visit draw.nuxt.dev and share your best drawing!
- Nuxt - The Intuitive Vue Framework
- Nuxt UI - Beautiful UI library with TailwindCSS
- Nuxt Auth Utils - Simplified Authentication
- NuxtHub - Build & deploy to your Cloudflare account with zero configuration
npx nuxthub deploy
- To deploy the app on your Cloudflare account for free
I wrote two articles about how I created Atidraw:
- Code, Draw, Deploy: A drawing app with Nuxt & Cloudflare R2
- Using Cloudflare AI Models for User Experience
- Install dependencies with pnpm
pnpm install
- Set up your environment and fill the env variables
If you don't set the Google and GitHub credentials, anonymous sign-in will be enabled.
cp .env.example .env
- Create & link a NuxtHub project to enable running AI models on your Cloudflare account
npx nuxthub link
- Launch the dev server
pnpm dev
Visit http://localhost:3000
and start drawing!
You can manage the drawings (local or remote) within the Nuxt DevTools in the Hub Blob tab:
Unlock the full potential of Atidraw by enabling the AI image generation feature:
- Open
./app/pages/draw.vue
- Uncomment the
<AIDraw>
component:- <!-- <AIDraw :drawing="drawing" class="mt-4" /> --> + <AIDraw :drawing="drawing" class="mt-4" />
- Open http://localhost:3000/draw to draw something and click on "Draw with AI"
draw-with-ai.mp4
Host your Atidraw instance on a free Cloudflare account and free NuxtHub account.
Deploy it online in the NuxtHub UI:
Or locally with the NuxtHub CLI:
npx nuxthub deploy
This command will deploy your Atidraw instance to your Cloudflare account and provision a Cloudflare R2 bucket. You will also get a free <you-app>.nuxt.dev
domain.
Once deployed, you can manage your users' masterpieces in the NuxtHub Admin.
npx nuxthub manage
What's included in Cloudflare free plan:
- 100,000 requests/day
- 10 GB storage on Cloudflare R2
Read more about the pricing on our detailed pricing page.
You can also deploy using Cloudflare Pages CI or GitHub actions.
Once your project is deployed, you can use NuxtHub Remote Storage to connect to your preview or production Cloudflare R2 bucket in development using the --remote
flag:
pnpm dev --remote
Published under the MIT license.