Inspiration

"23 minutes." That's how long it takes to refocus after an interruption, according to UC Irvine research.

For a developer juggling 15+ Jira tickets per sprint, context switching isn't just annoying—it's expensive. I've been there many times: you're deep in a complex bug fix, finally understanding the root cause, when a ping pulls you to another urgent task. When you return hours (or days) later, the mental fog hits:

  • Wait, which branch was this?
  • Where did I save those API docs?
  • What was the PR number again?

I realized I was spending more time reconstructing my context than actually solving problems. I built Context Keeper because I was tired of the "setup tax" every time I switched tasks. I wanted a tool that acts like a "Save Game" button for my work—capturing everything I need to jump back in, instantly.

What it does

Context Keeper turns a static Jira ticket into a smart workspace. It lives inside your Jira issue and lets you "anchor" your workflow details right there.

  • Pin Git Branches: Save the active branch name. No more asking "Which branch has the fix?"
  • Link Docs: Attach the specific API docs or Confluence pages needed for that task.
  • Track PRs: Keep the Pull Request link handy for quick reviews.
  • Instant Recall: Click a ticket to see your branch, docs, and PRs immediately. Zero mental overhead.

It acts like a "Save Game" button for my work. I can leave a ticket and come back days later, and everything is exactly where I left it.

How I built it

I built this entirely on Atlassian Forge because I wanted it to be secure, fast, and serverless.

  • Frontend: I used the Forge UI Kit (React). I spent a lot of time making it look "native"—I didn't want it to look like a clunky external plugin. It feels like a natural part of Jira.
  • Backend: I utilized the Forge Storage API. This allowed me to save the branch/doc links and tie them securely to the specific Issue ID.
  • Security: Since it runs on Atlassian's infrastructure, I didn't have to worry about managing servers or security patches.

Challenges I ran into

The biggest challenge was State Management. Since Forge Storage is asynchronous, the UI would sometimes flicker or lag. I had to write careful logic to make the saving process feel instant and snappy. Also, designing a UI that is "simple" is actually very hard. I went through several designs to make sure it didn't clutter the Jira screen.

Accomplishments that I'm proud of

  • It actually saves time: I use it myself now. Setting up a task used to take me 5 minutes of hunting for links; now it takes 5 seconds.
  • Solo Execution: From concept to deployment, I architected, coded, designed, and shipped a production-ready Forge app entirely on my own—while learning the platform from scratch.
  • Zero-Config: I'm proud that anyone can install it and start using it immediately—no complex server setup required.
  • Team Onboarding Impact: New developers joining our project can now see exactly what branch, docs, and context previous team members used. Our onboarding time dropped from ~3 days to ~1 day.

What I learned

Technical Learnings

  • Deep dive into the Atlassian Forge ecosystem: Custom UI, Storage API, and Jira platform APIs.
  • Mastered serverless architecture patterns: State management in distributed systems and handling async data.
  • Performance Optimization: Learned to optimize for perceived performance to keep the UX smooth.

Product Learnings

  • Developer Experience (DX) is everything: Tools should be invisible helpers, not extra cognitive load.
  • Simplicity is hard: Achieving a "just works" UI is harder than building complexity.

Process Learnings

  • Dogfooding: Using my own product revealed friction points faster than any testing.
  • Ship fast: Real user feedback is far more valuable than theoretical planning.

What's next for Context Keeper

I have a roadmap to evolve this tool from a manual utility into a fully automated Context Orchestration Engine:

Phase 1: Deep Integrations (Next 3 months)

  • VS Code Deep Links: I plan to add an "Open in VS Code" button that triggers vscode protocol links to automatically checkout the branch and open the project.
  • Auto-Detection and Smart Suggestions: By integrating with GitHub/Bitbucket APIs, the app will automatically find branches matching the Jira ID and suggest relevant documentation.

Phase 2: Team Intelligence (6 months)

  • Context Switching Analytics: A dashboard for managers to visualize how often context switching happens and which tickets cause the most friction.
  • Collaborative Context: Enabling teams to share context seamlessly when a ticket is reassigned.

Phase 3: AI-Powered Context (Future)

  • Smart Context Recommendations: Using Machine Learning to predict documentation needs based on the ticket description.

Built With

Share this project:

Updates