Skip to content

A cross-platform app that records usage history, tracks recurring cycles, predicts the next due date, and sends reminders — helping you avoid both forgetfulness and waste.

License

Notifications You must be signed in to change notification settings

Siriusq/cycle_it

Repository files navigation

Preview

GitHub Release Date GitHub top language Flutter GitHub License

Cycle It

Track · Predict · Remind

Keep your recurring tasks organized — never forget again.

📖 Introduction

In daily life, many items follow a usage cycle: electric toothbrushes need regular charging, water filters require periodic replacement, and batteries must be renewed from time to time. Unfortunately, most of these items are not smart enough — they don’t show usage status and won’t remind you when maintenance is due. As a result, you may often forget and end up facing awkward moments, like picking up your toothbrush only to find it out of power.

CycleIt · 循物 is a cross-platform app built to solve this problem. It records usage history, tracks recurring cycles, predicts the next due date, and sends reminders — helping you avoid both forgetfulness and waste.

✨ Features

  • 📝 Item Management: Record item names, notes, and assign emoji icons for quick identification.
  • 🔄 Cycle Tracking: Display usage records in a table, with sorting by date or interval.
  • 📊 Data Visualization: Analyze usage patterns with stats like cycle count and duration; visualize with heatmap calendar and monthly bar chart.
  • 📅 Smart Prediction: Estimate the next due date based on historical data.
  • 🔔 Timely Reminders: Get notifications when it’s time for the next cycle.
  • 🔍 Quick Search: Find items instantly by name or notes.
  • 🏷️ Tag Management: Assign multiple tags and filter items by tag.
  • 📱 Responsive UI: Adapts layout automatically to screen size.
  • 🌐 Cross-Platform: Runs on iOS, Android, Windows, and macOS.
  • 🌍 Multi-Language: Supports English, Simplified Chinese, and Traditional Chinese.
  • 🎨 Theme Switching: Light/Dark themes with system auto-switch.
  • 💾 Database Management: Import/export database for backup and device migration.

📦 Installation

Android

Download and install Cycle.It.1.0.2.apk.

iOS

Not available on the App Store. Instead, download the IPA package Cycle.It.1.0.2 and sideload it using AltStore. See AltStore FAQ for setup instructions.

Windows

Available on the Microsoft Store, install directly from the store.

macOS

Download and install Cycle.It.1.0.2.dmg.

Linux

Due to system limitations, core functions cannot be implemented, so the Linux version will no longer be updated.

Currently supports only Debian-based distributions. Download and install cycle_it_v1.deb.

🎬 User Guide

User Guide

Add Item

Tap the Add button in the top-right corner of the item list. 1️⃣

Edit Item

  • Tap the More Actions button on the item card → Edit. 2️⃣
  • Or, tap the Edit button in the top-right corner of the item details page. 3️⃣

Manage Tags

Tap the More Actions button in the tag section of the sidebar. 4️⃣

On mobile, open the sidebar via the drawer button in the top-left of the item list.

Settings

Tap the Settings button in the top-right corner of the sidebar. 5️⃣

On mobile, open the sidebar via the drawer button.

Add Cycle Record

  • Tap the More Actions button on the item card → Cycle It. 2️⃣
  • Or, tap the Add button in the cycle record table on the item details page. 6️⃣

Manage Cycle Records

In the cycle record table on the item details page, tap the Actions button at the end of the record row. 7️⃣

⚠️ Known Issues

  • Cycle prediction & reminders: Requires at least two cycle records as a reference. For new items, you may manually add estimated past records to enable prediction.
  • Splash Screen: When opening the app via a notification, the splash screen may not display the app icon (More info).
  • Notification Permission: On first launch, some platforms require granting notification permissions.
  • Expired reminders: On some platforms, if the device is powered off at the scheduled reminder time, the reminder will not trigger after the device is turned on again.

Platform Limitations

  • Windows
    • Only MSIX package provided — EXE cannot properly handle scheduled notifications (details).
  • Android
  • iOS
    • Supports only up to 64 scheduled notifications (system limit). More info.
    • Sideloaded apps via AltStore must be refreshed every 7 days.
  • macOS
    • Notifications supported only on macOS 10.14 or later (details).
  • Linux
    • No scheduled notification API, so reminders are unavailable (details).
    • Only Debian-based installer provided (because I’m lazy).

🗓️ Todo

Big promises ahead — please don’t expect too much from this lazy dev 🐶

  • Smarter cycle prediction.
  • Cross-platform sync via OneDrive/iCloud.

🙏 Credits

  • Flutter
  • Android Studio
  • ChatGPT
  • Google Gemini
  • Appainter
  • create-dmg
  • Photopea
  • DeviceShot
  • Awesome packages from pub.dev (file_picker, permission_handler, getx, drift, flutter_local_notifications, timezone, window_manager, data_table_2, flex_color_picker, emoji_picker_flutter, simple_heatmap_calendar, material_charts, shared_preferences, json_theme, flutter_native_splash, chinese_font_library, url_launcher, flutter_launcher_icons, msix, etc.)

About

A cross-platform app that records usage history, tracks recurring cycles, predicts the next due date, and sends reminders — helping you avoid both forgetfulness and waste.

Resources

License

Stars

Watchers

Forks

Packages

No packages published