Skip to content

Banner

Show Everything You Ship ​

Projex is a shadcn-style component library for building developer portfolio pages. Drop in pre-built project cards that auto-fetch data from GitHub, npm, and Product Hunt — no API glue required. Built for Next.js. Zero CSS shipped by default.

Open-source (MIT licensed) and free to use.

See real world examples →

Quick Start ​

bash
npx @manningworks/projex init --github

Enter your GitHub username when prompted. Projex automatically fetches your public repositories and generates a projex.config.ts file pre-populated with all your projects.

Quick Start Checklist ​

  • [ ] Initialize project — Run npx @manningworks/projex init --github to create your config
  • [ ] Install dependencies — Run pnpm install to install Projex package
  • [ ] Add components — Run npx @manningworks/projex add project-card to add components
  • [ ] Add styling — Run npx @manningworks/projex add theme-minimal for a theme, or add custom CSS
  • [ ] Update config — Edit projex.config.ts directly, or use projex edit project <id> to update projects
  • [ ] Import components — Import and use components in your Next.js pages
  • [ ] Build and deploy — Run pnpm build to generate your portfolio

Continue → Getting Started

How Projex works ​

  • Copy-paste components — Run npx @manningworks/projex add project-card to get the source code. You own it.
  • Style with data attributes — Target elements like [data-projex-card] or use pre-built themes.
  • Fetch data at build time — GitHub, npm, Product Hunt data is fetched when your site builds. No runtime API calls, no rate limits at runtime, fresh data on every rebuild.

The API ​

Projex uses compound components for maximum flexibility:

tsx
<ProjectCard>
  <ProjectCard.Header project={project} />
  <ProjectCard.Description project={project} />
  <ProjectCard.Tags project={project} />
  <ProjectCard.Stats project={project} />
  <ProjectCard.Status project={project} />
  <ProjectCard.Links project={project} />
</ProjectCard>

Each part is optional. Use only what you need, compose your own layout.

Who is Projex for? ​

OSS maintainers — Auto-detect all your GitHub repositories with npx @manningworks/projex init --github. Stars, forks, and language data populate automatically.

Freelancers — Showcase client work with manual projects. Full control over descriptions, tags, and links. Mix with GitHub repos for open source contributions.

SaaS founders — Display Product Hunt launches with upvotes and comments. Track multiple products in one place.

Junior developers — Build your first portfolio with npm packages and personal projects. Start small, scale as you grow.

Solo entrepreneurs — Mix GitHub, npm, Product Hunt, and manual projects. One config for everything you ship.

Choose your path → Getting Started

Built with Projex ​

Portfolios using Projex in production:

  • lukemanning.ie — Personal portfolio showcasing open source projects and npm packages

See more real world examples →


About Projex ​

Projex is built and maintained by Luke Manning, a solo developer building tools for developers who ship small products and open source projects.

Active development — Projex is actively maintained. Check GitHub commits for recent activity.

Version history — See the CHANGELOG for detailed release notes and GitHub Releases for all published versions.

Why Projex exists — No existing solution handled the reality of a solo developer's project mix: GitHub repos, npm packages, Product Hunt launches, and client work all in one place. Projex lets you showcase everything without fighting your tools.


Next Steps ​