DEV Community

Tuan (Felix) Nguyen
Tuan (Felix) Nguyen

Posted on AI-assisted

I Built StudyNest to Make Scattered Study Notes Easier to Review

What I built

StudyNest turns scattered study notes into a small, usable study space. You can save notes in your browser, ask questions grounded in those notes, generate five practice questions with suggested answers, or get a short summary. A VI / EN switch changes both the interface and the language of the AI response.

StudyNest home page in English with the VI/EN language switch

I built it during the Hacktoberfest Weekend Challenge and tested it myself with a Python lesson. I asked, “Why does result equal 34?” StudyNest explained that append(10) changes [7, 8, 9] to [7, 8, 9, 10], and 7 + 8 + 9 + 10 = 34. That answer came from the note rather than from an unrelated explanation of Python.

StudyNest answering a question about a Python note

I have not handed it to a friend yet, so I cannot claim feedback from someone else. For now, the real test is my own study workflow and yes, since I don't have any friends so I am still looking for a friend to give it to XDDD.

Why open AI matters here

StudyNest uses the open-weight openai/gpt-oss-20b model through Groq's API. I originally tried running a model locally, but the download was too large for the free space on my computer. Serving an open-weight model through Groq kept the project usable without that download. The model can be changed through configuration without changing the study workflow.

There is a tradeoff: notes stay in the browser until you request an AI feature, but then their content is sent to Groq for inference. The app says this clearly in the interface.

How it works

The front end is a single HTML file. A small Python HTTP server serves it and calls Groq through the official Python SDK. Notes are stored in browser localStorage. For each AI request, the server sends the notes as reference material and instructs the model to answer only from them or say when they do not contain the answer. The language switch is included in that request, so a note can be reviewed in Vietnamese or English.

The Groq key is read from a local config.py file or a deployment environment variable. config.py is ignored by Git; config_example.py shows the configuration format. The public demo also limits AI requests to 30 per hour to keep shared usage bounded.

Demo and source code

What I learned and what comes next

A useful AI project can be small: a clear input, a grounded response, and a way to check what the model says. The hardest practical constraint was making the app run on the computer I had. Next I want to add note export and an interactive quiz where learners answer before seeing the suggested answers.

Top comments (0)