# How to Vibe Code Your Own Saner.AI (and Stop Paying for It)

> AI Personal Assistant for ADHD | Your Jarvis is here

- Site: https://saner.ai
- Category: Productivity & Knowledge Management
- Verdict: **Solid side project** (62/100 vibecodeable)
- Estimated effort: 2-4 weeks part-time

## Verdict

You can build a functional personal single-user version of this second brain, but the multi-source OAuth integrations and vector search pipeline will consume weeks of debugging.

Replicating the core UI, vector note search, and chat interface in Next.js is straightforward with AI coding assistance. However, maintaining reliable background OAuth sync connectors with Gmail, Google Calendar, and Slack without hitting rate limits or token refresh failures is tedious engineering work. The AI agent loops parsing unstructured emails into tasks will require iterative prompt engineering and robust error handling.

### What you can't replicate

- Pre-built integrations ecosystem for thousands of users
- Proprietary backend tuning and token cost optimizations

## What it does

An AI-powered personal knowledge assistant and productivity platform aggregating scattered data from notes, web clips, emails, and calendar invites into a unified second brain.

### Core features

- Unified workspace capture (notes, web clips, voice memos)
- Skai conversational knowledge assistant
- Universal task assistant with auto-extraction
- Vector search and private note indexing
- Multi-AI integration (OpenAI, Anthropic, Gemini)
- Chrome extension capture tool
- Cross-platform desktop and web interface

## The business

### Pricing

- Free Plan: Free
- Starter Plan: $8/mo
- Standard Plan: $16/mo

### Funding

$120K raised.
- Pre-seed ($120K, August 2024)
Investors: Techstars, Google Accelerator

Founded 2023.
Team size: 7 to 8.

## The hard parts

- Multi-source OAuth sync pipelines with Gmail, Google Calendar, and Slack
- Robust vector search and chunking pipeline over private notes without context drift
- Asynchronous background task extraction parsing unstructured streams reliably
- Handling real-time web socket state and cross-device sync consistency

## How to vibe code Saner.AI

### Prerequisites

- Node.js (free): Required runtime for building the Next.js full-stack application and CLI tools.
- GitHub (free): Repository hosting and continuous deployment pipeline integration.
- Anthropic API Key (pay-as-you-go): Powers the conversational assistant and reasoning layers.

### Recommended AI tools

- Claude Code: Best-in-class terminal agent for scaffolding complex multi-file full-stack apps and debugging database schemas.
- Cursor: Ideal for iterative frontend component development, dashboard layouts, and reviewing code diffs.

### Stack

- Frontend: Next.js with Tailwind CSS and shadcn/ui
- Backend: Next.js Server Actions and API Routes
- Database: Neon (Serverless Postgres with pgvector for embeddings)
- Auth: better-auth
- Payments: none
- Other: Vercel AI SDK, OpenAI API (Whisper STT), Anthropic API

### Hosting

- Vercel (Hosting the Next.js frontend and serverless API endpoints with zero configuration.): $0-20/mo
- Neon (Serverless Postgres database with built-in pgvector extension for indexing private notes.): $0/mo

### Build guide

1. **Project Scaffolding & Database Schema Setup** — Initialize the Next.js project with Tailwind CSS, shadcn/ui, and configure Neon Postgres with pgvector extensions for storing notes, chunks, and embeddings.

```
Create a new Next.js 16 project using TypeScript, App Router, and Tailwind CSS v4. Initialize shadcn/ui components including buttons, input fields, cards, dialogs, and dropdowns. Set up a Drizzle ORM configuration connected to a Neon Postgres database using the @neondatabase/serverless driver. Define database schemas for users, notes (id, user_id, title, content, created_at, updated_at), task items (id, user_id, note_id, title, status, due_date), and vector embeddings (id, note_id, embedding vector(1536)). Ensure schema migrations run smoothly and include proper index definitions for vector similarity searches using pgvector.
```

2. **Authentication & User Management** — Implement local and OAuth authentication using better-auth to secure the private knowledge workspace.

```
Configure better-auth within the Next.js project to handle secure user registration, email/password login, and Google OAuth sign-in. Create the necessary database tables via better-auth schema extensions inside Neon Postgres. Build protected layout routes (`/dashboard`), middleware guards to redirect unauthenticated requests, and a user profile dropdown component in the header that displays user details and sign-out functionality. Test the auth callback flows to guarantee seamless session management.
```

3. **Note Capture & Management CRUD Interface** — Build the core workspace interface for capturing, organizing, editing, and listing notes and web clippings.

```
Build a responsive split-pane dashboard layout in Next.js App Router featuring a sidebar navigation tree, a filterable list of notes, and a rich markdown text editor canvas in the center pane. Implement Server Actions and API endpoints for full CRUD operations on notes. Add instant auto-save functionality with debouncing, smart tagging input fields, and tag filtering filters on the sidebar list view. Ensure responsive handling for mobile screens using drawer menus.
```

4. **Vector Search & RAG Knowledge Pipeline** — Implement the chunking, embedding generation, and vector retrieval system allowing the assistant to query private notes.

```
Implement a background note-processing pipeline using the Vercel AI SDK and OpenAI embedding models (`text-embedding-3-small`). When a note is created or updated, chunk its content into 500-character segments, generate vector embeddings, and store them in the database vector table. Build a semantic search API endpoint that computes cosine similarity against user notes via pgvector, and expose a search command palette (`Cmd+K`) component in the frontend to search notes semantically with instant keyboard shortcuts.
```

5. **Conversational AI Assistant (Skai)** — Integrate the AI chat workspace supporting context injection from retrieved user notes and model switching.

```
Build a conversational AI chat interface drawer/panel using the Vercel AI SDK `useChat` hook. Implement a backend API route that accepts user queries, executes a semantic vector search over the user's private notes, injects the top matching snippets as context system prompts, and streams responses from Anthropic Claude or OpenAI models. Include a model selector dropdown allowing users to toggle between available frontier models. Ensure markdown rendering and code blocks inside chat messages look polished.
```

6. **Universal Task Extraction & Dashboard Polish** — Add task extraction capabilities that parse notes into actionable checklist items and build daily review reminders.

```
Build a task management workspace view that lists extracted action items across all notes. Implement an AI task extraction utility function that runs against note content using structured JSON outputs to pull out actionable to-dos, deadlines, and priorities. Add interactive checkboxes to mark tasks complete, inline date pickers for deadlines, and a daily planning summary card widget on the main dashboard home page. Perform end-to-end polish, error boundary handling, and responsive CSS fixes across all views.
```

### Cost vs paying

**Starting costs (one-time):**

- Custom domain name: $12/yr
- OpenAI/Anthropic API starter credits: $10
- Total: ~$22 one-time

**Ongoing costs (monthly):**

- Vercel Hobby Hosting: $0/mo
- Neon Serverless Postgres: $0/mo
- AI API token usage (Embeddings & Chat): ~$5/mo
- Total: ~$5/mo

- Paying for the SaaS instead: $16/mo
- Build time: 25-35 hours
- AI tool credits: $20/mo
- Break-even: 2 months

## Sources

- [Saner.AI Official Website](https://saner.ai)
- [PitchBook Profile - Saner.AI](https://pitchbook.com)
- [GetLatka - Saner.AI Revenue and Metrics](https://getlatka.com)