I built SnippetVault: a lightweight, frontend-only code snippet manager with Next.js, TypeScript, Monaco Editor and a small shadcn-style UI. It lets you create, edit (inline or via a form), tag and favorite snippets, search/filter them, and persist everything to browser localStorage with optional JSON import/export for backups.
Under the hood a single SnippetsContext (wrapping a useSnippets hook) became the app’s source of truth so list, editor and form stay in sync; Monaco provides full syntax highlighting both in the viewer and as the code input in the form; sonner toasts and keyboard shortcuts polish the UX. CRUD operations update context and immediately persist to localStorage, so changes are instant and durable.
What I learned: start with a focused hook, then promote it to context when multiple components need the same state; integrating Monaco for both viewing and editing drastically improves the developer experience; TypeScript and small, well-typed utilities (localStorage helpers, filter logic) prevent many bugs; and small UX details (toasts, shortcuts, inline editing) make the app feel professional.