A privacy-focused Instagram analytics tool built with Next.js that helps you track your followers and following over time. All data processing happens locally in your browser - no data is ever sent to external servers.
- 🔒 Privacy First: All data processing happens locally in your browser
- 📈 Trend Analysis: Track follower/following growth over time with interactive charts
- 🔍 Smart Analysis: Insights to identify non-reciprocal relationships
- 📊 Visual Dashboard: Clean, responsive interface with real-time stats
- 💾 Data Management: Backup and restore your data anytime
- 📱 Mobile Friendly: Fully responsive design for all devices
Try the live version at https://instatrack.njoylab.com
- Node.js 18+
- npm or yarn
-
Clone the repository
git clone <repository-url> cd instatrack -
Install dependencies
-
Start development server
-
Open your browser Navigate to http://localhost:9002
- Go to Instagram's data download page
- Select "Request a download"
- Choose "Select types of information"
- Select "Followers and following"
- Set format to JSON and date range to "All time"
- Download and extract the files
- Click "New Snapshot" in the app
- Upload your followers_1.json and following.json files
- Your snapshot will be created and stored locally
- Overview: See your current stats and growth trends
- Analysis: Discover who doesn't follow you back and vice versa
- Changes: Track what changed between snapshots
- Framework: Next.js 15 with App Router
- Language: TypeScript
- Styling: Tailwind CSS + shadcn/ui components
- Charts: Recharts
- Icons: Lucide React
- Testing: Jest + React Testing Library
- dashboard-client.tsx - Main dashboard with tabs
- import-dialog.tsx - File import functionality
- overview-tab.tsx - Stats and charts display
- analysis-tab.tsx - Analysis and insights
- changes-tab.tsx - Change tracking between snapshots
- use-snapshots.ts - Data management hook
The project includes comprehensive tests for:
- Utility functions - Core logic and helpers
- Custom hooks - Data management and mobile detection
- Components - UI components and user interactions
- Types - TypeScript type definitions
Run tests with:
The app runs client-side and doesn't require environment variables for basic functionality.
- Styling: Modify tailwind.config.ts and component styles
- Data Structure: Extend types in src/lib/types.ts
- Local Processing: All data stays in your browser's localStorage
- No External Servers: No data is transmitted to external services
- Export/Import: Full control over your data with backup/restore
- Open Source: Transparent codebase you can audit
- Fork the repository
- Create a feature branch (git checkout -b feature/amazing-feature)
- Commit your changes (git commit -m 'Add amazing feature')
- Push to the branch (git push origin feature/amazing-feature)
- Open a Pull Request
- Follow the existing code style (ESLint + Prettier)
- Write tests for new features
- Update documentation as needed
- Ensure TypeScript compliance
This project is licensed under the MIT License - see the LICENSE file for details.
If you encounter any issues or have questions:
- Check the FAQ page in the app
- Search existing GitHub issues
- Create a new issue with detailed information
- Next.js - React framework
- shadcn/ui - UI components
- Tailwind CSS - Styling
- Recharts - Data visualization
Made with ❤️ for Instagram users who want to understand their social connections better.
.png)

