A unified space to capture code, write notes, and harness AI β designed for modern developers who move fast.
Feature | Description |
---|---|
Dashboard | Visualize your snippet & note activity, tag usage, and productivity trends. |
Ask AI | Get help with explaining, debugging, converting, or generating code snippets using OpenAI. |
Smart Notes | Create rich notes with titles, content, and tags(soon!). RIch text editor with full mobile and desktop support. |
Code Snippets | Save and manage code snippets with tags across languages. |
Search & Tags | Filter by title or tags. Understand your code library better. |
GitHub Import | Import public gists directly into your snippet manager. |
Responsive Layouts | Optimized UI for desktop, tablet, and mobile (with dedicated mobile routes). |
Use the Ask AI
panel to:
- Explain complex code
- Debug broken logic
- Optimize code performance
- Translate between languages (e.g., JS β Go)
Here's what's done β and what's cooking π³ for the next big release:
Status | Feature | Description |
---|---|---|
β | Mobile-specific Editor UX | Seamless full-screen note/snippet editing experience on mobile. |
β | GitHub Gist Import | Import your public gists and turn them into editable snippets. |
β | AI Code Explanation & Generation | Ask AI to explain, convert, or generate code within the editor. |
π | Save AI-generated Snippets | Directly save AI-created snippets into your personal library. |
π | Multi-language UI | Switch between π¬π§ English and π―π΅ Japanese effortlessly. |
π | Export as OpenGraph Image | Create and share beautifully styled previews of your notes/snippets. |
π | Folder/Workspace System | Organize notes and snippets into folders or project workspaces. |
π | Public Sharing via Link | Share individual snippets or notes with a public URL β no login required. |
π§ͺ | Realtime Collaboration | Work together on notes and snippets β live and in sync. (WIP) |
- Framework: Next.js App Router
- State Management: Zustand(for snippets only)
- Styling: TailwindCSS
- Database: PostgreSQL (hosted via Prisma Data Platform)
- Auth: Clerk
- AI: OpenAI API
- Code Editor: CodeMirror
- Analytics & Stats: Recharts
nesto/
βββ app/ # Next.js App Router
β βββ (app)
β βββ ask-ai/ # ask-ai page
β βββ changelog/ # changelog page
β βββ contact/ # contact page
β βββ dashboard/ # dashboard page
β βββ import/ # import page
β βββ notes/ # notes page
β βββ privacy-policy/ # privacy policy page
β βββ report/ # report page
β βββ snippets/ # snippet page
β βββ terms/ # terms page
β βββ layout.tsx # (app) layout
β βββ (auth) # auth
β βββ sign-in/ # sign-in page
β βββ sign-up/ # sign-up page
β βββ layout.tsx # (auth) layout
β βββ api/ # api routes
β βββ layout.tsx # Root layout
β βββ page.tsx # Home page
β βββ components/ # reusable ui components
β βββ hooks/ # custom hooks
β βββ lib/ # server actions, constants, initializers
βββ .gitignore
βββ .prettierrc
βββ styles/
βββ types/
βββ components.json
βββ middleware.ts
βββ next-end.d.ts
βββ next.config.ts
βββ package-lock.json
βββ package.json
βββ postcss.config.mjs
βββ README.md
βββ tsconfig.json
This project was inspired by:
- π§ The need for a faster, simpler snippet + note manager
- πͺ GitHub Gistβs limitations
- β¨ The growing power of AI in dev workflows
Contributions are welcome!
Feel free to open issues, suggest features, or submit pull requests.
-
Clone the repository
git clone https://github.com/deepsoumya617/nesto.git cd nesto
-
Install dependencies
npm install
-
Set up environment variables
# Create environment file in root directory cp .env.example .env # Note: Set your Clerk, Database, and OpenAI credentials inside the .env file. You can find the required fields in .env.example.
-
Set up the database
# Generate Prisma client npx prisma generate # Run database migrations npx prisma migrate dev
-
See database tables
# Open Prisma Studio(optional)
npx prisma studio
- Start development server
npm run dev
πNote ~ You have to setup ngrok
to perform sign-up using clerk on localhost.
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your-clerk-publishable-key
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
DATABASE_URL=your-database-url
CLERK_SECRET_KEY=your-clerk-secret-key
CLERK_WEBHOOK_SIGNING_SECRET=your-clerk-webhook-signing-secret
OPENAI_API_KEY=your-openai-api-key
ADMIN_EMAIL=dont-modify-it
RESEND_API_KEY=your-resend-api-key