whatisgithub

What is self.so?

nutlope/self.so — explained in plain English

Analysis updated 2026-05-18

2,980TypeScriptAudience · vibe coderComplexity · 3/5Setup · moderate

In one sentence

An open source app that turns an uploaded resume or LinkedIn PDF into a personal website using AI extraction.

Mindmap

mindmap
  root((Self))
    What it does
      PDF to website
      LinkedIn profile input
      AI data extraction
    Tech stack
      Next.js
      Together.ai
      Clerk auth
      Upstash Redis
    Use cases
      Personal site builder
      Resume to portfolio
    Status
      Open tasks listed
      Actively evolving

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Generate a personal website automatically from an uploaded resume or LinkedIn PDF export.

USE CASE 2

Self host a personal site builder instead of relying on a paid, closed source service.

USE CASE 3

Study a working example of PDF upload, AI extraction, and dynamic page generation with Next.js.

What is it built with?

TypeScriptNext.jsClerkUpstash RedisS3

How does it compare?

nutlope/self.sopmndrs/use-cannonvercel-labs/wterm
Stars2,9802,9482,937
LanguageTypeScriptTypeScriptTypeScript
Setup difficultymoderatemoderatemoderate
Complexity3/53/53/5
Audiencevibe coderdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 1h+

Requires creating accounts and API keys for Together AI, Upstash, and AWS before it will run.

The README does not state a license.

So what is it?

Self is an open source tool that turns a LinkedIn profile into a personal website. Instead of building a site by hand, a user uploads a PDF, typically a resume or exported LinkedIn profile, and the app extracts the relevant information and publishes it as a personal site the user can view and share. The flow works like this: a visitor creates an account using Clerk for authentication, then uploads a PDF, which is stored in Amazon S3 and first passed through a safety check using Llama Guard. The PDF is then sent as context to a language model, Qwen3 Coder Next, which extracts structured information from it using JSON mode. That extracted information is placed on a dynamic route so the user can view their generated site and publish it. The project is built with Together.ai for the underlying language model calls, using Vercel's AI SDK as the framework layer, with a Next.js app router frontend. Upstash Redis serves as the database, Helicone provides observability into the AI calls, and the whole thing is deployed on Vercel. To run it locally, a developer needs to create accounts with Together AI, Upstash, and AWS, set the resulting API keys in a local environment file, then install dependencies and start the development server with pnpm. The README also lists a set of open tasks the maintainer has not yet completed, including better error logging, a preview page for users who already have a site, the ability to edit links and sections after generation, selectable themes, and a way to delete a previously uploaded resume when a new one is uploaded. This suggests the project is still actively evolving rather than a finished, polished product. Tests can be run locally with pnpm test commands in a few different modes, including a watch mode and a UI mode.

Copy-paste prompts

Prompt 1
Help me set up self.so locally with Together AI, Upstash, and AWS S3 accounts.
Prompt 2
Walk me through how a PDF upload becomes structured site content in this codebase.
Prompt 3
Explain the role of Llama Guard and Qwen3 Coder Next in the self.so upload flow.
Prompt 4
Show me how to run the test suite for self.so with pnpm.

Frequently asked questions

What is self.so?

An open source app that turns an uploaded resume or LinkedIn PDF into a personal website using AI extraction.

What language is self.so written in?

Mainly TypeScript. The stack also includes TypeScript, Next.js, Clerk.

What license does self.so use?

The README does not state a license.

How hard is self.so to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is self.so for?

Mainly vibe coder.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.