BikeControl (SwiftControl)
Use Zwift Click, Zwift Play, Shimano Di2, or any Bluetooth controller with MyWhoosh, Rouvy, Zwift, and more. Free to try on iOS, Android, Windows, and macOS.
Weather-aware walking and running for Greater Amman. Find when and where to go, record your outing, and keep your history on your device.
Sports & fitnessTypeScript · CSSGitHub @hummamyassinOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Outdoor activity intelligence platform for weather-aware planning, GPS activity tracking, maps, and personalized recommendations in Greater Amman.
Taken from the repository README
Loading the full README.
Read the full README ↗Outdoor activity intelligence for Greater Amman: plan with live conditions, track walks and runs, analyze local progress, and share privacy-aware recaps.
VAELORA is a bilingual web application and installable PWA for deciding when and where to be active outdoors. It combines deterministic weather-aware recommendations, reviewed activity places, location-aware discovery, GPS activity recording, local analysis, mapping, and a grounded AI assistant.
Plan → Track → Analyze → Share
Open the live application · Current release: v2.5.0 (changelog) · Current geographic focus: Greater Amman, Jordan
Outdoor plans depend on more than a temperature reading. VAELORA combines walking or running intent, outing duration, time, weather preferences, nearby context, and documented place characteristics to produce clear options without silently relaxing constraints.
Weather primarily helps determine when conditions are suitable and secondarily helps compare where to go. The recommendation engine remains deterministic and evidence-aware: unknown terrain, surfaces, access, or conditions stay unknown, and the product does not present recommendations as safety guarantees.
| Stage | What VAELORA does |
|---|---|
| Plan | Choose walking or running, duration, day, preferences, and an optional location. Review the VAELORA Score, live conditions, complete outing windows, nearby places, and alternatives. |
| Track | Record a foreground activity with browser geolocation, a live route, timer, distance, pace, speed, and explicit pause, resume, and finish controls. |
| Analyze | Review the saved route, activity metrics, available start-weather context, history, weekly progress, and separate walking/running pace statistics when valid. |
| Share | Generate one of three local 1080×1440 activity cards with endpoint privacy zones, or explicitly export the precise route as GPX. |
Captured from the production build with synthetic forecast data and simulated GPS.
| Area | Implementation |
|---|---|
| Application | Next.js App Router, React, TypeScript, Tailwind CSS |
| Maps | MapLibre GL with OpenStreetMap raster tiles |
| Weather | Open-Meteo, normalized through a server-side weather pipeline |
| Recommendations | Pure deterministic domain logic with configurable scoring and best-time policies |
| AI | Provider adapter with Groq and OpenAI support; production currently uses Groq |
| Local data | IndexedDB for activities and drafts; bounded browser storage for profile, preferences, and saved areas |
| PWA | Web app manifest, service worker, same-origin public shell assets |
| Hosting | Vercel |
VAELORA keeps product presentation, external data, deterministic decisions, local activity data, and AI orchestration separate:
Detailed design and validation notes live in docs/.
Ask VAELORA is a focused recommendation interface rather than an unrestricted chatbot. The model interprets an English or Arabic request and produces validated structured intent. VAELORA's deterministic tools then resolve eligibility, weather, constraints, scoring, time windows, and matches. Final answers are checked against tool output and include a safe factual action trace instead of hidden reasoning.
The provider sits behind an adapter, and AI credentials remain in server-only environment variables. On the public deployment, live AI runs only when the Vercel Firewall rule vaelora-api is published and VAELORA_AI_PUBLIC_ENABLED=true is set. Otherwise Ask runs in an on-device mode: it shows the current plan and answers questions about your own activities without calling a model. Manual planning never depends on AI.
See AI agent architecture, contracts, configuration, and evaluation.
VAELORA uses a local-first activity model:
NEXT_PUBLIC_ prefix, and must never be committed.See production security and privacy controls and the V2.3 privacy notes.
The repository includes offline domain, dataset, weather, security, tracking, UI, navigation, backup and AI contract tests. The v2.5.0 release validation (October 26, 2026) records:
These results use synthetic or mocked inputs where documented. Browser GPS validation is not physical-device field certification, and offline AI replay evaluates contracts and grounding rather than live-model language accuracy.
See the v2.5.0 release notes, V2.3 verification, V2.1 QA, and weather validation.
Use Node.js 24 LTS and npm.
npm ci
npm run dev
Open http://localhost:3000. Planning, maps, weather, and local tracking do not require an AI credential. Optional server-only AI configuration is documented with placeholders in .env.example.
npm run validate
npm test
npm run eval
npm run typecheck
npm run lint
npm run build
The same checks run in GitHub Actions on every pull request and on pushes to main (.github/workflows/ci.yml). CI reads no secrets; AI checks use the offline replay evaluation.
npm run qa:browser runs the synthetic Playwright flows in English and Arabic at 320, 390, 430 and 1440 px. It needs Playwright (VAELORA_PLAYWRIGHT_MODULE may point to an installed copy), Microsoft Edge (VAELORA_BROWSER_CHANNEL to override) and a running server (VAELORA_QA_URL, default http://localhost:3001). It is not part of CI.
npm run smoke:weather performs a controlled live Open-Meteo check. npm run smoke:agent uses a configured live provider; neither is required for offline unit tests. Never commit .env.local or API credentials.
Production runs on Vercel from main at vaelora-chi.vercel.app. Server-only AI settings and the firewall rule are described in production security; without them, the deployment serves planning, tracking and the on-device Ask mode.
VAELORA currently supports walking and running. It does not include authentication, social feeds, cloud GPS storage, wearables, or native mobile tracking.