COMP 3059 — Capstone Project
SipSip
A plant care companion for busy people
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.
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)
Create, view, edit, and delete plant profiles including name, species, photo, location, and watering frequency.
Camera-based plant identification using Google Vision API to auto-generate a care schedule from a photo.
Automated, non-intrusive push notifications for watering, feeding, and other care tasks on a user-set schedule.
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.
Project documentation — vision, requirements, personas, user stories, team charter.
UI prototyping — Figma mockups, navigation flow design, base screen templates.
Core implementation — navigation scaffolding, dashboard, plant collections layout, notification UI.
UI polish — layout spacing, icon consistency, accessibility, collapsible rooms, contextual menus.
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.
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 PrototypeStatus Reports
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.
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.
(Contributors only)
Project Documents
All official documentation produced throughout the SipSip capstone project.
Download All Documents