iOS NATIVE APPS

#SwiftUI

My Little Cook Diary

My Little Cook Diary is an app designed to help users document their everyday cooking experiences.

Users can jot down quick notes, upload photos, rate their dishes and add comments to keep track of their culinary journey.

Turn your daily cooking into a journey of creativity, learning, and delicious memories.

Key Features

📝 Recipe Logging

Users can record recipes with notes, ratings, and photos.

⚙️ Dynamic Filtering

Recipes are grouped and filtered by genre using SortDescriptor and sorted list & filter.

📌 Comment System

✔️ Track improvements by adding dated comments, auto-sorted by recency.

✔️ Cascade delete rule(Parent-Children Relationship) applied, every data of comments would removed as the page deleted.

📁 Data Persistence

Utilizes SwiftData for local storage and query-based sorting.

💡 Interactive UI

✔️ Supports both bulk or swipe-to-delete, and filtering by genre with ToolbarItem actions.

✔️ Star rating style by user click by .buttonStyle(.plain) modifier.

Tech Stack

🛠️ Framework & Architecture
🏠 Data Management
🔗 State Management
🏞️ Image Handling

PhotosUI, PhotosPicker

🧭 Navigation

NavigationStack, navigationDestination, Sheet

🎨 Custom UI

Theme Extensions, Dynamic Sorting & Filtering

Garden Bay
Seamless flower ordering at your fingertips—let the magic unfold and share love & joy effortlessly.

Garden Bay is a seamless flower ordering app that lets users select from a variety of blooms, customize their gifts with add-ons, and save up to 10 addresses from previous orders for quick checkout.

With quick order processing via secure server and real-time confirmation, sending flowers has never been easier.

Key Features

🌸 Flower & Gift Ordering System

Users can select flowers and add-ons like balloons or chocolates via a dynamic Form with validation and disabled submission when incomplete.

🏠 Address Management

Save up to 10 addresses in AppStorage, auto-remove duplicates.

📦 Order Placement

✔️ Sends HTTP server requests to place orders using URLSession with proper error handling (do-try-catch).

✔️ Displays confirmation on success, then resets NavigationPath to return to the home view.

🖼️ Visual Feedback

✔️ Loads product images asynchronously from server URLs using AsyncImage.

✔️ Provides haptic feedback on key interactions using CoreHaptics.

Tech Stack

🛠️ Framework & Architecture

🏠 Data Management

🔗 State Management

📡 Protocol & API

Codable, CodingKeys, URLRequest, URLSession

🏞️ Image Handling

AsyncImage (via image URL)

🧭 Navigation

NavigationPath

🔊 User Experience
CoreHaptics

Sip & Stir
Explore cocktails by category with recipes and photos, all powered by a decoded JSON file.

A sleek cocktail recipe app Sip & Stir categorizing drinks by their base alcohol, such as rum, whisky, or wine.

Recipes and images are dynamically loaded from a JSON file using Bundle decoding, while the UI is optimized with GridItems for a visually engaging experience.

Key Features

🍸 Cocktail Cataloging

Explore cocktails organized by base alcohol (e.g., rum, whisky, gin), offering a smooth and categorized browsing experience.

📐 Dynamic Layout

Displays cocktail recipes in a responsive grid layout using LazyVGrid and GridItem, ensuring smooth scalability for different device sizes.

📄 Seamless Data Handling

✔️ Decodes and presents cocktail data from a local JSON file with the Bundle Decoder.

✔️ Utilizing the ternary operator, assigned default values for missing data in the JSON file will be displayed. This ensures an optimized and secured data managements.

Tech Stack

🛠️ Framework & Architecture
🏠 Data Management
🔗 State Management
📡 Protocol & Model

Codable, Identifiable, Hashable

🧭 Navigation

NavigationStack, NavigationLink

CosMath
Facilitate multiplication practice for kids, featuring customizable quizzes and a gamified reward system.

CosMath is an educational app designed to help users practice multiplication tables from 2 to 12. Users can customize the number of questions and difficulty level.

As they answer questions correctly, they earn "planetary levels" as rewards, which serve to motivate and engage learners.

Or Scan

Key Features

🧐 Custom Quiz Generator

Users can set difficulty levels, number of questions, and selected times tables.

⏱️ Real-time Feedback

Immediate grading with an interactive results summary.

🏆 Reward System

Users earn planetary levels based on progress to encourage engagement.

🌎 Adaptive UI

Optimized layout for iPhone and iPad using dynamic grids.

📁 Data Persistence

Stores past quizzes and scores in @State for progress tracking of current game.

Tech Stack

🛠️ Framework & Architecture

🔗 State Management

📐UI Components & Layout

LazyVGrid, Stepper(), GridItem

🚥 Logic & Control Flow

Switch/Case, Enum

iExpense
A personal finance tracker for budgeting and expense management with selections of multiple currencies.

Smart Spending, Better Saving. Anywhere in the World.

iExpense provides a personal finance tracker for budgeting and expense management with selections of multiple currencies.

Key Features

💸 Expense Tracking

✔️ Users can log and categorize expenses as either Personal or Business.

✔️ Filtered display of categorized expenses using Sectioned List.

📁 Data Persistence

Data is encoded/decoded via JSONEncoder and JSONDecoder, saved locally using UserDefaults.

🎨 Dynamic UI Feedback

Color-coded budget ranges (Low, Medium, High) for expense amounts.

🛠️ Custom Settings

Users can select preferred currencies from a full currency list using dynamic toggle switches.

🗑️ Data Management Tools

✔️ Supports swipe-to-delete functionality.

✔️ Expenses automatically persisted with didSet observer on the items array.

Tech Stack

🛠️ Framework & Architecture
🏠 Data Management
🔗 State Management
📡 Protocol & API

Codable, Identifiable

🧭 Navigation

NavigationStack, navigationDestination, Sheet

🧩 UI Components

List, Form, Section, ToolbarItem, EditButton