Inspiration

Planning an event often means waiting for replies, keeping track of who can come, and scrambling when someone cancels. We wanted an assistant that turns those conversations into clear commitments through iMessage, a tool that everyone already uses.

What it does

Rally helps friends and teams coordinate events through individual iMessage conversations. It tracks responsibilities, proposes task assignments or replacements, and asks the affected person to confirm before changing a commitment. A lightweight iOS companion handles setup and displays shared event status.

How we built it

We built the backend with Convex, TypeScript, and shared Zod schemas, connected iMessage through Photon Spectrum, and created the iOS companion with SwiftUI and Auth0. A Claude/Codex worker interprets natural-language requests, while deterministic backend logic validates permissions, approvals, and state changes.

Challenges we ran into

The hardest part was separating a proposed plan from an actual commitment. We also had to handle duplicate messages, expired offers, simultaneous responses, messaging consent, and private information. Connecting messaging, the backend, the AI worker, and the app required careful contracts and integration testing.

Accomplishments that we're proud of

We established real Photon iMessage send-and-receive behavior and implemented event setup directly through text. We also built an integrated simulated rehearsal covering reassignment, acceptance, rejection, duplicate replies, worker outages, and matching backend app status. Core confirmation and status commands work without model access.

What we learned

A coordination assistant needs more than good language understanding: it needs reliable state, clear consent, and precise authorization. We learned to let AI suggest actions while keeping consequential changes behind validated rules and human confirmation. We also learned that simulated success and real-world verification are separate milestones.

What's next for Rally

We’re completing real multi-person reassignment tests and validating updates on a signed-in iOS device. Next, we plan to add event-linked group-chat support, with explicit consent and careful separation of shared information from private conversations.

Built With

Share this project:

Updates

Submission history