Turn your resume into a professional website in seconds. Powered by Together.ai & Llama 3.3.
- 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
- AI/LLM: Together.ai with Llama 3.3 for content extraction
- Framework: Next.js 14 with App Router
- Authentication: Clerk for user management geekskai666
- 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)
- Sign Up: Create an account with Clerk authentication
- Upload: Upload your LinkedIn PDF or resume (supports PDF format only)
- AI Processing: Llama 3.3 extracts and structures your information
- Customize: Edit and customize your content with real-time preview
- Publish: Get your personalized website URL and share it with the world
- Node.js 18+ and pnpm
- Together.ai account for AI processing
- Upstash Redis database
- Cloudflare R2 bucket for file storage
- Clerk account for authentication
-
Clone the repository
git clone https://github.com/geekskai/aimorpher.git cd aimorpher -
Install dependencies
pnpm install
-
Set up environment variables
cp .env.example .env.local
Fill in your API keys:
# 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
-
Run the development server
pnpm dev
-
Open your browser Navigate to
http://localhost:3000
- 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
- Create an account on the site with Clerk
- Upload a PDF which gets uploaded to R2 and does a safety check with Llama Guard
- Send the PDF as context to Qwen Next to extract out relevant information with structured outputs (JSON mode)
- Get all the information & put it on a dynamic route for the user to be able to view & publish their site
- Fork or clone the repo
- Create an account at Together AI for the LLM
- Create an account at Upstash for the Redis DB
- Create an account at Cloudflare for the R2 bucket
- Create a
.env(use the.example.envfor reference) and replace the API keys - Run
pnpm installandpnpm run devto install dependencies and run locally
# Run all tests
pnpm test:run
# Run tests with UI
pnpm test:ui
# Run tests in watch mode
pnpm test- 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