DEV Community

Shubh Arya
Shubh Arya

Posted on

Offscript: AI that knows when to get you off the screen.

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

What I Built

We built Offscript, a mobile web app that turns nearby questions into real actions. You might want to join a game, explore a place, or learn something only a person there would know. Offscript helps you take that next step instead of keeping you in a chat.

Say you see a group playing football at a park and want to join. An AI cannot know whether that group welcomes newcomers. When we entered that question into Offscript, it suggested asking a player: “Is there room for a newcomer in this game?”

That is where the app stops. You put your phone away, walk over, and find out. The screen is the shortest part of the experience.

You can ask general questions too, and Offscript will answer them. Its focus is on recognising when an answer belongs to a place or a person, then giving you a real next step. For those questions, the screen should be the shortest part of the experience.

Demo

Live demo: https://offscript-web-ksob.onrender.com/

The live app shows the handoff from a nearby question to a conversation you can actually have.

Code

Source code: https://github.com/bhavishyaone/offscript

Built with @bhavishyaone and @srishty_shree

How I Built It

The hard part was teaching the model where an answer belongs. “What time does this park close?” and “Can I join that group playing there?” are both about the same place. One needs current information. The other needs a person.

We used Tinker and LoRA to train Qwen3.5-9B, an open weight model. We trained it twice: first on a smaller set of questions, then on 1,085 examples covering more situations and more ways of asking. The model decides whether to answer directly, search for current information, or help the user approach someone who would know. When it chooses a person, Offscript gives the user someone to ask and a question they can actually use.

The second training run made a real difference in Offscript’s responses. A question about joining a game leads to a person to approach and words you can use. A question about something that can change, like opening hours, goes to search. A general question gets a straight answer. The model became much better at recognising which of those situations it was in.

In our offline evaluation with 110 questions, the trained model chose the expected way to respond every time. Compared with the original model, it reduced irrelevant outdoor suggestions by nearly 90 percent. That improvement matters because people will only follow Offscript into the real world if its suggestions have a clear purpose.

The app uses React and TypeScript for the front end and FastAPI for the back end. SerpApi supplies live search results, and Render hosts the deployed app.

Why Does Open Innovation Matter?

Offscript can fail in a very believable way. It can confidently answer for people it has never met, leaving the user with a guess instead of a conversation. It can also suggest a pointless trip outside and make people less likely to trust its next suggestion.

We needed to change how the model made that decision. Using an open weight model meant we could train it on our own examples, compare it with the original, and keep improving the behaviour at the centre of the app. We were not limited to writing another instruction telling a chatbot to encourage outdoor activity.

The training material and evaluations are in the public repository.

Other builders can inspect our choices, challenge the cases we got wrong, and add examples from places our team does not know.

My Agent Session

We did not record the build with DevRelay, so we do not have a session to embed. The code, training material, and evaluation results are in the repository above.

Prize Categories

Best Use of Tinker

We used Tinker for both rounds of model training. The second round taught Qwen3.5-9B to make the decision Offscript depends on: when to answer, when to search, and when to hand the question to a person. The improvement in our evaluation came from training that behaviour rather than adding a list of keyword rules.

Best Use of SerpApi

Offscript uses SerpApi when a question needs a current public fact, such as opening hours. This lets the app look for information that may have changed while keeping the human handoff for questions that someone at the place actually needs to answer.

Best Use of Render

Render hosts Offscript’s mobile web app and back end. The deployed version lets someone use it on their phone, take the suggested next step, and leave the screen behind.

Top comments (0)