<?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: Pro-Sultan</title>
    <description>The latest articles on DEV Community by Pro-Sultan (@prosultan).</description>
    <link>https://dev.to/prosultan</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%2F1104115%2F0f317058-2ed3-44c0-825b-35e535cd5da9.png</url>
      <title>DEV Community: Pro-Sultan</title>
      <link>https://dev.to/prosultan</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/prosultan"/>
    <language>en</language>
    <item>
      <title>Proof of Practice-Nobody Sees the 4 AM Practice. Now There's Proof It Happened.</title>
      <dc:creator>Pro-Sultan</dc:creator>
      <pubDate>Sun, 12 Jul 2026 20:54:32 +0000</pubDate>
      <link>https://dev.to/prosultan/proof-of-practice-nobody-sees-the-4-am-practice-now-theres-proof-it-happened-37km</link>
      <guid>https://dev.to/prosultan/proof-of-practice-nobody-sees-the-4-am-practice-now-theres-proof-it-happened-37km</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for &lt;a href="https://dev.to/challenges/weekend-2026-07-09"&gt;Weekend Challenge: Passion Edition&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;Proof of Practice is a decentralized ledger that turns invisible daily dedication into a permanent, verifiable record. &lt;/p&gt;

&lt;p&gt;Passion is defined by the effort we put in when no one is watching—the late-night coding sessions, the scale drills, the quiet hours of studying. Too often, this grind disappears without a trace. Proof of Practice makes that work visible. It captures your reflections via voice or text, analyzes your logs using Google Gemini, synthesizes spoken coaching feedback with ElevenLabs, tracks your progress on a streak dashboard, and lets you mint verified learning milestones directly to the Solana Devnet blockchain.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Live Link:&lt;/strong&gt; &lt;a href="https://proof-of-practice.vercel.app/" rel="noopener noreferrer"&gt;proof-of-practice.vercel.app&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Guest Access:&lt;/strong&gt; Click &lt;strong&gt;"Try Demo Mode"&lt;/strong&gt; to test instantly with a temporary Solana Devnet keypair generated on the fly (no Phantom extension setup needed).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/u006yq-T2Ro"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Repository:&lt;/strong&gt; &lt;a href="https://github.com/devsultan06/pop" rel="noopener noreferrer"&gt;github.com/devsultan06/pop&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;Proof of Practice is built using &lt;strong&gt;Next.js 15 (App Router)&lt;/strong&gt;, &lt;strong&gt;TypeScript&lt;/strong&gt;, and &lt;strong&gt;Tailwind CSS&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;The core application workflow coordinates four API-driven services in a single server-side workflow:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Snowflake (The Memory):&lt;/strong&gt; Every log request retrieves the user's last 5 practice sessions from a Snowflake data warehouse using connection-pooled SQL binds. This gives the AI full context of the user's ongoing learning history. The session details are then saved back to Snowflake to populate the analytics dashboard.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Google Gemini (The Brain):&lt;/strong&gt; We use &lt;code&gt;gemini-3.5-flash&lt;/code&gt; to read the user's transcription history and logs. It acts as a supportive coach, generating structured JSON feedback that addresses what the student practiced. Gemini also writes a cinematic 40-word narrative script when a milestone is minted.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ElevenLabs (The Voice):&lt;/strong&gt; The feedback is converted into natural speech using ElevenLabs' &lt;code&gt;eleven_turbo_v2&lt;/code&gt; model with a standard pre-made voice (&lt;strong&gt;Roger&lt;/strong&gt;). This audio is rendered inside a custom visualizer bubble. We wrapped this call in a &lt;code&gt;try-catch&lt;/code&gt; safety net: if ElevenLabs hits rate limits, the app continues gracefully with the text-only feedback.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Solana (The Proof):&lt;/strong&gt; Streaks and milestones are minted to the blockchain. The backend builds a Solana Memo Program transaction containing JSON metadata of the milestone, signs it with a server-side authority key, and broadcasts it to Devnet. The confirmed signature links directly to the Solana Explorer.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Interactive Frontend Details:&lt;/strong&gt; The user interface features custom-designed Light/Dark modes, a live voice recording canvas visualizer utilizing the Web Audio API &lt;code&gt;AnalyserNode&lt;/code&gt;, and haptic sounds generated dynamically via HTML5 Web Audio API oscillators.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Best Use of Snowflake&lt;/strong&gt; (Context-aware retrieval and session persistence)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Best Use of Solana&lt;/strong&gt; (On-chain milestone minting via Solana Memo transactions)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Best Use of ElevenLabs&lt;/strong&gt; (AI feedback text-to-speech synthesis and narrated trailer voices)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Best Use of Google AI&lt;/strong&gt; (Practice analysis and JSON generation with Gemini 3.5 Flash)&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
    </item>
    <item>
      <title>A Brief History of JavaScript</title>
      <dc:creator>Pro-Sultan</dc:creator>
      <pubDate>Mon, 19 Jun 2023 09:56:11 +0000</pubDate>
      <link>https://dev.to/prosultan/a-brief-history-of-javascript-2kfl</link>
      <guid>https://dev.to/prosultan/a-brief-history-of-javascript-2kfl</guid>
      <description>&lt;p&gt;History of JavaScript:&lt;/p&gt;

&lt;p&gt;JavaScript often abbreviated as Js,is a programming language that's one of the core technologies of the world wide Web, alongside HTML and CSS. JavaScript was invented by Brendan Eich in the year 1995. It was developed by Netscape 2 and became the ECMA-262 Standard in 1997.&lt;/p&gt;

&lt;p&gt;JavaScript is one of the most popular programming language that represents one of the three core languages used to develop websites, alongside HTML and CSS. &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--SHQFBlVd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/la5q7mgcjgpju515dmy7.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SHQFBlVd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/la5q7mgcjgpju515dmy7.jpg" alt="Image description" width="720" height="570"&gt;&lt;/a&gt;&lt;br&gt;
Whereas HTML and CSS give a website structure and style, JavaScript lets you add functionality and behaviors to your website. This allows visitors to interact with your website in various creative ways.&lt;/p&gt;

&lt;p&gt;JavaScript is a programming language that lets web developers design interactive sites. Most of the dynamic behavior you'll see on a web page is thanks to JavaScript, which augments a browser's default controls and behaviors. Meaning without Js our website with forever and infinitely be static &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--UT7MMTEJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l14s6lqb7jmlzvz4utfe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UT7MMTEJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l14s6lqb7jmlzvz4utfe.png" alt="How JavaScript works" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Uses of JavaScript in encapsulation:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--uDVtANib--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8k1qhfy2z2d9os0hjsdm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--uDVtANib--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8k1qhfy2z2d9os0hjsdm.png" alt="Image description" width="800" height="371"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Since we've walked through the history and overview of JavaScript it's now time to take on the race in getting started learning JavaScript &lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
