built in coding with ai
DevStash started as the project in my Coding with AI course. It’s a real deployed app with public source code, and I’ve kept building it since recording the course. The current app is now as much about sharing developer resources as it is about keeping them organized.
Following the lessons? Use the
course-final release.
That preserves the code from the end of the course. The repository’s main
branch contains the newer product and no longer matches every lesson.
Try DevStash | Source code | Course resources
stash it, then share it
I built DevStash because the code and commands I reuse kept ending up in different places. A bookmark here, a note there, a useful prompt buried in an old chat. The app gives those things one searchable home.
Everything starts private. You can keep a personal collection of resources without publishing anything. When something is useful to someone else, sharing it shouldn’t mean pasting a wall of code into a message.
- Short links: share a snippet, command, note, or prompt at its own URL.
- Raw text: append
/rawto a shared item URL for plain text you can fetch withcurl. - Snippet images: download a highlighted image of the full snippet, not just a cropped preview.
- Collections: publish an ordered page, with public and unlisted visibility options.
- Markdown: copy or download a shared collection as one document.
- Save to your stash: copy someone else’s shared item or collection into your own account.
Shared links also have preview cards for chat and social apps. My DevOps collection is a live example of a collection page; it’s shown in the screenshots below.
the private workspace
The signed-in app is built around a single item list. Paste something into the capture box and it suggests an item type; you can change that suggestion before saving. Dense rows are the default, with code cards available when you want to see more of the content.
Collections and tags organize the stash. Favorites keep frequently used items close, and a Shared view separates published material from private notes. Search covers titles and content. Lists have page-size controls instead of loading the whole stash at once.
Monaco handles code editing, and notes have a Markdown editor. AI helpers can suggest tags, explain code, and improve prompts. You can also export your data as Markdown or JSON, with JSON import for bringing an export back.
The hosted app is free for now. New file and image uploads are disabled; existing uploads remain readable and downloadable. Those uploads are separate from the generated snippet images you can still share.
how it’s built
- Next.js and React for the app, deployed on Vercel.
- Prisma and PostgreSQL for accounts, saved items, and collections.
- NextAuth for email/password and GitHub sign-in.
- Tailwind and shadcn/ui for the interface, with Monaco for editing.
- Shiki and next/og for highlighted code images and link previews.
- OpenAI, Resend, and Upstash for AI helpers, account email, and rate limiting.
The course included billing and upload features. That code remains in the repository, but the hosted product currently has Pro billing and new uploads switched off.
current direction
The recent work has been about making capture and sharing feel like one workflow. Public collections are shipped, not a roadmap item anymore. The next useful test is whether I can reach for DevStash during everyday work without stopping to reorganize it first.