# Proof of Practice-Nobody Sees the 4 AM Practice. Now There's Proof It Happened.

> Source: <https://dev.to/prosultan/proof-of-practice-nobody-sees-the-4-am-practice-now-theres-proof-it-happened-37km>
> Published: 2026-07-12 20:54:32+00:00

*This is a submission for *[Weekend Challenge: Passion Edition](https://dev.to/challenges/weekend-2026-07-09)

##
What I Built

Proof of Practice is a decentralized ledger that turns invisible daily dedication into a permanent, verifiable record.

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.

##
Demo

-
**Live Link:** [proof-of-practice.vercel.app](https://proof-of-practice.vercel.app/)
-
**Guest Access:** Click **"Try Demo Mode"** to test instantly with a temporary Solana Devnet keypair generated on the fly (no Phantom extension setup needed).

##
Code

##
How I Built It

Proof of Practice is built using **Next.js 15 (App Router)**, **TypeScript**, and **Tailwind CSS**.

The core application workflow coordinates four API-driven services in a single server-side workflow:

-
**Snowflake (The Memory):** 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.
-
**Google Gemini (The Brain):** We use `gemini-3.5-flash`

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.
-
**ElevenLabs (The Voice):** The feedback is converted into natural speech using ElevenLabs' `eleven_turbo_v2`

model with a standard pre-made voice (**Roger**). This audio is rendered inside a custom visualizer bubble. We wrapped this call in a `try-catch`

safety net: if ElevenLabs hits rate limits, the app continues gracefully with the text-only feedback.
-
**Solana (The Proof):** 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.
-
**Interactive Frontend Details:** The user interface features custom-designed Light/Dark modes, a live voice recording canvas visualizer utilizing the Web Audio API `AnalyserNode`

, and haptic sounds generated dynamically via HTML5 Web Audio API oscillators.

##
Prize Categories

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