LF
back to home

Project · Mobile app

Nutriskale app icon

Nutriskale

Rate your meals, discover what your friends are eating, and keep track of everything you try.

React Native · ExpoNext.js · Supabase
Not on the app stores yet
Nutriskale login screen
Nutriskale news feed
Rating a dish on the curve, from 0 to 1000

The rating

A score out of 1000, rather than five stars

Each dish is rated on a curve from 0 to 1000, with the average set at 400. The slider follows a curve rather than a linear scale, leaving more room for nuance around the average. A range-based mode ("Ranged") is also available, and every rating can be public, friends-only or private.

  • 0 – 150Very bad
  • 150 – 300Below average
  • 300 – 500Average
  • 500 – 700Good
  • 700 – 1000Excellent

Beyond the rating

Part food journal, part social network

Social feed

A feed combining your friends' ratings and posts, with each rating displayed directly on its card.

Playlists

Group rated dishes into collections to remember great places or recipes worth making again.

Chats

Private and group chats with friends, including polls to decide where to eat.

Creating a rating, choosing its category and visibility
User profile with statistics and posts

Tech stack

An Expo app, a Next.js backend

The mobile app never talks directly to Supabase for sensitive operations. It goes through a Next.js API that centralizes authentication, business logic (averages, friendships and the news feed) and photo processing before storage.

Frontend

  • Expo · React Native 0.86iOS / Android mobile app
  • Expo RouterFile-based navigation
  • TanStack QueryCaching & server synchronization
  • Supabase JSAuth, data, storage
  • React Native Reanimated 4Animations
  • expo-image · expo-notificationsMedia & notifications

Backend

  • Next.js 16App Router, API routes
  • SupabaseAuth · Postgres · Storage
  • @supabase/ssrServer-side sessions
  • sharpUploaded photo processing
✦

The app is not yet published on the App Store or Play Store: releasing it requires paid developer accounts with Apple and Google, which I haven't signed up for yet. In the meantime, it runs through Expo development builds, with friends and family as its first testers.