Skip to content

About

Change Detection - Automatically track websites changes on Android in background.

Topics

Resources

Stars

743 stars

Watchers

17 watching

Forks

Repository files navigation

ChangeDetection

Stop refreshing. See what changed.

Watch prices, restocks, job listings, application deadlines, or any page you keep coming back to.
Get an alert, open the comparison, and see exactly what moved.

Get it on Google Play · Build it yourself · Report a bug

Free and open source · No account · No server to run

ChangeDetection home showing recent changes, beside a before-and-after price comparison

Current development UI with local example pages. Screens are captured from the app, not mockups.

The notification is just the start

A page changed. Was it the price, an application deadline, or just a rotating banner? Open the saved versions and find out.

  • Compare the way you need. See screenshots side by side, read the text changes, or compare page source.
  • Focus on one part. Pick the section that matters and exclude noisy areas such as ads or timestamps.
  • Keep the history. Revisit saved versions and compare an earlier change.
  • Choose the pace. Check now, schedule regular checks, or run a short Turbo session when timing matters.
Readable text comparison highlighting a changed fellowship deadline and funding amount Saved versions available for comparison Turbo setup with pages, checking interval, and session duration
Read the change
Find the words and numbers that changed.
Look back
Choose the versions you want to compare.
Catch the moment
Check frequently for a limited time.

Your first watch

  1. Tap Watch a page and open a page address.
  2. Navigate to the content you care about. Choose the whole page or a selected part.
  3. Review the capture, choose a comparison mode, and save it.
  4. Check manually or set up automatic checks. Open a change to compare it with the previous version.

On Android, text and screenshot checks can reuse sign-in cookies saved in the in-app browser. Source checks do not use those cookies. Some sites require you to sign in again, and pages with extra verification may not work reliably.

For a ticket release, restock, or approaching deadline, Turbo checks selected pages every 5, 15, 30, or 60 seconds for up to three hours. Frequent checks use more battery and data; use the interval you actually need.

Your device does the checking

Monitored pages, settings, and saved history stay on your device. There is no ChangeDetection account or hosted monitoring service, and the app has no first-party analytics. Websites still receive the requests your device makes to check them.

Read the privacy policy.

Where it runs

Platform Status
Android 8+ Available on Google Play.
Desktop Development build. Text checks run while the app is open; screenshot capture is not supported.
iOS In development.
Browser demo Explores the shared interface with sample data; does not monitor live websites.

The screenshots show the current source build; features may be ahead of the published Android app. Available in English, Spanish, Italian, Portuguese, German, Hindi, Bengali, and Simplified Chinese.

Build it yourself

This is a Kotlin Multiplatform project with a shared Compose UI. Use the checked-in Gradle wrapper.

Install an Android SDK with platform 37.2, then set ANDROID_HOME or add sdk.dir=/path/to/Android/sdk to local.properties. The SDK is needed during Gradle configuration even for Desktop tasks. CI starts with Java 21; Gradle can provision the toolchains configured by the project. Desktop tasks request JetBrains JDK 25.

# Android debug APK → androidApp/build/outputs/apk/debug/
./gradlew :androidApp:assembleDebug

# Desktop app
./gradlew :shared:run

# Browser demo
./gradlew :webDemo:wasmJsBrowserDevelopmentRun

For iOS, open iosApp/iosApp.xcodeproj in Xcode. The marketing site lives in website/ and uses pnpm; see its package scripts for development and builds.

Check a change

./gradlew :shared:testAndroidHostTest :androidApp:lintDebug
./gradlew :shared:spotlessCheck :shared:desktopTest

# With an Android emulator or device connected
./gradlew :shared:connectedAndroidDeviceTest

The UI tour used for this README is reproducible with:

./gradlew :shared:desktopTest --tests '*DesignReviewTest.readmeTour'

It captures the real shared app UI at phone dimensions with local fixture content. See screenshot provenance for the source images and composition.

Contribute

Bug reports are most useful with the app version, platform, steps to reproduce, and a public page URL when possible. Describe what you expected and what happened. Remove private page content, cookies, and account details from logs or screenshots.

For a fix, add a regression test that fails first, keep the change focused, and run the relevant checks above. Documentation, translations, accessibility improvements, and reproducible test cases are welcome too.

About

Change Detection - Automatically track websites changes on Android in background.

Topics

Resources

Stars

743 stars

Watchers

17 watching

Forks

Releases

Packages

Used by

Contributors

Languages