Transform long-form content into audience-personalized social media content using AI.
- Content Import: Import from Notion, Google Docs, or paste directly
- AI-Powered Analysis: Extract key insights using DeepSeek-V3
- Multi-Platform Generation: Create content for Twitter, LinkedIn, and Email
- Smart Tone Matching: 16+ tones with platform-specific presets
- Token Management: Real-time usage tracking and credits
- Content History: Version control and search functionality
- Export Options: Export content in multiple formats (Markdown, HTML, JSON, TXT)
- Publishing: Basic Dev.to publishing integration
- Real-time Editor: AI markdown editor with live preview
- Dashboard UI: Complete dashboard with sidebar and content workspace
- Advanced Analytics: Detailed performance tracking
- Team Collaboration: Multi-user workspace features
- Medium Publishing: Direct publishing to Medium
- LinkedIn Direct Post: Automated LinkedIn posting
- Twitter Auto-post: Direct Twitter thread publishing
- Advanced AI Models: Support for more AI providers
- Content Scheduling: Plan and schedule posts
- A/B Testing: Test different content variations
- UI: Tailwind CSS + Shadcn UI
- Auth: Clerk OAuth (Google + GitHub)
- State: React Context + Local Storage
- Deployment: Vercel
- Database: PostgreSQL with Prisma ORM
- Auth: Clerk middleware
- AI: DeepSeek-V3 via Together AI
- Deployment: Railway/Render
- ContentAnalystAgent: Summarizes and extracts key information
- PlatformRouterAgent: Decides optimal content distribution
- TwitterAgent: Creates threads and tweets
- LinkedInAgent: Generates posts and carousels
- EmailAgent: Crafts subject lines and newsletter content
- Node.js 18+
- PostgreSQL 14+
- npm/yarn
- Clone the repository:
git clone https://github.com/yourusername/tastesync.git
cd tastesync
- Install dependencies:
npm run install:all
- Set up environment variables:
# For backend (required)
cp .env.example backend/.env
# For frontend (required)
# Copy only VITE_ variables to frontend/.env.local
echo "VITE_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
VITE_API_URL=http://localhost:3001" > frontend/.env.local
-
Configure your environment variables in
backend/.env
:- Required:
DATABASE_URL
,CLERK_SECRET_KEY
,TOGETHER_API_KEY
- Optional:
NOTION_API_KEY
,GOOGLE_DOCS_API_KEY
,DEVTO_API_KEY
- Required:
-
Set up the database:
cd backend
npx prisma generate
npx prisma migrate dev --name init
npm run db:seed
- Start development servers:
# From root directory
npm run dev
This will start:
- Frontend on http://localhost:5173
- Backend on http://localhost:3001
tastesync/
├── frontend/ # React frontend
│ ├── src/
│ │ ├── components/
│ │ ├── pages/
│ │ ├── lib/
│ │ └── agents/
│ └── package.json
├── backend/ # Node.js backend
│ ├── src/
│ │ ├── routes/
│ │ ├── middleware/
│ │ ├── agents/
│ │ └── utils/
│ ├── prisma/
│ └── package.json
└── README.md
VITE_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
VITE_API_URL=http://localhost:3001
DATABASE_URL="postgresql://user:password@localhost:5432/tastesync"
CLERK_SECRET_KEY=your_clerk_secret_key
TOGETHER_API_KEY=your_together_api_key
NOTION_API_KEY=your_notion_api_key
GOOGLE_DOCS_API_KEY=your_google_docs_api_key
cd frontend
npm run build
cd backend
npm run build
POST /api/import
- Import content from external sourcesPOST /api/analyze
- Analyze content with AIPOST /api/generate
- Generate platform-specific contentGET /api/tokens
- Get token usage statisticsPOST /api/save
- Save content draftsPOST /api/publish
- Publish content to platforms
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
To continue developing TasteSync:
- Set up your environment following the setup instructions above
- Configure APIs: Get your Clerk, Together AI, and database credentials
- Start the development servers and test the basic functionality
- Implement the dashboard UI - this is the next major frontend component needed
- Add real-time features like live preview and collaborative editing
- Enhance the AI agents with more sophisticated prompts and error handling
- Add comprehensive testing - unit tests, integration tests, and E2E tests
- Implement advanced features like content scheduling and analytics
- Build the main dashboard UI with sidebar and content workspace
- Create the AI markdown editor with live preview
- Add proper authentication flow with Clerk
- Implement content import from Notion and Google Docs
- Add comprehensive error handling and loading states
- Create user onboarding flow
- Add responsive design for mobile devices
- Add proper TypeScript types for all API responses
- Implement proper error boundaries in React
- Add input validation and sanitization
- Implement proper caching strategies
- Add comprehensive logging and monitoring
- Optimize database queries and add indexing
This project is licensed under the MIT License - see the LICENSE file for details.