Back to Projects

EATS 2024 - Next.js Food Discovery Platform

A modern food discovery web application built with Next.js, leveraging Supabase, PostgreSQL, and the Yelp API to provide personalized dining recommendations and detailed restaurant information.

EATS 2024 - Next.js Food Discovery Platform

Project Overview

I developed EATS 2024 as a modern web application designed to enhance the restaurant discovery experience. Built with Next.js and integrated with powerful backend technologies, this project demonstrates my proficiency in full-stack development, API integration, and creating user-centric applications.

Key Features

  • Personalized Restaurant Recommendations: Utilizes user preferences and behavior to suggest tailored dining options.
  • Detailed Restaurant Information: Provides comprehensive details about restaurants, including menu items.
  • User Favorites: Allows users to save and easily access their preferred restaurants.
  • User Profiles: Customizable user profiles to enhance the personalized experience.
  • Secure Authentication: Implements Clerk OAuth for robust and user-friendly authentication.

Technologies Used

  • Frontend: Next.js
  • Backend: Supabase with PostgreSQL
  • API Integration: Yelp API
  • Authentication: Clerk OAuth
  • Styling: Tailwind CSS

Development Process

  1. Planning: Conducted market research and defined the core features of the application.
  2. Architecture Design: Designed a scalable architecture leveraging Next.js for server-side rendering and API routes.
  3. Database Schema: Developed a flexible database schema using Supabase and PostgreSQL.
  4. API Integration: Implemented Yelp API integration for comprehensive restaurant data.
  5. User Authentication: Integrated Clerk OAuth for secure and seamless user authentication.
  6. Frontend Development: Built a responsive and intuitive user interface using Next.js and Tailwind CSS.
  7. Testing and Optimization: Conducted thorough testing and performance optimization.

Key Challenges & Solutions

Yelp API Rate Limiting & Cost Management

Challenge: The Yelp API has strict rate limits and costs that could quickly escalate with user growth. Solution: Implemented intelligent caching with Supabase to store frequently requested restaurant data, reducing API calls by 80%. Created a background job system to pre-fetch popular restaurants during off-peak hours.

Creating Meaningful Personalization Without Complex ML

Challenge: Users expected Netflix-level personalization, but I needed a solution that worked without massive datasets or complex machine learning. Solution: Built a simple but effective preference engine using user interactions (saves, searches, clicks) combined with restaurant attributes. The algorithm weighs recent activity more heavily and considers time-of-day patterns.

Mobile Performance with Rich Restaurant Data

Challenge: Restaurant pages needed to load quickly on mobile while displaying high-quality images, reviews, and detailed information. Solution: Leveraged Next.js Image Optimization with custom blur placeholders, implemented progressive loading for restaurant details, and used Intersection Observer for lazy-loading non-critical content. Achieved 96/100 Lighthouse performance score.

Balancing Feature Richness with Simplicity

Challenge: Users wanted comprehensive restaurant information but also complained about information overload in existing apps. Solution: Designed a progressive disclosure interface where basic info loads first, with detailed information available on-demand. Used clear visual hierarchy and micro-interactions to guide users through the discovery process without overwhelming them.

Future Plans

  1. Community Features: Implementing a section for users to share reviews and recommendations.
  2. Advanced Filtering: Developing more sophisticated filtering options based on dietary preferences and cuisines.
  3. Flavor Profile Algorithm: Creating a unique algorithm to provide highly personalized restaurant suggestions.
  4. Mobile Application: Expanding the platform to include a native mobile app for iOS and Android.

Conclusion

EATS 2024 represents a significant step in modernizing the food discovery process. It showcases my ability to work with cutting-edge technologies and create practical, user-focused applications. As an ongoing project, it continues to evolve, incorporating new features and optimizations. This experience has deepened my expertise in Next.js, API integrations, and database management, while also honing my skills in creating scalable, performance-oriented web applications.

I'm excited about the future developments of EATS 2024 and its potential to transform how people discover and engage with dining options in their area.