Productivity Chrome Extension

Gamified Task Manager

Role

Full-Stack Developer / UX Designer

Role

Full-Stack Developer / UX Designer

Role

Full-Stack Developer / UX Designer

Industry

Productivity / Personal Tools

Industry

Productivity / Personal Tools

Industry

Productivity / Personal Tools

Duration

1 week

Duration

1 week

Duration

1 week

Frog hit by Lightning
Frog hit by Lightning
Frog hit by Lightning

Stage 1. Empathize – Identifying the Problem

  • Pain point: Endless task lists in Todoist made it hard to pick what to do next.

  • User research: Informal peer feedback showed others also struggled with decision fatigue and analysis paralysis.

Stage 2. Framing the Challenge

  • How might we reduce decision paralysis for busy professionals using task management apps?

  • Solution requirements:

    • Quick to access (not buried in Todoist menus).

    • Fun + frictionless, like pressing “shuffle.”

Stage 3. Ideate – Exploring Solutions

First attempt: A Python script that fetched tasks via the Todoist API and printed a random one in the console.

  • Limitation: No UI, not easily repeatable.

  • Pivot: Use Chrome Extension framework for a one-click, lightweight interface.

Stage 1. Empathize – Identifying the Problem

  • Pain point: Endless task lists in Todoist made it hard to pick what to do next.

  • User research: Informal peer feedback showed others also struggled with decision fatigue and analysis paralysis.

Stage 2. Framing the Challenge

  • How might we reduce decision paralysis for busy professionals using task management apps?

  • Solution requirements:

    • Quick to access (not buried in Todoist menus).

    • Fun + frictionless, like pressing “shuffle.”

Stage 3. Ideate – Exploring Solutions

First attempt: A Python script that fetched tasks via the Todoist API and printed a random one in the console.

  • Limitation: No UI, not easily repeatable.

  • Pivot: Use Chrome Extension framework for a one-click, lightweight interface.

a cellphone leaning against a wall
a cellphone leaning against a wall
a cellphone leaning against a wall
a cell phone on a rock
a cell phone on a rock
a cell phone on a rock

Stage 4. Prototype – Building the Extension

  • Created manifest.json, popup.html, and popup.js.

  • Designed a simple popup UI with a single “Surprise Me!” button.

  • Implemented async API calls to fetch tasks due today/tomorrow and return one at random.

Stage 5. Test – Peer Feedback + Iteration

  • Tested internally with my own Todoist account.

  • Shared demo with peers in my UX community; feedback suggested:

  1. Adding task priority filtering.

  2. Improving styling for visual appeal.

  3. Debugging error handling when API token expired.

Chrome Extension Overview
Chrome Extension Overview
Chrome Extension Overview
File Structure
File Structure
File Structure
JavaScript Logic
JavaScript Logic
JavaScript Logic

Reflections

This project taught me how to structure a Chrome Extension and work with real-world APIs using JavaScript. I learned to handle async requests, debug extension behavior, and design a minimal UI for maximum impact. More importantly, I saw how small productivity tools can meaningfully change daily workflows.

Reflections

This project taught me how to structure a Chrome Extension and work with real-world APIs using JavaScript. I learned to handle async requests, debug extension behavior, and design a minimal UI for maximum impact. More importantly, I saw how small productivity tools can meaningfully change daily workflows.

Other projects

Vivian C.R. James

Copyright 2025 by Vivian C.R. James

Vivian C.R. James

Copyright 2025 by Vivian C.R. James

Vivian C.R. James

Copyright 2025 by Vivian C.R. James