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.
Quick Start
npx @manningworks/projex init --githubEnter 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 --githubto create your config - [ ] Install dependencies — Run
pnpm installto install Projex package - [ ] Add components — Run
npx @manningworks/projex add project-cardto add components - [ ] Add styling — Run
npx @manningworks/projex add theme-minimalfor a theme, or add custom CSS - [ ] Update config — Edit
projex.config.tsdirectly, or useprojex edit project <id>to update projects - [ ] Import components — Import and use components in your Next.js pages
- [ ] Build and deploy — Run
pnpm buildto generate your portfolio
How Projex works
- Copy-paste components — Run
npx @manningworks/projex add project-cardto 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:
<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
- Getting Started Tutorial — Build a complete portfolio step-by-step
- Guides — All available guides and tutorials
- Examples — Code examples and complete implementations
- Component Reference — All available components
- Utilities — Filtering, sorting, and more