Back to selected work
PERSONAL PROJECT / CASE STUDY 02 / 03

Cross-platform applications

Meal Planner

One product across mobile, desktop, API, and data.

Meal Planner demonstrates application engineering beyond the browser: a cross-platform MAUI client backed by an authenticated ASP.NET Core API, a relational domain model, and focused AI-assisted planning features.

SYSTEM ARCHITECTURE

A cross-platform client backed by application services

The MAUI application owns the device experience. Business rules, persistence, authentication, and AI integration remain behind a backend API instead of accumulating in the client.

ENGINEERING STORY

01 / CLIENT + SERVER

Cross-platform does not mean client-only

The .NET MAUI Blazor Hybrid application communicates with an ASP.NET Core API. This keeps the client focused on interaction and device delivery while the backend owns application behavior and data access.

02 / DOMAIN

Food planning is a connected data model

Recipes, ingredients, nutrition, users, families, subscriptions, preferences, and allergens form a relational domain. Family invitations and shared planning sit on top of that model.

03 / RESPONSIBLE AI

AI is a capability, not the product definition

LLM services assist with recipe and meal generation. Generated structured content enters the same application-service boundary as other data so it can be validated, persisted, and used by the broader planning workflow.

04 / SECURITY

Authentication crosses the client/API boundary

JWT-based authentication protects the client/server interaction and gives the backend an explicit identity context for user and family operations.

TECHNICAL FOUNDATION

Layers of the system

Client

.NET MAUIBlazor HybridC#

Backend

ASP.NET CoreREST APIsJWT authentication

Data + AI

Entity Framework CoreMySQLLLM APIs

Implemented capabilities

  • Meal planning and recipe management for individual and family use
  • Shared family environment with invitation flows
  • Dietary preferences, allergen, ingredient, and nutrition data
  • AI-assisted generation integrated through backend services
An unhandled error has occurred. Reload 🗙

Rejoining the server...

Rejoin failed. Trying again in seconds.

Failed to rejoin. Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session. Please retry or reload the page.