DEV Community

Saurabh Raj
Saurabh Raj

Posted on

The Project I Couldn’t Finish 2 Years Ago - Notebook for ChatGPT

GitHub “Finish-Up-A-Thon” Challenge Submission

This is a submission for the GitHub Finish-Up-A-Thon Challenge

What I Built

ChatGPT for Notebook - Chrome Extension

Two years ago, while using ChatGPT, I kept having the same thought: “Why does this feel so temporary?”

Some conversations genuinely changed how I thought about problems, ideas, and learning itself. But once the chat disappeared into the sidebar, it was practically gone, and I would have to start a new conversation for the same stuff again.

So I started building a Chrome extension called Notebook for ChatGPT.

The original unfinished repository still exists today:
chatgpt-note-taker-extension

But I eventually stopped working on it, partly because Chrome extensions are difficult, once you move beyond simple DOM manipulation. Partly because I was juggling work, life, and too many unfinished side projects.

This Finish-Up-A-Thon finally pushed me to return to it properly.

The finished version transforms ChatGPT into something closer to a real thinking workspace. Users can highlight important parts of responses, attach notes to specific sections, bookmark entire AI messages, tag conversations for retrieval later, and search everything from a dedicated side panel.

You can save reusable prompts, export chats as Markdown or beautifully formatted PDFs, and even queue follow-up questions directly on selected text without interrupting your reading flow.

Underneath all these features is one core belief: AI conversations are slowly becoming intellectual assets. But most interfaces still treat them like disposable chats. Notebook for ChatGPT was built to fix that.

Demo

Chrome web store (try it out): https://chromewebstore.google.com/detail/gdkookocbeohhfjjpiekdkmconjeehkj?utm_source=item-share-cb

The old unfinished repo: chatgpt-note-taker-extension

Finished project: chatgpt-refine

Note: The finished project is intentionally kept private for now since I plan to continue building and expanding it further. If you'd like to review the codebase as part of the challenge, please feel free to contact me at me4saurabh4u@gmail.com, and I’ll gladly add you as a collaborator.

Video walkthrough:

The Comeback Story

The funny thing about unfinished projects is that they never fully leave your mind.

Every few months, I would revisit the old repository, scroll through the code, then quietly close the tab again. he idea still felt important, but reopening the project always felt overwhelming because I knew how much work remained.

The early version barely held together. It only implemented the core interaction I originally cared about: selecting text from a ChatGPT response, clicking an “Add to Note” popup, and sending that text into a side panel with a Notion-like editor where users could collect and organize thoughts before exporting or storing them somewhere else.

But the current version goes far beyond that original concept.

What started as a simple note-taking utility slowly evolved into a full knowledge layer for ChatGPT conversations. The extension now supports highlights, inline notes, follow-up questions attached directly to text selections, conversation tagging, bookmarks, reusable prompts, searchable saved knowledge, Markdown exports, customizable PDF exports, backup/import support, and much more.

The biggest shift was realizing I wasn’t building a “notes extension.” I was building a way to treat AI conversations like knowledge worth keeping.

My Experience with GitHub Copilot

GitHub Copilot with Claude Opus 4.7 accelerated the project to a huge extent.

It wasn’t just useful for boilerplate or autocomplete. It genuinely helped during architecture and problem-solving decisions. For example, while building the highlighting system, I wanted an approach that would remain robust even if ChatGPT’s DOM structure changed over time. Copilot helped explore multiple layered fallback strategies instead of relying on a single fragile implementation; very similar to the resilience patterns used by mature products in this space.

It also made execution dramatically faster. A lot of repetitive implementation work, UI scaffolding, utilities, and experimentation that normally would have taken days became much quicker to build and iterate on.

The biggest advantage, though, was momentum. Features that would usually remain “unfinished side project ideas” actually got shipped because the feedback loop between ideation and implementation became incredibly fast.

Top comments (0)