Dino

Dino is a playful personal assistant agent that can pay autonomously using Stellar network, can organize your calendar, report city incidences, and even allows to play a game with your camera!

  • 4,832 Raised
  • 58 Views
  • 24 Judges

Tags

  • No tag

Gallery

Description

Stellar Dino 🦖: a personal agent that spends only what you let it

WHAT IT DOES

Stellar Dino is a travel companion shaped like the Chrome offline dinosaur. You chat with Dino to plan a trip to Lisbon. It searches flights, finds a museum that suits your taste, and fits everything into your calendar, allowing for landing time, the trip from the airport and a buffer. Then it offers you a proposal card. When you tap Accept, the payment runs on Stellar testnet from your smart wallet. The agent signs that payment with its own key, and the wallet only lets it pay within the spending limit you set.

Dino also keeps working after the booking:

- Delayed flight → automatic replanning. When the airline's oracle reports a delay, the airline contract refunds the 20% it held back on the ticket. Dino then moves your museum visit to the next free slot that still fits (rescheduling is free and done on-chain) and tells you what changed.

- Recycling credits. You recycle a bottle at the airport machine by scanning a one-time QR code, and you earn a 0.50 USDC credit. At the airport shop, a sustainable product costs you the price minus that credit, and a government subsidy pool pays the difference. Both payments happen in one Soroban transaction.

- Street problem reports (Lisbon). You take a photo of a pothole or an overflowing bin. A vision model writes a ready-to-submit report in European Portuguese for the city's "Na Minha Rua LX" portal: category, severity, description and location from the photo's GPS data or a map pin. It also flags duplicates within 30 m. The report's fingerprint is anchored on Stellar, and the Government account pays a 0.50 USDC civic reward. Later, Dino asks you whether the problem was fixed. (Sending the report to the real portal is mocked.)

- Motion Dino game. Ask Dino for something active to do indoors and it opens a multiplayer Chrome-Dino runner. You control it with your body through the webcam: jump or squat. Friends join by scanning a QR code.

WHAT MAKES IT UNIQUE

- The agent's authority is enforced on-chain. The user's wallet is an OpenZeppelin smart account. Rule 0 belongs to the user's owner key. Rules 1–4 give the agent key access only to USDC transfers (under a spending-limit policy) and to the shop, airline and museum contracts. The agent cannot raise or bypass the limit; only the user can.

- Every value flow is a real contract. There are five Soroban contracts: airline (with the escrow hold), museum, shop + recycling, smart wallet and spending-limit policy. Each event carries a readable note, for example "subsidy_paid: 0.50 USDC by Government for product Bamboo bottle", so anyone can check what happened on stellar.expert.

- The agent acts on events, not only on chat. A flight delay causes a refund, a reschedule and a message to you, and you don't have to type anything.

- A live actors console shows each actor's balance and latest transactions: user, government, recycler, shop, airline, museum and oracle. Each transaction links to the explorer.

TRACKS

- Main: Agents on Stellar. Two Stellar capabilities run and shape what the agent can do: Authority (smart wallet with a policy signer and spending limit) and Money (on-chain payments, escrow, refunds, subsidies and rewards on testnet).

- Also relevant:

- Sustainability: at the shop counter, the recycling credit and the subsidy make the sustainable product the cheaper choice.

- Social Good: street problem reports for Lisbon residents, with a pt-PT report and a civic reward.

- Open: the body-controlled multiplayer Dino game.

THE ROLE OF AI

- Agent (tool calling): an LLM runs a multi-step tool loop with 16 tools, including search_flights, list_museums, museum_slots, where_am_i, travel_time, delay_impact, reschedule_museum, shop_products, check_credit, propose and open_report. It works out dates, locations and travel times, picks the best option and proposes it. The user always confirms payments. Reschedules after a delay run without asking because they are free.

- Vision: a model turns a street photo into a structured report (category, severity, safety risk, confidence, pt-PT and English descriptions). It leaves out personal data and rejects photos that don't show a problem in public space.

- Computer vision: MediaPipe pose detection turns jumps and squats into game controls.

- Design choice: calculations that must be exact, such as delay impact and free slots, run in code. The model receives the facts and decides what to do and what to say.

TECH STACK

- App: Next.js 16 (App Router, TypeScript), React 19, Tailwind 4, hosted on Vercel.

- Stellar: Soroban contracts in Rust (soroban-sdk, OpenZeppelin stellar-accounts), @stellar/stellar-sdk, a demo USDC asset through its Stellar Asset Contract, and classic transactions with memo + manageData for report fingerprints. Everything runs on testnet.

- AI: OpenAI Responses API for the agent loop and vision, MediaPipe Tasks Vision for pose detection.

- Data / realtime: Supabase (Postgres + Realtime for events, the multiplayer game and the demo control panel).

- Other: Leaflet with Nominatim (geocoding, check that the address is in Lisbon), exifr (photo GPS), QR codes for recycling, checkout and joining the game.

LINKS AND MEDIA

- Live demo: https://stellar-dino.vercel.app (the password is 1234)

- Source code: https://github.com/arnauthedev/stellar-dino

Attachments