https://github.com/geekskai/aimorpher
https://github.com/geekskai/aimorpher
Last synced: 12 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/geekskai/aimorpher
- Owner: geekskai
- License: mit
- Created: 2025-06-29T07:52:30.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-06-29T08:58:51.000Z (12 months ago)
- Last Synced: 2025-06-29T09:19:24.284Z (12 months ago)
- Language: TypeScript
- Homepage: https://aimorpher.vercel.app
- Size: 1.59 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Turn your resume into a professional website in seconds. Powered by Together.ai & Llama 3.3.
---
## English
### π Features
- **One-Click Conversion**: Upload your LinkedIn PDF or resume and get a professional website instantly
- **AI-Powered**: Uses Together.ai's Llama 3.3 for intelligent content extraction
- **Real-time Editing**: Edit your resume content with live preview
- **Custom URLs**: Get your personalized URL (e.g., aimorpher.com/yourname)
- **Responsive Design**: Looks great on all devices
- **SEO Optimized**: Built-in SEO with Open Graph support
- **100% Free & Open Source**: No hidden costs, fully open source
### π Tech Stack
- **AI/LLM**: Together.ai with Llama 3.3 for content extraction
- **Framework**: Next.js 14 with App Router
- **Authentication**: Clerk for user management
- **Database**: Upstash Redis for data storage
- **File Storage**: Cloudflare R2 for PDF storage
- **Styling**: Tailwind CSS + shadcn/ui components
- **Deployment**: Vercel for hosting
- **Analytics**: Plausible (optional)
### π― How It Works
1. **Sign Up**: Create an account with Clerk authentication
2. **Upload**: Upload your LinkedIn PDF or resume (supports PDF format only)
3. **AI Processing**: Llama 3.3 extracts and structures your information
4. **Customize**: Edit and customize your content with real-time preview
5. **Publish**: Get your personalized website URL and share it with the world
### π Quick Start
#### Prerequisites
- Node.js 18+ and pnpm
- Together.ai account for AI processing
- Upstash Redis database
- Cloudflare R2 bucket for file storage
- Clerk account for authentication
#### Installation
1. **Clone the repository**
```bash
git clone https://github.com/geekskai/aimorpher.git
cd aimorpher
```
2. **Install dependencies**
```bash
pnpm install
```
3. **Set up environment variables**
```bash
cp .env.example .env.local
```
Fill in your API keys:
```env
# Together.ai
TOGETHER_API_KEY=your_together_api_key
# Upstash Redis
UPSTASH_REDIS_REST_URL=your_redis_url
UPSTASH_REDIS_REST_TOKEN=your_redis_token
# Cloudflare R2
R2_ACCOUNT_ID=your_r2_account_id
R2_ACCESS_KEY_ID=your_r2_access_key
R2_SECRET_ACCESS_KEY=your_r2_secret_key
R2_BUCKET_NAME=your_bucket_name
R2_ENDPOINT=your_r2_endpoint
# Clerk Authentication
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
CLERK_SECRET_KEY=your_clerk_secret_key
```
4. **Run the development server**
```bash
pnpm dev
```
5. **Open your browser**
Navigate to `http://localhost:3000`
### π Project Structure
## Tech stack
- Together.ai for the LLM
- Vercel's AI SDK as the LLM framework
- Clerk for authentication
- Next.js app router
- Helicone for observability
- Cloudflare R2 for object storage (PDFs)
- Upstash redis for my DB
- Vercel for hosting
## How it works
1. Create an account on the site with Clerk
2. Upload a PDF which gets uploaded to R2 and does a safety check with Llama Guard
3. Send the PDF as context to Qwen 2.5 72B to extract out relevant information with structured outputs (JSON mode)
4. Get all the information & put it on a dynamic route for the user to be able to view & publish their site
## Cloning & running
1. Fork or clone the repo
2. Create an account at [Together AI](https://togetherai.link) for the LLM
3. Create an account at [Upstash](https://upstash.com/) for the Redis DB
4. Create an account at [Cloudflare](https://cloudflare.com/) for the R2 bucket
5. Create a `.env` (use the `.example.env` for reference) and replace the API keys
6. Run `pnpm install` and `pnpm run dev` to install dependencies and run locally
## Future tasks
- [ ] Change llama 3.3 to Qwen 2.5 on the app
- [ ] Add Helicone for observability
- [ ] add error logging to make sure to fix any bugs
- [ ] add ability to get to the "preview" page if you have a site already
- [ ] ability to edit links in the site
- [ ] ability to edit any section in the site
- [ ] add themes that you can toggle on (start with ghibli)
- [ ] Delete previously uploaded resume when we upload a new one