IP Address Tracker Dashboard using React & Leaflet

Solution retrospective
I'm most proud of building a fully functional IP Address Tracker that combines real-time geolocation data with an interactive map experience. This project helped me strengthen my understanding of API integration, asynchronous data handling, and state management in React.
One of the most rewarding parts was implementing the map functionality using Leaflet and dynamically updating the location marker based on searched IP addresses or domain names. I also focused on creating a responsive layout that works seamlessly across mobile, tablet, and desktop devices.
If I were to continue improving the project, I would add features such as search history, favorite locations, dark mode support, and more advanced map interactions to enhance the overall user experience.
What challenges did you encounter, and how did you overcome them?The main challenge was working with geolocation data and synchronizing API responses with the map interface. Since the map position needed to update whenever a new IP address or domain was searched, I had to carefully manage component state and re-rendering behavior.
Another challenge was validating user input for both IP addresses and domain names. I implemented validation and error handling to ensure invalid searches were handled gracefully and displayed clear feedback to users.
Building a responsive layout that remained usable on smaller devices also required thoughtful planning and testing across multiple screen sizes.
What specific areas of your project would you like help with?I would appreciate feedback on:
- React component structure and organization
- API integration best practices
- Leaflet map implementation
- Accessibility improvements
- Responsive design techniques
- Performance optimization
Any suggestions on improving code quality, scalability, or user experience would be greatly appreciated.
Please log in to post a comment
Log in with GitHubCommunity feedback
No feedback yet. Be the first to give feedback on JohnDilip’s solution.
Join our Discord community
Join thousands of Frontend Mentor community members taking the challenges, sharing resources, helping each other, and chatting about all things front-end!
Join our Discord