OpenSource Impact Tracker is being developed into an evidence-first developer impact profile platform.
Developers will be able to connect GitHub, import public GitHub work, add non-GitHub impact items such as articles, talks, meetups, mentoring, documentation, tutorials, podcasts, research, and community work, then publish a clean public profile backed by evidence links.
The product is not a vanity score generator or a generic GitHub statistics dashboard. It should answer: "What impact has this developer made?"
- Next.js 16 App Router
- React 19
- TypeScript
- Tailwind CSS 4
- Vitest, React Testing Library, and jsdom
- ESLint with the Next.js config
Implemented:
- public landing page foundation
- placeholder dashboard route
- placeholder public profile route
- reusable UI cards, badges, and empty states
- GitHub OAuth route scaffolding
- first-login user/profile bootstrap helpers
- authenticated GitHub repository sync foundation
- public GitHub lookup prototype retained in
src/components/impact/
Planned next:
- PostgreSQL and Prisma persistence
- developer profile editing
- manual impact items
- evidence links and verification labels
- polished public profile rendering
Install dependencies:
npm installRun the development server:
npm run devOpen http://localhost:3000.
Useful local routes:
/- product landing page/dashboard- placeholder authenticated dashboard surface/demo-profile- placeholder public developer impact profile
The persistence foundation uses Prisma with PostgreSQL. Copy the example environment file and fill in local values:
cp .env.example .envGenerate the Prisma client after dependency installation or schema changes:
npm run prisma:generateWhen a local PostgreSQL database is available, run migrations and seed demo data:
npm run db:migrate
npm run db:seedThe repository still contains the original public GitHub lookup prototype:
src/components/impact/ImpactDashboard.tsxsrc/app/api/contributions/route.tssrc/lib/github/
This code is useful as a starting point for the authenticated GitHub repository sync flow, but it no longer defines the full product scope.
- Evidence first: major claims should support a URL, source, or proof item.
- Honest verification: distinguish GitHub verified, evidence provided, self-reported, pending, and rejected evidence.
- No fake developer score as the core feature.
- Public profiles should be clean, technical, credible, responsive, and shareable.
The current foundation phase does not require local secrets. Later auth and database phases are expected to add:
DATABASE_URL=
AUTH_SECRET=
AUTH_GITHUB_ID=
AUTH_GITHUB_SECRET=Do not commit real .env files or OAuth secrets.
For local GitHub OAuth, create a GitHub OAuth app with this callback URL:
http://localhost:3000/api/auth/callback/github
npm run dev
npm run lint
npm test
npm run build
npm run prisma:generate
npm run db:migrate
npm run db:seednpm test covers username parsing, the GitHub profile search UI, dashboard
empty states, public profile placeholders, and domain validation.
Included:
- public landing page
- GitHub login or connection
- developer profile creation and editing
- public developer profile page
- GitHub repository import
- manual impact item creation
- evidence links for impact items
- featured impact items
- dashboard home and management pages
- impact timeline
- responsive UI
- clear empty, loading, and error states
- README and verification updates
Deferred:
- public developer directory and search
- follows, reactions, comments, endorsements, and notifications
- private repository import
- background sync jobs and webhooks
- paid APIs or AI-generated impact claims
npm run lintpasses.npm testpasses.npm run buildcompletes with no required environment variables.- The home page is centered on GitHub profile contribution lookup.
- The app accepts a GitHub profile URL and calls the local contribution API.
- Successful lookup results show repositories, pull requests, issues, and totals.
- Failed lookup results show an accessible error.