DEV Community

Aashutosh kumar bhardwaj
Aashutosh kumar bhardwaj

Posted on AI-assisted

TouchQuest: An AI That Helps You Put Your Phone Down 🌿

Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass Submission 🌿

This document is entered as a response to the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass.

What I Built

There are applications available which assist us in keeping track of our habits, in arranging our schedules, and in spending more time on line. Yet what if the aim of an app were to help us reduce the amount of time we spent using it?

That is the concept that underlies TouchQuest.

TouchQuest is an Android app which prioritises offline use and turns the simple notion of taking a break into a personal, real-life mission. Rather than having to scroll through endless recommendations, users are given a single activity that they can actually carry out.

You could be feeling overwhelmed and need five minutes to yourself, or you might be restless and would like to move about a bit; alternatively, you may just want to notice something interesting as part of your usual routine.

TouchQuest assists you in finding a starting point.

Users may select their mood, energy level, the amount of time they have available, their preferred environment, and their accessibility requirements. The app will then try to create a personalised mission by using an open-weight language model that is running on the device itself. If the model is not available or if it gives an invalid response, TouchQuest can offer an alternative that is built into the app.

Actionable steps, a recommended length of time, a reminder when the phone is disconnected, and safety advice are all included in each mission. Users are able to start a timer, carry out their activity, reflect on it, and keep record of their progress using XP, streaks, a developing virtual garden, and their mission history.

The aim is not to keep users engaged with TouchQuest for several hours.

The aim is to get them to identify a single worthwhile activity, take their phones out of the way, and take part in it.

Demo

🎬 Here's TouchQuest in action: [https://youtube.com/shorts/lpF4a4xKiHU?si=rJkPdCTR-wBXR8ZE]

The demonstration features the Android application, its tailored mission sequence, and the way in which users can turn a minor suggestion into an offline, real-world activity.

📱 Try the Android APK: [ https://github.com/aashutoshkumarbhardwaj/TouchQuest/releases/download/V1.0/app-debug.apk ]

The application can function offline once the necessary model files have been made available on the device. The exact behaviour when working offline will depend on the model having been correctly set up and the device being compatible.

Code

💻 GitHub repository: [https://github.com/aashutoshkumarbhardwaj/TouchQuest]

The project uses JavaScript, Vite, Capacitor, Transformers.js, and the ONNX Runtime Web.

The app interface, the recommendation logic, the local progress storage, the model integration, and the built-in mission alternatives are all included in the repository.

I aimed at ensuring that the experience remains usable even if AI inference fails. The recommendation app should not cease to be useful merely because the model is unable to load or generate valid output.

How I Built It

The most interesting engineering choice was to include the local AI as part of the experience while at the same time not making the whole application rely on it.

1. Open-weight AI running on device

TouchQuest includes the SmolLM2-135M-Instruct open-weight language model via the use of Transformers.js and ONNX Runtime Web.

The intended inference flow is:

The user chooses their preferences.

  1. TouchQuest compiles a concise prompt from those preferences.
  2. The model tries to create a structured mission on its own.
  3. The app checks the response before it displays it. If the output is incorrectly formatted or if the inference process fails, the application resorts to a built-in recommendation.

This validation step is important; in the course of development I came across model responses which included conversational openings or malformed JSON instead of a usable mission. Instead of showing that unprocessed output, I introduced validation and fallback handling.

2. A type of recommendation system that goes beyond the model

It is not necessary for every useful recommendation to use a language model.

TouchQuest includes selected activities and uses deterministic recommendation logic. This enables a predictable option depending on one's mood, the available settings, the time limits, and the accessibility preferences.

This method of combining things ensures that the main experience remains useful even if on-device inference is not available.

3. Suitable for use in the real world

The application features a distraction-free mission experience, together with a timer that has controls for pausing and resuming, options for reflection, local tracking of progress, and an ever-growing virtual garden.

I also paid attention to mobile usability, easy-to-read instructions, accessible controls, and a peaceful visual identity drawn from nature.

4. It has been designed with both privacy and reliability in mind

The design of the architecture is such that it retains the user's preferences and progress on the device and does not send the prompts to a cloud AI service.

The application has been developed in the form of an Android APK, and I have included automated checks for the recommendation logic, AI response validation, and progress tracking.

The use of local inference still requires the model to load successfully and there to be enough memory on the device. It is important therefore to honestly carry out testing of this limitation on different Android phones.

Why is open innovation important?

What I understand by open innovation is that it is possible to create something useful without viewing intelligence as a service that has to be hosted on someone else's server.

The use of an open-weight model enabled an AI experience in which user preferences could be processed locally rather than being sent routinely to a remote model API.

It also allowed me to have greater control over the inference pipeline, model integration, output validation, and fallback behaviour.

There were disadvantages attached to that level of control. Using a model on a phone brings about memory limitations, compatibility problems, and difficulties regarding the quality of the output. I therefore had to consider going beyond just sending a prompt to an API and then displaying the response.

The challenges meant that the project became more interesting.

I was able to use open innovation to combine the suggestions generated by the model with the deterministic recommendations and the standard application code. The outcome is an architecture in which AI can improve the experience without being the only component responsible for keeping it running.

That's a important point: open-source AI becomes more useful when we take into account its strengths and limitations rather than viewing it as something magical.

My Agent Session

The section mentioned here is optional; if you use DevRelay to save your Antigravity coding session then you should include the session link or embed it here by means of the challenge's available agent_session tag.

Prize Categories

This submission does not include any partner category. The project makes use of an open-weight model and carries out local inference; I have not included an unverified partner integration.


TouchQuest began with a simple question: what if technology could help us to reestablish contact with the world rather than demanding more of our attention?

I created this project in order to look into that idea, taking one small mission at a time.

If just one person uses TouchQuest to put their phone down, to step outside and notice something new, or to take a much-needed break, then the programme is achieving the purpose for which I created it.

Reduce the amount of time spent on screens and create more space for real life. 🌱

devchallenge #hf26challenge

Top comments (0)