DEV Community

Aashutosh kumar bhardwaj
Aashutosh kumar bhardwaj

Posted on

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

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass.

What I Built

We have apps that help us track our habits, optimize our schedules, and spend more time online. But what if an app's goal was to help us spend less time using it?

That's the idea behind TouchQuest.

TouchQuest is an offline-first Android application that turns the simple idea of taking a break into a personalized, real-world mission. Instead of endlessly scrolling through recommendations, users get one small activity they can actually do.

Maybe you feel overwhelmed and need five minutes of quiet. Maybe you feel restless and want to move a little. Or maybe you simply want to notice something interesting outside your usual routine.

TouchQuest helps you find a starting point.

Users can choose their mood, energy level, available time, preferred environment, and accessibility needs. The app then attempts to generate a personalized mission using an open-weight language model running locally on the device. If the model is unavailable or returns an invalid response, TouchQuest can provide a built-in alternative instead.

Each mission includes actionable steps, a suggested duration, a phone-down reminder, and safety guidance. Users can start a timer, complete their activity, reflect on the experience, and track their progress through XP, streaks, a growing virtual garden, and mission history.

The goal isn't to keep users engaged with TouchQuest for hours.

The goal is to help them find one meaningful thing to do, put their phones away, and experience it.

Demo

šŸŽ¬ Watch TouchQuest in action: [https://youtube.com/shorts/lpF4a4xKiHU?si=rJkPdCTR-wBXR8ZE]

The demo shows the Android app, its personalized mission flow, and how users can turn a small suggestion into an offline, real-world activity.

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

The app is designed to work offline after the required model assets are available locally. Actual offline behavior depends on successful model setup and device compatibility.

Code

šŸ’» GitHub repository: [https://github.com/aashutoshkumarbhardwaj/TouchQuest]

The project is built with JavaScript, Vite, Capacitor, Transformers.js, and ONNX Runtime Web.

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

I focused on making the experience usable even when AI inference fails. A recommendation app shouldn't become useless just because a model cannot load or produce valid output.

How I Built It

The most interesting engineering decision was making local AI part of the experience without making the entire application dependent on it.

1. Open-weight AI running on-device

TouchQuest integrates SmolLM2-135M-Instruct, an open-weight language model, through Transformers.js and ONNX Runtime Web.

The intended inference flow is:

  1. The user selects their preferences.
  2. TouchQuest creates a compact prompt from those preferences.
  3. The model attempts to generate a structured mission locally.
  4. The app validates the response before displaying it.
  5. If the output is malformed or inference fails, the app uses a built-in recommendation.

This validation step matters. During development, I encountered model responses that contained conversational introductions or malformed JSON instead of a usable mission. Rather than displaying that raw output, I added validation and fallback handling.

2. A recommendation system beyond the model

Not every useful recommendation needs a language model.

TouchQuest also contains curated activities and deterministic recommendation logic. These provide a predictable alternative for different moods, available settings, time limits, and accessibility preferences.

This hybrid approach helps keep the core experience useful even when on-device inference is unavailable.

3. Designed for real-world use

The application includes a distraction-free mission experience, a timer with pause and resume controls, reflection options, local progress tracking, and a growing virtual garden.

I also focused on mobile usability, readable instructions, accessible controls, and a calm visual identity inspired by nature.

4. Built with privacy and reliability in mind

The architecture is designed to keep preferences and progress on the device and avoid sending prompts to a cloud AI service.

The app has been built as an Android APK, and I added automated checks for recommendation logic, AI response validation, and progress tracking.

Local inference still depends on the model loading successfully and the device having sufficient memory. That's an important limitation to test honestly across different Android phones.

Why Does Open Innovation Matter?

For me, open innovation means being able to build something useful without treating intelligence as a service that must always live on someone else's server.

Using an open-weight model made it possible to explore an AI experience where user preferences can be processed locally rather than routinely sent to a remote model API.

It also gave me more control over the inference pipeline, model integration, output validation, and fallback behavior.

That control came with trade-offs. Running a model on a phone introduces memory constraints, compatibility issues, and output-quality challenges. I had to think beyond simply sending a prompt to an API and displaying the response.

Those challenges made the project more interesting.

Open innovation also allowed me to combine model-generated suggestions with deterministic recommendations and ordinary application code. The result is an architecture where AI can enhance the experience without being the only thing keeping it alive.

I think that's an important lesson: open-source AI becomes more useful when we design around its strengths and limitations instead of treating it as magic.

My Agent Session

This section is optional. If you save your Antigravity coding session using DevRelay, add the session link or embed it here using the challenge's supported agent_session tag.

Prize Categories

No partner category claimed in this submission. The project uses an open-weight model and local inference; I have not added an unverified partner integration.


TouchQuest started with a simple question: what if technology helped us reconnect with the world instead of asking for more of our attention?

I built this project to explore that idea, one small mission at a time.

If TouchQuest helps even one person put their phone away, step outside, notice something new, or take a much-needed pause, then it's doing what I built it to do.

Build less screen time. Make more room for life. 🌱

devchallenge #hf26challenge

Top comments (0)