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
npm install
-
Start development server
npm run dev
-
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.jsonandfollowing.jsonfiles - 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
# Development
npm run dev # Start dev server (port 9002)
npm run build # Build for production
npm run start # Start production server
# Code Quality
npm run lint # Run ESLint
npm run typecheck # Run TypeScript type checking
# Testing
npm test # Run tests
npm run test:watch # Run tests in watch mode
npm run test:coverage # Run tests with coverage- 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
src/
βββ app/ # Next.js app router pages
βββ components/ # React components
β βββ ui/ # shadcn/ui components
β βββ __tests__/ # Component tests
βββ hooks/ # Custom React hooks
βββ lib/ # Utility functions and types
βββ __tests__/ # Test files
dashboard-client.tsx- Main dashboard with tabsimport-dialog.tsx- File import functionalityoverview-tab.tsx- Stats and charts displayanalysis-tab.tsx- Analysis and insightschanges-tab.tsx- Change tracking between snapshotsuse-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:
npm test # All tests
npm run test:coverage # With coverage reportThe app runs client-side and doesn't require environment variables for basic functionality.
- Styling: Modify
tailwind.config.tsand 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.