ai newsDo., 15. Okt.
EilmeldungMeta and Apple team up to make Muse AI models run better on Macs

I Built WanderWise: A Local-First AI Planner That Wants You to Close the Screen

Most AI products compete for more attention. I wanted to build one whose definition of success is getting closed. WanderWise AI turns a sentence such as “I need a calm reset after work and I have one hour” into a small, practical outdoor plan. It recommends an activity, explains the match, divides

dev.toSamstag 07:33 · 10.10.5 Min. Lesezeit
Bild: dev.to

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

Most AI products compete for more attention. I wanted to build one whose definition of success is getting closed.

WanderWise AI turns a sentence such as “I need a calm reset after work and I have one hour” into a small, practical outdoor plan. It recommends an activity, explains the match, divides the available time into three steps, lists what to bring, and gives one relevant safety reminder.

“Go outside” is good advice, but it is rarely actionable.

When someone is tired, restless, bored, or short on time, choosing an activity becomes another planning task. Search results make that worse: dozens of generic listicles, route pages, and recommendations create more screen time before the person ever reaches the door.

The answer is one plan, not another feed.

The current version includes twelve curated outdoor activities, including:

Each activity contains structured information about suitable weather, duration, energy, company, equipment, safety, and a three-part activity sequence.

The result is intentionally compact. A user can copy the plan, close the browser, and leave.

WanderWise uses the Apache-2.0-licensed all-MiniLM-L6-v2 model through Transformers.js.

The model runs in the browser. It converts the user's natural-language intention and each activity description into normalized 384-dimensional embeddings. Cosine similarity then measures which activity is semantically closest to what the user needs.

const { pipeline } = await import ( ' https://cdn.jsdelivr.net/npm/@huggingface/transformers@3.8.1 ' ); const extractor = await pipeline ( ' feature-extraction ', ' Xenova/all-MiniLM-L6-v2 ' ); const output = await extractor ( text, { pooling: ' mean ', normalize: true, }); Enter fullscreen mode Exit fullscreen mode This is not an AI label attached to an otherwise deterministic form. Semantic similarity is the primary signal used to rank the activity catalog.

Semantic similarity understands that “my head is noisy and I need to breathe” may fit a calm sensory walk even when the user never writes the word “relax.” But semantics alone cannot guarantee a practical recommendation.

A two-hour hill walk may sound perfect while still being wrong for someone with thirty minutes, low energy, and rain.

WanderWise therefore combines the model score with explicit constraints:

final score = semantic similarity × 0.62 + duration compatibility + weather compatibility + energy compatibility + company compatibility Enter fullscreen mode Exit fullscreen mode This split gives the model the job it is good at—understanding intent—while ordinary code handles time, conditions, and safety.

flowchart LR A[Intent + practical constraints] --> B[Browser-local MiniLM embeddings] C[Curated activity catalog] --> B B --> D[Semantic similarity] A --> E[Constraint scoring] D --> F[Hybrid ranking] E --> F F --> G[Timeline + gear + safety cue] G --> H[Copy the plan and go outside] Why open innovation mattered here The user's prompt can reveal mood, energy, social context, and routine. None of that needs to be sent to an AI server just to choose between a bird sit and a short hike.

Running an open model locally gave this project four concrete advantages:

The static application has no user database, analytics SDK, or AI backend. Its service worker caches the app shell after the first visit. The model itself is downloaded on first use and cached by the browser.

The most useful bug appeared during live deployment.

My first model configuration pointed Transformers.js at an ONNX repository that did not contain the quantized filename the runtime requested. The page still returned a useful activity because I had already built a transparent lexical-and-constraint fallback—but the interface correctly labeled it Fallback match, not AI.

Browser logs exposed the missing model file. I switched to the browser-compatible Xenova/all-MiniLM-L6-v2 distribution documented by Transformers.js, versioned the cached assets, and tested again. The deployed app then reported:

all-MiniLM-L6-v2 is ready · inference stays on this device. Enter fullscreen mode Exit fullscreen mode The same rainy-day request produced an AI match for “A rain-listening loop.”

That failure changed the final product in three ways:

The interaction is deliberately not a chatbot.

A chat interface invites another question. WanderWise uses one small form and one recommendation card. The card contains only what someone needs outside:

The visual system uses forest green, warm cream, leaf green, and trail orange. The illustration and field-note styling make the page feel like the beginning of an outing rather than another productivity dashboard.

I ran a focused recommendation check with the prompt “just nature and lakes.” WanderWise suggested “A micro-hike with a summit.”

That result was useful because it was only a partial match: the hike fits the broad nature intent, but a summit does not honor the explicit lake preference strongly enough. It exposed the next evaluation target for the hybrid ranker—specific landscape words such as “lake,” “river,” and “forest” should outweigh a merely adjacent outdoor activity.

I have not presented this as a physical outdoor field test. The challenge lists field testing as bonus work, and an honest software test is more useful than inventing an outing that did not happen. A future field test will compare the recommendation with the actual place, conditions, and experience, without publishing a precise location.

The current version asks the user to describe the weather instead of requesting location access. That is intentional for the first release.

I would keep route generation out of the core unless it can be made safe and verifiable. WanderWise should recommend a kind of outing, not hallucinate a trail.

The biggest lesson was that useful AI does not have to generate paragraphs.

A small embedding model, a carefully designed local dataset, and transparent rules were enough to solve the actual product problem. The result is faster to understand, easier to test, cheaper to operate, and more private than a cloud chatbot.

More importantly, it knows when the interaction should end.

If WanderWise works, the best part of the experience happens after the tab is closed.

The application code is available under the MIT License. AI-assisted development and writing are disclosed on this submission.

This is a solo submission by Jagrat Bisht.

Expand Jason Y. (dev_in_the_fog) Jason Y. (dev_in_the_fog) Jason Y. (dev_in_the_fog) Follow Full-stack engineer & builder. Creator of NerdKit (global-utils.com), building zero-trust in-browser utilities and deep backend post-mortem playbooks. Location Seoul, South Korea Work Software Engineer / Creator of NerdKit Joined Oct 8, 2026 • Oct 10 Dropdown menu Copy link Hide Fascinating deep dive into AI workflows. Grounding outputs and evaluating latency budgets will be key as more agentic systems reach production.

Quelle: dev.to (dev.to). Original öffnen
I Built WanderWise: A Local-First AI Planner That Wants You to Close the Screen · AI News