A powerful, modern web application for discovering and analyzing Facebook advertising target audiences with precision and ease.
π Live Demo β’ π Documentation β’ π€ Contributing β’ π Report Bug
- Smart Location Search: Find audiences by city, region, or country with intelligent autocomplete
- Demographic Filtering: Target by age groups, gender, income levels, and interests
- Competition Analysis: Analyze competition levels and CPM rates for optimal targeting
- Radius-Based Targeting: Set custom search radius for precise geographical targeting
- Real-time Metrics: View reach, engagement, and conversion data instantly
- Interactive Charts: Beautiful visualizations powered by Recharts
- Demographic Breakdown: Detailed audience composition analysis
- Performance Tracking: Monitor campaign performance across different segments
- Search History: Save and revisit previous audience searches
- Export Functionality: Download search results and analytics data
- Comparison Tools: Compare multiple audience segments side-by-side
- Filtering & Sorting: Organize searches by date, performance, or custom criteria
- Dark/Light Mode: Seamless theme switching for comfortable usage
- Responsive Design: Optimized for desktop, tablet, and mobile devices
- Intuitive Interface: Clean, professional design with smooth animations
- Accessibility: WCAG compliant with keyboard navigation support
- Node.js (v18.0.0 or higher)
- npm (v8.0.0 or higher) or yarn
-
Clone the repository
git clone https://github.com/rascal-sl/Facebook-Ads-Target-Audience-Finder.git cd Facebook-Ads-Target-Audience-Finder -
Install dependencies
npm install # or yarn install -
Start the development server
npm run dev # or yarn dev -
Open your browser Navigate to
http://localhost:5173to see the application running.
npm run build
# or
yarn buildThe built files will be in the dist directory, ready for deployment.
facebook-ads-target-audience-finder/
βββ public/ # Static assets
βββ src/
β βββ components/ # Reusable UI components
β β βββ layout/ # Layout components (Header, Footer)
β β βββ ui/ # Base UI components (Button, Card, etc.)
β βββ hooks/ # Custom React hooks
β βββ lib/ # Utility functions and helpers
β βββ pages/ # Application pages/routes
β βββ stores/ # Zustand state management
β βββ assets/ # Images, icons, and other assets
βββ .github/ # GitHub workflows and templates
βββ docs/ # Additional documentation
- Frontend Framework: React 18 with TypeScript
- Build Tool: Vite for fast development and optimized builds
- Styling: Tailwind CSS for utility-first styling
- State Management: Zustand for lightweight state management
- Charts: Recharts for beautiful data visualizations
- Forms: React Hook Form with Zod validation
- Routing: React Router for client-side navigation
The application uses mock data for demonstration purposes. To integrate with real Facebook Marketing API:
-
Set up Facebook App
- Create a Facebook Developer account
- Set up a new app with Marketing API access
- Obtain your App ID and App Secret
-
Configure Environment Variables
# Create .env.local file VITE_FACEBOOK_APP_ID=your_app_id VITE_FACEBOOK_APP_SECRET=your_app_secret VITE_API_BASE_URL=https://graph.facebook.com/v18.0 -
Update API Calls Replace mock data calls in
src/stores/searchStore.tswith actual Facebook Marketing API calls.
- Enter keywords or location names in the search bar
- Apply filters for demographics, interests, and competition level
- Click "Find Audiences" to discover potential targets
- View detailed audience metrics including reach and CPM
- Explore demographic breakdowns with interactive charts
- Compare different audience segments
- Save successful searches for future reference
- Access search history from the History page
- Export data for external analysis
- Monitor overall campaign performance
- Track key metrics across all searches
- Identify top-performing audience segments
npm run dev- Start development servernpm run build- Build for productionnpm run preview- Preview production buildnpm run lint- Run ESLintnpm run lint:fix- Fix ESLint errorsnpm run type-check- Run TypeScript type checking
This project uses:
- ESLint for code linting
- Prettier for code formatting
- TypeScript for type safety
- Conventional Commits for commit messages
-
Install recommended VS Code extensions:
- ESLint
- Prettier
- Tailwind CSS IntelliSense
- TypeScript Importer
-
Configure your editor to format on save and show linting errors
We welcome contributions from the community! Please read our Contributing Guidelines before submitting pull requests.
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes and add tests if applicable
- Commit your changes:
git commit -m 'feat: add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
- Follow the existing code style and conventions
- Write meaningful commit messages using Conventional Commits
- Add tests for new features
- Update documentation as needed
- Ensure all tests pass before submitting
This project is licensed under the MIT License - see the LICENSE file for details.
Developed with β€οΈ by Tisankan
We warmly welcome contributions from developers around the world! Whether you're fixing bugs, adding features, improving documentation, or suggesting enhancements, your contributions make this project better for everyone.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- π Bug fixes and improvements
- β¨ New features and enhancements
- π Documentation improvements
- π¨ UI/UX enhancements
- π§ͺ Test coverage improvements
- π Internationalization support
Check out our Contributing Guidelines and Code of Conduct to get started. Don't hesitate to reach out if you have questions!
Join our community of contributors and help make Facebook advertising more accessible to everyone! π
Chief Technology Officer at Yarl Ventures (PVT) Ltd
Full-stack development, reliable cloud, and data-driven marketingβbuilt to ship fast, scale safely, and grow.
- React Team for the amazing framework
- Tailwind CSS for the utility-first CSS framework
- Recharts for beautiful chart components
- Zustand for simple state management
- Vite for the lightning-fast build tool
- Facebook Marketing API for audience insights
If you have any questions or need help with the project:
- π§ Email: hello@tisankan.dev
- π Issues: GitHub Issues
- π¬ Discussions: GitHub Discussions
β Star this repository if you find it helpful!
Made with β€οΈ and β by Tisankan