DEV Community

Divyansh Goyal
Divyansh Goyal

Posted on AI-assisted

Later — keep screenshotting, an open-weight model turns your screenshots into one-tap actions

Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady Submission 🦥

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady

What I Built

Everyone has a camera roll full of screenshots taken "to deal with later": an event poster, an electricity bill, a café someone recommended, a chat message saying "submit the form by Monday". Then nothing happens. The screenshot is the whole plan.

Later is an Android app that rewards exactly that habit. You keep screenshotting, and you don't even open the app. In the background, an open-weight vision model reads each new screenshot and turns it into the one action it needs:

You screenshot… Later turns it into… One tap
🎤 An event poster Event: date, time, venue, link Add to calendar
💡 An electricity bill Bill: Rs. 1,240, due 28 Oct Add reminder
💬 "submit the form by Monday 5 PM" To-do: Mon 26 Oct, 17:00 Add reminder
☕ A café listing Place with the full address Open in maps
🔗 An article or product Link Open link
😂 A meme Skipped –
🔒 A bank OTP Private: skipped, nothing kept –

At 8 PM, one notification sums it up: "12 screenshots today, sorted: 2 events, 1 bill, 3 links. Tap to handle them in one go."

Who gets to be lazier? Anyone whose screenshots folder is secretly their to-do list.

Demo

📦 Try it: Download the APK (Android 7.0+). Allow access to photos, take a screenshot of anything you'd "deal with later", then open Later or wait for the background scan.

🌐 Live backend: later-api-pcxg.onrender.com (Render free tier, so the first request after a quiet spell takes ~50 s to wake up).

Here's what the deployed server returned for a real test screenshot of an electricity bill, with today's date sent as Sunday 25 Oct:

{
  "kind": "bill",
  "title": "BSES Yamuna Power Bill",
  "summary": "Pay the Rs. 1,240.00 electricity bill before the due date to avoid a late fee.",
  "date": "2026-10-28",
  "amount": "Rs. 1,240.00"
}
Enter fullscreen mode Exit fullscreen mode

In the app, that becomes a Bill card showing "⏰ Due Wed 28 Oct" and "💸 Rs. 1,240.00", with one button, Add reminder, which opens your calendar with a "Pay: BSES Yamuna Power Bill (Rs. 1,240.00)" all-day reminder on the 28th. In my testing, a bank OTP screenshot came back as "kind": "private" with every other field empty.

Code

Later icon: screenshot crop corners around a check mark

Later

Keep screenshotting. Later handles it.
An Android app that turns the screenshots you take "to deal with later" into one-tap actions

Built for the DEV Hacktoberfest 2026 Open-Source AI Challenge, Week 3: "Slow and Steady"


The lazy habit it rewards

Everyone screenshots things to deal with later: an event poster, a bill, an address, a link, a chat message with a deadline. Then the screenshots pile up and nothing happens.

Later doesn't ask you to change that habit. You keep screenshotting. You don't even open the app. In the background, an open-weight vision model reads each new screenshot and turns it into the one action it needs:

You screenshot… Later makes it… One tap
🎤 An event poster Event: date, time, venue Add to calendar
💡 An electricity bill Bill: amount + due date Add reminder
💬 "submit the form by Monday 5 PM" To-do with a
…

How I Built It

Screenshot taken ──▶ WorkManager job (every ~15 min, even with the app closed)
                       │  finds new files in the Screenshots folder (MediaStore)
                       │  shrinks each one to a 1600 px JPEG
                       ▼
       FastAPI backend on Render ──▶ Qwen 3.8 27B (open weights, vision) on Groq
                       │  {kind, title, summary, date, time, location, amount, url}
                       ▼
       Saved on the phone ──▶ one-tap actions + an 8 PM digest notification
Enter fullscreen mode Exit fullscreen mode

The open model does the reading. Qwen 3.8 27B (open weights, text + vision) gets the screenshot plus today's date and returns strict JSON: what kind of thing it is, plus exactly the details needed to act on it. Today's date matters: "Monday 5 PM" only becomes Mon 26 Oct, 17:00 if the model knows today is Wednesday the 21st.

Top comments (0)