<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: keshav sharma</title>
    <description>The latest articles on DEV Community by keshav sharma (@keshav_sharma_8fcb0417ded).</description>
    <link>https://dev.to/keshav_sharma_8fcb0417ded</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4152506%2Fc2932527-0722-4a74-ae9b-e8fdbf82f96f.png</url>
      <title>DEV Community: keshav sharma</title>
      <link>https://dev.to/keshav_sharma_8fcb0417ded</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/keshav_sharma_8fcb0417ded"/>
    <language>en</language>
    <item>
      <title>study Buddy pro</title>
      <dc:creator>keshav sharma</dc:creator>
      <pubDate>Sat, 03 Oct 2026 13:38:42 +0000</pubDate>
      <link>https://dev.to/keshav_sharma_8fcb0417ded/study-buddy-pro-15o6</link>
      <guid>https://dev.to/keshav_sharma_8fcb0417ded/study-buddy-pro-15o6</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-weekend-2026-10-01"&gt;Hacktoberfest Weekend Challenge: Build for a Friend&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  StudyBuddy PRO — A Zero-Distraction Study Companion Built for My Friend
&lt;/h1&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;I built &lt;strong&gt;StudyBuddy PRO&lt;/strong&gt; for my best friend and study partner, Alex, who has been preparing for technical certification exams while juggling a demanding job. &lt;/p&gt;

&lt;p&gt;struggled with two persistent problems that were destroying their study momentum:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Tool fragmentation &amp;amp; context switching&lt;/strong&gt;: They bounced between three different apps every evening — a timer app, a flashcard app, and note-taking docs. Every context switch broke focus and introduced temptation to check social media or messages.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Subscription walls, tracking, and noise&lt;/strong&gt;: Every commercial study app Alex tried bombarded them with upgrade popups, required cloud logins, had intrusive ads, or locked spaced-repetition and quiz generation behind costly monthly subscriptions.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Alex needed a &lt;strong&gt;simple, beautiful, offline-first "all-in-one sanctuary"&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A &lt;strong&gt;customizable Pomodoro timer&lt;/strong&gt; that adapts to their energy levels (Focus, Short Break, Long Break, with quick &lt;code&gt;+5m&lt;/code&gt;/&lt;code&gt;-5m&lt;/code&gt; adjustments).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Interactive 3D Flashcards&lt;/strong&gt; for active recall with memory hints and keyboard-first navigation (&lt;code&gt;Space&lt;/code&gt; to flip, &lt;code&gt;1&lt;/code&gt; for review, &lt;code&gt;2&lt;/code&gt; for mastered).&lt;/li&gt;
&lt;li&gt;An &lt;strong&gt;instant Quiz Master&lt;/strong&gt; that can automatically transform any flashcard deck into a timed multiple-choice practice test in a single click.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Synthesized ambient focus audio&lt;/strong&gt; (Rain, Pink Noise, and 14Hz Alpha waves) powered 100% offline via the Web Audio API — eliminating the need for Spotify, YouTube, or background streaming tabs.&lt;/li&gt;
&lt;li&gt;An animated &lt;strong&gt;Study Buddy Mascot&lt;/strong&gt; (Fox, Owl, Robot, or Cat) that offers encouraging micro-interactions and tracks daily study streaks.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Everything runs entirely in the browser with local storage persistence. No accounts, no paywalls, no tracking — just pure, joyful focus.&lt;/p&gt;




&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Live Local Demo&lt;/strong&gt;: The project runs locally with zero installation overhead — simply open [&lt;code&gt;https://keshav-eng-create.github.io/StudyBuddy-pro-/&lt;/code&gt;] in any modern browser.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Repository&lt;/strong&gt;: &lt;a href="https://github.com/keshav-eng-create/StudyBuddy-pro-" rel="noopener noreferrer"&gt;https://github.com/keshav-eng-create/StudyBuddy-pro-&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Key Highlights in Action:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;⏱️ &lt;strong&gt;Circular Pomodoro&lt;/strong&gt;: Dynamic SVG stroke animation with glowing mode accents (Indigo for focus, Emerald for short breaks, Cyan for long breaks).&lt;/li&gt;
&lt;li&gt;🗂️ &lt;strong&gt;3D Card Flip&lt;/strong&gt;: Realistic CSS 3D perspective transforms with instant flipping and smooth physics.&lt;/li&gt;
&lt;li&gt;📝 &lt;strong&gt;Auto-Quiz Generation&lt;/strong&gt;: Turn any deck into a multi-question quiz with instant explanations and celebration confetti.&lt;/li&gt;
&lt;li&gt;🎧 &lt;strong&gt;Offline Ambient Sound&lt;/strong&gt;: Pure programmatic audio synthesis (no external audio files needed).&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/keshav-eng-create" rel="noopener noreferrer"&gt;
        keshav-eng-create
      &lt;/a&gt; / &lt;a href="https://github.com/keshav-eng-create/StudyBuddy-pro-" rel="noopener noreferrer"&gt;
        StudyBuddy-pro-
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-weekend-2026-10-01" rel="nofollow"&gt;Hacktoberfest Weekend Challenge: Build for a Friend&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;StudyBuddy PRO — A Zero-Distraction Study Companion Built for My Friend&lt;/h1&gt;
&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;What I Built&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;I built &lt;strong&gt;StudyBuddy PRO&lt;/strong&gt; for my best friend and study partner, Alex, who has been preparing for technical certification exams while juggling a demanding job.&lt;/p&gt;
&lt;p&gt;Alex struggled with two persistent problems that were destroying their study momentum:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Tool fragmentation &amp;amp; context switching&lt;/strong&gt;: They bounced between three different apps every evening — a timer app, a flashcard app, and note-taking docs. Every context switch broke focus and introduced temptation to check social media or messages.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Subscription walls, tracking, and noise&lt;/strong&gt;: Every commercial study app Alex tried bombarded them with upgrade popups, required cloud logins, had intrusive ads, or locked spaced-repetition and quiz generation behind costly monthly subscriptions.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Alex needed a &lt;strong&gt;simple, beautiful, offline-first "all-in-one sanctuary"&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A &lt;strong&gt;customizable Pomodoro timer&lt;/strong&gt; that adapts…&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/keshav-eng-create/StudyBuddy-pro-" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;The codebase is available on GitHub: &lt;a href="https://github.com/keshav-eng-create/StudyBuddy-pro-" rel="noopener noreferrer"&gt;&lt;strong&gt;keshav-eng-create/StudyBuddy-pro-&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It is engineered with lightweight, dependency-free vanilla web technologies for maximum portability and speed:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;├── index.html         # Semantic structure, modal dialogs, SVG mascot components
├── style.css          # Glassmorphic dark/light design system &amp;amp; 3D CSS transforms
├── app.js             # State machine, Pomodoro ticker, flashcard &amp;amp; quiz engines
├── audio.js           # Web Audio API sound synthesizer (chimes, clicks, ambient noise)
├── default-data.js    # Preloaded learning science decks &amp;amp; web development quizzes
└── README.md          # Complete project overview &amp;amp; user guide
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Core Architecture Highlights:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Web Audio API Synth Engine&lt;/strong&gt;: In &lt;code&gt;audio.js&lt;/code&gt;, rain and pink noise are generated on-the-fly using looped noise buffers and biquad filters, and Alpha waves are synthesized using phase-offset sine oscillators.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;1-Click Flashcard-to-Quiz Compiler&lt;/strong&gt;: In &lt;code&gt;app.js&lt;/code&gt;, the app analyzes deck cards, draws randomized distractors from companion cards, and synthesizes multiple-choice questions with automatic validation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Full Data Sovereignty&lt;/strong&gt;: All decks, custom quizzes, progress history, and companion settings are saved to &lt;code&gt;localStorage&lt;/code&gt; with full JSON Export and Import capabilities.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;How I Built It&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Facdkc6xmmhjhhkpwudsn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Facdkc6xmmhjhhkpwudsn.png" alt=" " width="800" height="371"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjn2deg0kioo64aakox7k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjn2deg0kioo64aakox7k.png" alt=" " width="800" height="368"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdw3f7gdxuyiv7vxeil51.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdw3f7gdxuyiv7vxeil51.png" alt=" " width="799" height="364"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I designed and built StudyBuddy PRO pair-programming with an agentic AI assistant using modern open-source web fundamentals:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Architecture &amp;amp; Design&lt;/strong&gt;: Designed a high-aesthetic glassmorphic UI using Vanilla CSS tokens, modern typography (&lt;code&gt;Outfit&lt;/code&gt; and &lt;code&gt;Plus Jakarta Sans&lt;/code&gt;), and accessible ARIA attributes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Web Audio Engineering&lt;/strong&gt;: Instead of bundling heavy &lt;code&gt;.mp3&lt;/code&gt; or &lt;code&gt;.wav&lt;/code&gt; files that can fail offline or require external CDN hosting, we used the browser's native &lt;code&gt;AudioContext&lt;/code&gt; to synthesize timer bells, button clicks, card flip whooshes, and focus soundscapes programmatically.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Active Recall &amp;amp; Quiz Pipeline&lt;/strong&gt;: Built an algorithmic converter that turns user-created flashcard cards into 4-choice quizzes with distractors and explanations, helping my friend practice spaced testing without manual test preparation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Browser Subagent Verification&lt;/strong&gt;: Automated end-to-end testing verified timer increments, keyboard accessibility, 3D flip card responsiveness, and local storage retention.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Why Does Open Innovation Matter?
&lt;/h2&gt;

&lt;p&gt;Open innovation is what made building this tool for Alex possible in a single weekend:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Accessibility over Gatekeeping&lt;/strong&gt;: Commercial ed-tech often locks proven cognitive learning techniques (spaced repetition, flashcard quizzes) behind expensive subscriptions. Open-source tooling democratizes study aids for students and self-learners globally.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Privacy &amp;amp; Offline Resilience&lt;/strong&gt;: Closed cloud apps require personal logins and log telemetry on every interaction. With open, client-side web standards, my friend's study data, notes, and schedules remain entirely private on their local device, functioning even without an active internet connection.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hackability &amp;amp; Customization&lt;/strong&gt;: Because the application is modular and open, Alex can import custom JSON decks, adjust timer algorithms, or adapt the codebase for their classmates and friends.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  My Agent Session
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;Built collaboratively with AI pair programming using Antigravity and DevRelay.&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Hacktoberfest Weekend Challenge: Build for a Friend&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>hf26challenge</category>
    </item>
  </channel>
</rss>
