https://github.com/dcs-soni/stashit-cloud
Save, search, and share your content intelligently with AI-powered semantic search and shareable links.
https://github.com/dcs-soni/stashit-cloud
chromadb fastify openai
Last synced: 3 months ago
JSON representation
Save, search, and share your content intelligently with AI-powered semantic search and shareable links.
- Host: GitHub
- URL: https://github.com/dcs-soni/stashit-cloud
- Owner: dcs-soni
- Created: 2026-01-27T11:24:33.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-03-27T04:16:47.000Z (3 months ago)
- Last Synced: 2026-03-27T05:33:28.926Z (3 months ago)
- Topics: chromadb, fastify, openai
- Language: TypeScript
- Homepage:
- Size: 367 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# StashIt Cloud
Save, search, and share your content intelligently — with AI-powered semantic search and shareable links.
## Why This Exists
This is the cloud-native evolution of [stash-it](https://github.com/dcs-soni/stash-it), which used a self-hosted ChromaDB instance running in Docker on EC2. While that worked, it meant managing infrastructure for the vector database yourself.
**StashIt Cloud** replaces that with [Chroma Cloud](https://trychroma.com) — a managed vector database — so there's nothing to self-host. The UI has also been redesigned from scratch with a modern, polished interface.
| | stash-it | stashit-cloud |
| ---------- | ----------------------------- | ------------------------------------ |
| Vector DB | ChromaDB (self-hosted Docker) | Chroma Cloud (managed) |
| Backend | Express | Fastify |
| Frontend | Basic React UI | Redesigned React UI |
| Deployment | EC2 + Nginx + PM2 | AWS Lambda + CloudFront (serverless) |
## Tech Stack
**Backend** — Fastify, TypeScript, MongoDB, Chroma Cloud, JWT auth
**Frontend** — React 18, Vite, TypeScript, TailwindCSS
**Infrastructure** — Terraform, AWS Lambda, API Gateway, S3, CloudFront
## Getting Started
**Prerequisites:** Node.js 18+, pnpm, MongoDB instance, [Chroma Cloud](https://trychroma.com) account
```bash
pnpm install
# API environment (local development)
cp api/.env.example api/.env
# Fill in your credentials in api/.env
# Docker Compose environment (only if using Docker)
cp .env.example .env
```
### Environment Variables
The API loads `api/.env` via `dotenv` at runtime:
```env
DATABASE_URL=your-mongodb-connection-string
JWT_SECRET=your-jwt-secret
CHROMA_TENANT=your-chroma-tenant
CHROMA_DATABASE=your-chroma-database
CHROMA_API_KEY=your-chroma-api-key
OPENAI_API_KEY=your-openai-api-key
```
The root `.env` is only used by Docker Compose for MongoDB and Mongo Express credentials.
### Development
```bash
pnpm dev # Run both frontend and backend
pnpm dev:api # Backend only → http://localhost:3000
pnpm dev:web # Frontend only → http://localhost:5173
```
## API Endpoints
| Method | Endpoint | Description |
| ------ | --------------------- | ------------------ |
| POST | `/api/v1/signup` | User registration |
| POST | `/api/v1/signin` | User login |
| GET | `/api/v1/content` | Get user content |
| POST | `/api/v1/content` | Add content |
| DELETE | `/api/v1/delete/:id` | Delete content |
| POST | `/api/v1/stash` | Toggle share link |
| GET | `/api/v1/stash/:hash` | Get shared content |
| POST | `/api/v1/search` | Semantic search |