Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🐑 LowSlow — Lamb Shoulder Slow Cooking Calculator

Cook perfect lamb shoulder, every time.

LowSlow takes the guesswork out of slow-cooking lamb shoulder. Choose your weight, cooking method, bone option, and desired doneness — LowSlow calculates the exact oven temperature, target internal temperature, cooking time, rest time, seasoning quantities, and a complete step-by-step timeline.


Why LowSlow?

Lamb shoulder is a forgiving cut, but getting it perfectly timed — especially when you're planning a meal — requires knowing how weight, method, and doneness interact. LowSlow does the math:

  • 🐑 Weight-based timing — cooking time scales with the size of your shoulder
  • 🔥 Five cooking methods — oven roast, low & slow, braise, pressure cooker, smoker
  • 🦴 Bone-in or boneless — bone conducts heat, changing cook time
  • 🥩 Three doneness levels — medium, well done, or fall-apart/pulled
  • 🧂 Seasoning calculator — rub quantities scaled to your exact weight
  • ⏱️ Full timeline — prep → sear → cook → rest → serve, with clock projections
  • 📖 Save & share — keep a history of your cooks, share plans with friends

Features

Built with Expo SDK 56, React Native 0.85, and TypeScript. Runs on web, iOS, and Android from a single codebase.

📱 Cooking Engine

  • Weight input — kg or lbs, with quick-preset chips (1.5, 2, 2.5, 3 kg)
  • Bone option — bone-in (cooks ~10% faster) or boneless
  • Five methods — oven roast, low & slow oven, braise/Dutch oven, pressure cooker, smoker/BBQ
  • Doneness control — medium (63°C), well done (74°C), fall-apart/pulled (95°C)
  • Starting temperature — fridge-cold or room-temp
  • Oven + target temp display — in both °C and °F
  • Time range — ±15% to account for oven variance and shoulder shape
  • Rest time — calculated by weight and doneness level
  • Step-by-step timeline — prep → sear → cook → rest → serve, each with clock-time projections
  • Seasoning quantities — salt, pepper, garlic powder, rosemary, thyme, olive oil (grams + tsp)

📦 Data & Privacy

  • Fully offline — all data stored locally via AsyncStorage; no accounts
  • No tracking — no analytics, no telemetry, no cloud storage
  • No permissions — doesn't use location, camera, or notifications

Getting Started

cd LowSlowMobile

# Install dependencies
npm install

# Start the Expo dev server
npx expo start

# Run on a specific platform
npx expo start --web
npx expo start --ios
npx expo start --android

Requirements: Node.js 22+, Expo SDK 56.


Project Structure

LowSlowMobile/
├── app/                          # Expo Router (file-based routing)
│   ├── _layout.tsx               # Root layout
│   ├── (tabs)/
│   │   ├── _layout.tsx           # Responsive: sidebar (desktop) or tabs (mobile)
│   │   ├── index.tsx             # Calculator screen
│   │   ├── history.tsx           # Saved cooks history
│   │   └── settings.tsx          # User settings
│   └── cook/[id].tsx             # Cook detail page
├── src/
│   ├── models/types.ts           # TypeScript types + unit conversion helpers
│   ├── theme/index.ts            # Design tokens (colors, spacing, typography)
│   ├── store/                    # AsyncStorage persistence
│   ├── lib/calculations.ts       # Core cooking calculation engine
│   ├── data/                     # Static lookup tables (methods, doneness, etc.)
│   ├── components/               # Reusable UI components
│   └── hooks/                    # useBreakpoint (responsive layout)
└── assets/                       # Fonts and icons

How It Works

┌──────────────┐     ┌─────────────────┐     ┌────────────────────┐
│  Weight (kg) │     │  Method Lookup  │     │  Oven Temperature  │
│  Bone Option │ ──▶ │  Doneness Table │ ──▶ │  Target Internal   │
│  Method      │     │  Bone Factor    │     │  Cooking Time      │
│  Doneness    │     │  Starting Temp  │     │  Rest Time         │
│  Start Temp  │     └─────────────────┘     └────────────────────┘
└──────────────┘                                        │
                                                        ▼
┌──────────────┐     ┌──────────────────────────────────────────┐
│  Seasoning   │     │  Full Cook Plan:                         │
│  Calculator  │     │  • Oven temp + target internal temp      │
│  (g/kg)      │     │  • Time range (±15%)                     │
└──────────────┘     │  • Timeline (prep→sear→cook→rest→serve)  │
                     │  • Seasoning quantities                   │
                     │  • Liquid (braise only)                   │
                     │  • Method-specific tips                   │
                     └──────────────────────────────────────────┘

References

Cooking formulas are derived from:

  • Harold McGee, On Food and Cooking
  • J. Kenji Lopez-Alt, The Food Lab
  • Meathead Goldwyn, AmazingRibs.com
  • USDA food safety guidelines

License

MIT License — see LICENSE.


Privacy

LowSlow takes your privacy seriously:

  • No accounts — no sign-up, no login
  • No tracking — no analytics, no telemetry
  • No cloud storage — your cook history stays on your device
  • No permissions — no location, camera, or notification access

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages