Inspiration

An open tab is not a plan. A checked box is not proof. And “I’ll get back to it” is how commitments disappear.

Everyone knows the feeling: you return to your laptop, a draft is half-written, several tabs are open, and someone is waiting for a response. You remember starting the work. You cannot remember where you stopped—or what was supposed to happen next.

This happens to students juggling assignments, founders managing opportunities, professionals switching between projects, and teams coordinating across time zones. Interruptions turn unfinished work into forgotten commitments.

We saw a gap between remembering tasks and following through on them. A task list can capture a goal, but it does not necessarily preserve your thinking, identify who should act next, or confirm that the work actually happened.

We built Where Was I? to connect productivity with accountability: recover your context, take the next action, and close the loop with evidence.

What it does

Where Was I? organizes unfinished commitments into open loops. Each loop brings together the information you need to move work forward:

  • What remains unfinished: an unanswered message, an unsubmitted assignment, an interrupted application, or a commitment entered in plain English.
  • Who acts next: whether the work is waiting on you, a teammate, or a reviewer.
  • The concrete next action: “Attach the deck and reply to Alex” gives you a clear place to start.
  • Why it is still open: an explanation supported by the available source evidence.
  • Where you stopped: the stopping point and saved draft, with a route back to the exact step.
  • What you were thinking: typed or voice breadcrumbs that preserve decisions, questions, and context before you step away.
  • Whether completion is verified: a distinction between “Completed by you” and “Verified,” so a self-reported completion does not automatically become confirmed evidence.

It also supports recurring commitments, blockers, dependencies, and questions such as “What am I waiting on?” and “What should I do next?”

We built three prototypes to demonstrate the same idea across different settings:

  • Student: homework submission, group-project coordination, and an interrupted internship application.
  • Founder: investor follow-ups, landing-page approval, accelerator applications, and recurring routines.
  • Enterprise: assignments, employee acceptance, blockers, handoffs, submission, review, requested changes, and approval.

The current prototypes use clearly labeled simulated integrations to demonstrate detection and verification.

In Enterprise, managers can see work status and dependencies without collecting keystrokes, passive screenshots, browsing history, or productivity scores. Employees choose which breadcrumbs their manager can see.

How we built it

We built three standalone applications using Next.js 15, React 19, TypeScript, and Tailwind **CSS v4**.

The prototypes run without a backend. State persists in localStorage, and the Enterprise manager and employee views share the same local workspace state. Assignments and lifecycle changes therefore appear across both views within the demo.

We created simulated services—including Demo Gmail, Demo Canvas, Demo Browser, a design workspace, and an application portal—that write events into shared state. Where Was I? uses those events to explain why commitments remain open and check for completion evidence.

A deterministic local language parser handles supported phrases for dates, recurrence, context, blockers, and meeting outcomes. The prototype does not call an AI API.

A commitment state machine manages actions such as assignment, acceptance, checkpointing, blocking, resuming, submission, review, and approval. These transitions update ownership and record timeline events. Status explanations and dependency views are derived from the underlying state.

We used Playwright end-to-end tests for the Enterprise demo flow, persistence, reset behavior, themes, and mobile layout. Claude assisted with coding, with iterations guided by screenshots and test results.

Challenges we ran into

Making integrations convincing and transparent. We wanted a connected experience while clearly identifying every simulated source and event.

Separating completion from verification. Work can be reported complete, lack evidence, require review, or reopen after feedback. Representing those distinctions took more care than implementing a checkbox.

Preserving context without inventing it. Suggestions and inferred blockers must remain distinguishable from what the user actually wrote. They should require confirmation before changing a commitment.

Handling ambiguous language. Phrases such as “Friday” or “by 5” need context. We used a fixed demo clock to make supported examples predictable.

Balancing team visibility with privacy. Managers need actionable information about delays and dependencies. Employees need control over the context they share.

Getting lifecycle details right. Resuming interrupted work and reopening work after requested changes are different events, with different implications for ownership.

We also encountered a TypeScript compatibility issue with Next.js configuration loading and resolved it by pinning TypeScript 5.

Accomplishments that we're proud of

We built three working prototypes with persistent state and complete demonstration flows.

Our strongest moment is the product’s namesake: “Where was I?” restores the goal, stopping point, breadcrumb, blocker, next action, and place to resume.

We are also proud of making accountability understandable. Users can inspect why work remains open, see who owns the next step, and distinguish a completion claim from supporting evidence.

The Enterprise prototype demonstrates useful coordination through intentional work updates and employee-controlled breadcrumb sharing.

Across the prototypes, we added light, dark, and system themes, plus custom accent colors while keeping status colors consistent.

What we learned

A task name is not enough to restart work. People also need their stopping point, reasoning, and a manageable next action.

Ownership makes status useful. “Blocked” becomes actionable when the system explains what is missing and who can provide it.

Accountability depends on clear expectations and evidence. Knowing what counts as complete helps both the person doing the work and the person waiting for it.

Transparency builds trust. Explanations, visible sources, and confirmation before changes help users understand and control the system.

Accessibility improves everyday usability. Reducing memory demands and making next steps clear can help people with attention or executive-function difficulties while serving anyone managing interruptions.

Finally, a reliable prototype taught us more than an unpredictable demonstration. Simulated sources let us test the full workflow without depending on API access.

What's next for Where Was I

Our next step is to test the product with students, individuals, founders, and teams—including people with ADHD—to understand where context recovery provides the most value.

We plan to add:

  • Real integrations with Gmail, Google Calendar, Canvas, Slack, Figma, and GitHub through OAuth, accessing only the work signals needed for each commitment.
  • Cross-device sync and mobile support, so context captured on a phone is available when work resumes at a desk.
  • AI-assisted summaries and next actions, clearly labeled and requiring confirmation before changes.
  • Ownership-aware reminders that surface when the user has an action to take.
  • An accessibility audit covering keyboard navigation, screen readers, reduced motion, and plain-language flows.
  • Localization and time-zone-aware coordination to support people and teams working across languages and regions.
  • Enterprise pilots measuring blocked time, review turnaround, and whether people can resume work with less reconstruction.

Our goal is to make Where Was I? useful wherever commitments happen—from an individual’s unfinished application to a team’s next handoff.

Remember the context. Know the next move. Close the loop.

Built With

Share this project:

Updates

Submission history