Inspiration
I was reading PyTorch documentation and was overwhelmed by its difficult documentation and constant stream of unknown terms. So, to help me with this, I tried some AI explainer chatbots and extensions, but none of them actually satisfied me. Then, after days of introspection, I realised three core issues:
Not fast enough: Even the fastest applications felt unsatisfactory, as they would break my reading flow. I felt the problem lay in the process.
The lack of context: Explanations showed a lack of context. For example, I used one on the term “momentum” from the PyTorch docs, and the applications responded with the context of the physics term instead.
The need for deeper explanations: Explanations often used terms and things I did not know beforehand. So, I ended up Googling the explanation of the explanation or asking in a follow-up chat. I would mostly end up on a different page, which reintroduced the above problems for me.
I tried a lot of applications in this regard. A few of them tried addressing #2 to a limited extent, but none of the applications meaningfully addressed all of them . #1 and #3 were a miss for all.
So, I decided to build ClickNote for myself.
How we built it
I started with a rough instinct of what I felt was broken in the existing tools. The ideation went through a lot of back and forth with GPT-5.6 and Sol. It helped me turn the rough idea into a clear picture of what I wanted ClickNote to be.
Before building, I planned around the three USP solutions. Once the ideation part was clear, I decided to build it as a Chrome extension in plain JavaScript, HTML, and CSS, with a FastAPI backend, PostgreSQL for usage data, Clerk for authentication, and OpenRouter for generating the explanations. Most of the code was written with Codex. GPT-5.6 and Sol were used throughout development to troubleshoot bugs, verify fixes, test edge cases and improve reliability of the application.
What it does
ClickNote helps you understand complex content as you read. Most AI explainers answer a single question, but ClickNote is designed around the way people actually learn, through it's unique solutions:
- Context-aware (doesn't explain in isolated definitions and answers)
- Infinite drill-down (select any part of the explanation to go deeper, still in context )
- Low-Friction process– Just Highlight text and get an explanation instantly, without breaking your flow
Challenges we ran into
I expected a few challenges, mainly on the coding side, but got hit with different problems as well. A few of them were tackled more easily than I thought, while a few others lingered. To start, I do not have a lot of experience in coding applications. I am happy that most of the coding part was handled smoothly by Codex.
Next, one of the problems I ran into was crafting the system prompt. A generic system prompt produced explanations that were too broad in scope or disconnected from the context. A more specific system prompt was just too narrow. I drafted different system prompts for different models. This led to me revising the prompt many times. I still do not find the output fully satisfactory and see a need for improvement in that part.
Lastly, just when I thought things were done, I ran into publication-related issues with Chrome. I was not familiar with the amount of compliance-related work Chrome required for publishing an extension. I wanted to register ClickNote as a trader platform, as it is needed for monetization, but got hit with an unending list of mandatory EU compliance requirements. After wasting time on this, I realized that I could not comply with its laws at this stage and decided to scrap the paid tier completely and register as a non-trader application. Needless to say, this is still a problem, as I wanted to keep the Pro tier.
What we learned
I learned the importance of speed, both as a technical metric and as part of the user experience and realized its significance in the application.
What’s next for ClickNote
My immediate focus would be enabling the Pro tier, then improving ClickNote’s technical metrics and refining the product. The next phase will focus heavily on distribution. I plan to reach prospective users, such as students, researchers, developers, and other people who regularly work with complex material, through different marketing and distribution channels. I aim to grow ClickNote’s user base and turn it into a sustainable business.
Built With
- chrome
- clerk
- docker
- fastapi
- javascript
- openrouter
- postgresql
- python
- vercel
Log in or sign up for Devpost to join the conversation.