GhostDock
Turn any public GitHub repo into a clean, shareable product landing page — in seconds.
- Next.js
- TypeScript
- Tailwind
The idea
Paste a public GitHub repository URL, tweak a few fields, and publish. GhostDock reads the repo's README and metadata and generates a polished public page at /p/<slug> — no configuration, no AI, no manual content entry.
How it works
The core is a deterministic parsing pipeline. There is no AI in the loop, so the output is fast, predictable, and free to run.
- Ingest — the repo URL is validated and GitHub is queried (via Octokit) for metadata, the README, and package.json.
- Parse to an AST — the README markdown is parsed into an mdast tree with unified + remark.
- Extract sections — headings are matched against known aliases (Features, Installation, Usage…) and the content under each is collected back into markdown.
- Derive the tech stack — dependencies, GitHub topics, and the primary language are mapped to display names, prioritized, and de-duplicated.
- Render — the parsed data, with any user overrides, is rendered as a themed public page with on-demand revalidation.
Stack
Next.js 16 (App Router), React 19, and strict TypeScript, with Tailwind v4, Drizzle ORM over Neon Postgres, Clerk for authentication, Octokit for the GitHub API, and unified/remark for markdown parsing. Hosted on Vercel.