# Vocalize
**Write once, publish everywhere — in the right voice.**
Vocalize is a multi-platform content tone converter. Paste any article, idea, or announcement, and it rewrites it in the authentic style of each platform using AI.
## Supported Platforms
| Platform | Style |
|---|---|
| 小红书 (Xiaohongshu) | Lively, emoji-rich, Gen-Z Chinese |
| 公众号 (WeChat Official Account) | Thoughtful, narrative essay-style Chinese |
| LinkedIn | Professional, credibility-building English |
| Medium | Conversational English storytelling |
| X / Twitter | Punchy, under 280 chars, bold takes |
## Features
- **One-click conversion** — select platforms, paste content, hit Generate
- **Tone sliders** — adjust Formality and Boldness before converting
- **Per-platform refinement** — chat with AI to fine-tune each output
- **Private history** — recent conversions saved locally in your browser, never mixed with other users
- **Copy to clipboard** — one click per platform
## Tech Stack
- **Frontend**: React + Vite + Tailwind CSS + shadcn/ui
- **Backend**: Express 5 + TypeScript
- **AI**: OpenAI GPT-4o via Replit AI Integrations
- **Database**: PostgreSQL + Drizzle ORM
- **Monorepo**: pnpm workspaces
## Getting Started
This project runs on [Replit](https://replit.com). Open it there for a zero-setup experience.
If running locally:
```bash
# Install dependencies
pnpm install
# Push database schema
pnpm --filter @workspace/db run push
# Start the API server
pnpm --filter @workspace/api-server run dev
# Start the frontend
pnpm --filter @workspace/tone-converter run dev
```
Requires a `DATABASE_URL` environment variable pointing to a PostgreSQL instance, and an OpenAI API key (or use Replit's built-in AI Integrations).
## Project Structure
```
artifacts/
tone-converter/ # React + Vite frontend
api-server/ # Express API server
lib/
db/ # Drizzle schema + migrations
api-client-react/ # API client hooks
api-spec/ # OpenAPI contract
```
## License
MIT