Nutlope/self.so

TypeScriptself.so

LinkedIn -> personal site generator

personal-sitelinkedinportfoliogeneratorwebsite
스타 성장
스타
3.1k
포크
324
주간 성장
+-3
이슈
9
1k2k3k
2025년 9월2026년 1월2026년 6월2026년 10월
아티팩트npm
README
Self

Self

An open source personal site builder. Powered by Together.ai.

Tech stack

  • Together.ai for the LLM
  • Vercel's AI SDK as the LLM framework
  • Clerk for authentication
  • Next.js app router
  • Braintrust for privacy-safe resume-generation tracing and observability
  • S3 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 S3 and does a safety check with Llama Guard
  3. Send the PDF as context to Kimi K2.6 to extract 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 for the LLM
  3. Create an account at Upstash for the Redis DB
  4. Create an account at AWS for the S3 bucket
  5. Optionally create a Braintrust account for tracing
  6. Create a .env (use the .example.env for reference) and replace the API keys
  7. Run bun install and bun run dev to install dependencies and run locally

Running Tests Locally

# Run all tests
bun run test:run

# Run tests with UI
bun run test:ui

# Run tests in watch mode
bun run test

Future tasks

  • 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