Work / Mobile

Up-To

A “less planning, more hanging” plans app: one-tap invites, a drag-to-paint availability grid, an iMessage stub.

Status
explored
Role
Solo: directed Google’s Antigravity agent
Timeline
Jun 2026 →
  • Next.js 16
  • React 19
  • Framer Motion
  • React Native 0.85
  • SwiftUI (Messages framework)
  • TypeScript

TL;DR

  • Up-To asks how little planning it takes to get friends out the door.
  • It started as a web prototype of one-tap invites and pivoted toward native: a React Native availability grid and a SwiftUI iMessage extension stub.
  • I directed Google’s Antigravity agent through both in one short session.

What I built

  • Web prototype (Next.js 16): a feed of invites, an activity picker (yap, food, coffee, games, music and more) and a one-tap “I’m down / Can’t make it” RSVP.
  • Native (React Native 0.85): an availability grid you paint and erase by dragging across five weekdays and twelve hours.
  • iMessage extension (SwiftUI): a create view that composes an invite message for the conversation.

Status

Explored. The invites are hardcoded, there’s no backend, and the iMessage extension was never added to the Xcode project or compiled. A Supabase backend and the Xcode build were the planned next steps.

Verified numbers

MetricValueSource
Availability grid5 days × 12 hours, drag to paint or eraselocal: UptoApp/src/components/When2MeetGrid.tsx:15-58
m.mittal
Home
Work
Research
Lab
About
Experience
Now
Résumé
Uses
Colophon
Contact
AccountWardin-build
Redlbuilt
The Councilresearch
BEMAresearch
EXIT LIQUIDITYin-build
NEXUSarchived
Warrant + Forgebuilt
Concordarchived
BlueCollarPalin-build
Chispenbuilt
Warrant Portalbuilt
JobAppin-build
Night/Dayexplored
BLACKSITE: NULLin-build
SlugBitesbuilt
Riptidebuilt
AeroBitesarchived
Internbuilt
CAD & 3D printingexplored
ForgeCouncilexplored
ADDE: adversarial due-diligence engineexplored
Model routing in practiceexplored
AI due-diligence market mapexplored
Quorumarchived
Colossus Wakeexplored
FitFindrbuilt
Project Omniexplored
Oblivionexplored
MeetWisebuilt
EyeOSexplored
LinkLeap AIexplored
Up-Toexplored
Offline speech-to-notes (Java)explored
AI-assisted game production pipelineexplored
COLLAPSEarchived
THE TRIALSarchived
EcoNodearchived
ESP32-S3 / LoRa benchexplored
CleanPlaybuilt
Rezonyrbuilt
Habit Tracker Telegram Botbuilt
Job Board Aggregatorin-build
Visual Hand Trackbuilt
CLI Task Trackerbuilt
All work44 entries
Can’t Hallucinate, Can Still Be Wrong: Calibration of a Typed-Decision Model Under Input Noisepaper
Disagreement as Signal: A Hybrid Multi-Agent and Council Architecture for Error Detection in LLM Systemspaper
Killing Good Ideasessay
Uncorrelated Failure Modesessay
ADDE: adversarial due-diligence engineexplored
AI due-diligence market mapexplored
AI-assisted game production pipelineexplored
Aura Chatexplored
Colossus Wakeexplored
EcoNodearchived
ESP32-S3 / LoRa benchexplored
EyeOSexplored
FitFindrbuilt
ForgeCouncilexplored
LinkLeap AIexplored
MeetWisebuilt
Model routing in practiceexplored
Offline speech-to-notes (Java)explored
Oblivionexplored
Print benchexplored
Project Omniexplored
Provably-fair outcome enginebuilt
Quorumarchived
Up-Toexplored
Copy hello@mitanshm.com
Switch theme
Play motion
RésuméPDF
Open GitHub ↗mit37
Open LinkedIn ↗
Toggle layout gridh
Toggle single-key shortcuts/ h