Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Carmy is a comprehensive meal planning application that helps users track their nutrition goals, manage recipes, and plan meals throughout the week.
- Daily Goals Tracking: Monitor nutritional goals including calories, protein, carbs, and fat
- 7-Day Calendar: Weekly meal planning view anchored to the current week (Sunday start)
- Recipe Management: Create, edit, view, and delete recipes with detailed ingredients
- Nutrition Tracking: Track nutritional information for planned meals
├── backend/
│ ├── index.ts # Main Hono server
│ ├── database/
│ │ ├── migrations.ts # Database schema
│ │ └── queries.ts # Database queries
│ └── routes/
│ ├── goals.ts # Nutrition goals API
│ ├── meals.ts # Meals API
│ └── recipes.ts # Recipes API
├── frontend/
│ ├── index.html # Main HTML template
│ ├── index.tsx # React app entry point
│ ├── components/
│ │ ├── App.tsx # Main app component with navigation
│ │ ├── DailyGoals.tsx # Daily goals section
│ │ ├── WeeklyCalendar.tsx # 7-day calendar
│ │ ├── RecipeManager.tsx # Recipe management container
│ │ ├── RecipeList.tsx # Recipe list view
│ │ ├── RecipeForm.tsx # Recipe creation/editing form
│ │ └── RecipeView.tsx # Recipe detail view
│ └── style.css # Styles
└── shared/
└── types.ts # Shared TypeScript types
Users can create and manage recipes with the following features:
- Recipe Details: Name, serving size, and optional URL link
- Ingredients: Each ingredient has:
- Name (required)
- Quantity (required, supports decimals)
- Unit (required, e.g., "cups", "tablespoons", "grams")
- Description (optional, e.g., "sifted", "chopped")
The app features a tabbed interface:
- Dashboard: Daily nutrition goals and weekly meal calendar
- Recipes: Recipe management (list, create, edit, view, delete)
The application runs on a Hono backend with a React frontend. The main entry point is backend/index.ts.