A Recipe & Social Network App for Food Lovers

A mobile app that provides recipes based on available ingredients, and its provide a social network for food lovers to share their recipes and cooking experiences and get feedbacks.

A Recipe & Social Network App for Food Lovers

Project Overview

RoleAndroid & Backend Developer
Duration
Jul 24’Present
Team SizeSolo Developer
PlatformsAndroid, Backend

Developed a comprehensive mobile application that combines recipe discovery with social networking features. The app allows users to find recipes based on the ingredients they have, share their own recipes, and connect with other food enthusiasts. Built with Kotlin Compose for the frontend and Ktor for the backend, the app emphasizes clean architecture, modular design, and accessibility.

Technical Overview

A practical overview of the stack and some of the technical decisions that helped keep the product maintainable and fast.

  • Android Stack: Kotlin, Jetpack Compose, MVVM, Clean Architecture, Koin for dependency injection, multi-module setup (core, domain, data, feature modules), Jetpack libraries, custom and accessible UI components.
  • Backend Stack: Ktor framework, PostgreSQL, modular backend structure, RESTful APIs, authentication-ready architecture, localization support, and scalable service layering.

The Challenge

Creating an app that seamlessly integrates recipe discovery with social networking while ensuring a user-friendly experience across multiple languages and accessibility needs.

  • Recipe discovery: Efficiently match user-provided ingredients with a vast recipe database.
  • Social features: Implement user profiles, recipe sharing, comments, and likes in a scalable way.
  • Multi-language support: Design the backend to handle various locales without performance degradation.
  • Accessibility: Ensure the app is usable by individuals with diverse needs and preferences.

Conclusion & Reflection

This project highlighted the importance of balancing feature richness with usability. By focusing on clean architecture and modular design, I was able to create an app that not only meets user needs but is also maintainable and scalable for future growth.

Key Takeaways

  • Modular design: Breaking down the app into modules made it easier to manage and scale.
  • User-centric features: Prioritizing user needs led to a more engaging and useful application.
  • Accessibility matters: Designing with accessibility in mind broadened the app's reach and usability.

Share this case study