Pack-Man is a modern, open-source dependency analyzer that helps developers keep their packages up-to-date across multiple ecosystems. It supports package.json (npm), requirements.txt (pip), and pubspec.yaml (Flutter/Dart), integrating directly with official registries in a clean, intuitive interface.
What inspired us: Managing dependencies across different projects and ecosystems is tedious. Developers constantly switch between npm, pip, and pub to check for updates. We wanted a single tool that provides instant visibility into dependency health without manual registry checking.
How we built it: The project uses Next.js 16 with App Router, TypeScript, React 19, and Tailwind CSS 4 for the web application. We integrated with npm Registry, PyPI, and pub.dev APIs to fetch real-time package information. The Chrome extension uses Manifest V3 with service workers for background processing and content scripts for GitHub integration.
Challenges we faced:
- Standardizing data from different registries with varying API formats and version schemes
- Implementing accurate version comparison across semver (npm), PEP 440 (pip), and pub versioning
- Creating an interface that works for both beginners and experienced developers
- Building a robust caching strategy to handle API rate limits while keeping data fresh
- Ensuring the Chrome extension works seamlessly with GitHub's dynamic page updates
What we learned: We gained deep understanding of each package manager's peculiarities, improved our knowledge of developer UX patterns, and recognized the importance of community feedback in shaping features. It was the first time we built Chrome and VS Code Extension and also docs with Fumadocs.
Built With
- fumadocs
- next.js
Log in or sign up for Devpost to join the conversation.