COMP 3059 — Capstone Project

SipSip

A plant care companion for busy people

Kotlin Jetpack Compose Android SDK MVVM Room DB Sep 2025 – Mar 2026

Project Summary

SipSip is an Android mobile application designed to help users care for their plants in a fun, simple, and engaging way. The goal is to make plant care less of a chore and more of a daily habit — keeping the experience relaxed and approachable while providing real, personalized value.

The app delivers personalized plant care tracking with minimal effort from the user, blends practical features with motivational elements like streaks and shared household updates, and maintains a playful, friendly design that doesn't overwhelm.

Team Jayden Lewis — Project Manager Aidan Repchik — Project Developer Uzma Shaikh — Project Engineer

Project Vision

Problem

  • People forget to water plants or lose interest over time.
  • Overwatering occurs frequently, especially around rainfall.
  • Most users don't know specific plant care requirements, leading to unhealthy plants.

Opportunity

  • Personalized watering schedules based on plant type and local weather.
  • Non-intrusive reminders to encourage consistency without annoyance.
  • Offline-first with secure local data storage.
  • Seamless household collaboration without requiring multiple accounts.

For casual plant owners and busy individuals, SipSip is a mobile plant care app that provides personalized watering schedules, smart reminders, and household collaboration features — unlike generic reminder apps, SipSip is built specifically around plant care with an intuitive, playful experience.

Business & Project Requirements

Key Deliverables

  • A minimum viable product Android application with core features functional.
  • A simple, friendly UI/UX design aligned with Material Design 3 guidelines.
  • A product backlog and plan for additional features to be developed post-MVP.

Core Features (High-Level Requirements)

F1
Plant Profile Management

Create, view, edit, and delete plant profiles including name, species, photo, location, and watering frequency.

F2
Plant Identification

Camera-based plant identification using Google Vision API to auto-generate a care schedule from a photo.

F3
Plant Care Reminders

Automated, non-intrusive push notifications for watering, feeding, and other care tasks on a user-set schedule.

F4
Shared Household Care

Collaborate with household members to share plant oversight and task completion without multiple accounts.

Project Plan

The project followed an agile methodology across a two-semester timeline (September 2025 – March 2026), using sprints with defined backlogs, a Responsibility Assignment Matrix, and regular status reporting.

Sprint 1–2

Project documentation — vision, requirements, personas, user stories, team charter.

Sprint 3–4

UI prototyping — Figma mockups, navigation flow design, base screen templates.

Sprint 5–6

Core implementation — navigation scaffolding, dashboard, plant collections layout, notification UI.

Sprint 7

UI polish — layout spacing, icon consistency, accessibility, collapsible rooms, contextual menus.

Sprint 8 (In Progress)

API integrations — Google Vision plant ID, OpenMeteo weather data, plant search connectivity.

Requirements Analysis & Design

Architecture

SipSip is built on MVVM + Clean Architecture, separating UI, domain logic, and data layers. This ensures testability, maintainability, and supports an offline-first approach using Room as the local database.

LanguageKotlin
FrameworkAndroid SDK (API 24–35)
UIJetpack Compose + Material Design 3
ArchitectureMVVM + Clean Architecture
Local DBRoom (SQLite)
Plant IDGoogle Vision API
WeatherOpenMeteo API
Version ControlGitHub

Key Use Cases

  • UC1 — Create Plant Profile: User creates a plant entry with name, species, indoor/outdoor flag, optional photo, and watering schedule.
  • UC2 — Identify a Plant: User opens camera, captures a photo; the app calls Google Vision API and returns species info and a suggested care schedule.
  • UC3 — Complete a Shared Task: A household member marks a watering task complete; the update is reflected for all members sharing that plant.

Wireframes & Mockups

UI/UX was prototyped in Figma before implementation, covering all core screens: dashboard, plant collections, plant profile creation, notifications, and the identification flow.

View Figma Prototype

Status Reports

● Green Status Report I Feb 8, 2026

The team completed significant UI enhancements including a redesigned top action bar with integrated search, an updated dashboard filter system, improved Plant Collections layout with collapsible rooms, and an enhanced notification interface with timestamped sorting. The official GitHub repository was established and the core navigation flow and base screen templates were put in place.

● Green Status Report II Mar 13, 2026

The core UI enhancement package was completed and solid progress was made on the underlying app architecture. All major screens were implemented with a complete navigation structure and an initial data layer design. UI polish focused on layout spacing, icon consistency, and accessibility. API integrations (Google Vision, OpenMeteo, plant search) remain in progress — service interfaces exist but live connections are pending.

System Implementation

SipSip is developed natively for Android using Kotlin and Jetpack Compose. The app follows a layered clean architecture with clear separation between the UI layer (Compose screens + ViewModels), domain layer (use cases), and data layer (Room database + API service interfaces).

Implemented

  • Full navigation structure with all major screens scaffolded.
  • Dashboard with filter bar — Today, Upcoming, and care-type filtering.
  • Plant Collections with collapsible/expandable rooms and contextual menus.
  • Notification system with All / Today / Completed filters and timestamp labels.
  • Expandable search bar in the top action bar.
  • Initial Room data layer design for local offline-first storage.

In Progress

  • Google Vision API integration for camera-based plant identification.
  • OpenMeteo API for weather-aware watering schedule adjustments.
  • Plant search connectivity between API repository and UI.
  • Full CRUD wiring between UI and Room database.
View on GitHub

(Contributors only)

Project Documents