You are browsing as a guest. Sign up (or log in) to start making projects!

hariharann

@hariharann

Joined June 6th, 2026

  • 24Devlogs
  • 7Projects
  • 6Ships
  • 61Votes
yo i am from india love building and hacking won several hackathons etc looking forward to this :)
Ship

Tecora — local Chrome extension that puts Claude, ChatGPT, and Gemini chats in one library.

Problem: AI history is scattered across platforms/accounts. Searching, organizing, and exporting is painful.

QoL:
1. Cross-platform capture + folders/tags/resume in one place
2. Ctrl/Cmd+K search over your chats
3. Local export (md/json/zip) + privacy toggles — nothing leaves the device
a lot more tbh

Test: download the release zip → Load unpacked → open
Claude/ChatGPT/Gemini logged in.

https://github.com/nothariharan/Tecora/releases/tag/v0.1.0

Try project → See source code →
Open comments for this post

1h 35m 53s logged

posted a demo comprising all the features to get feedback from people on x / reddit etc

( had to use clideo to compress 🥀🥀)

0
0
12
Open comments for this post

4h 45m 41s logged

update 3 — usage · today · code · digests τ

last update was three platforms. this one is where tecora stops being “a nicer chat list” and starts helping with the actual day

what shipped

real usage
claude + chatgpt live quota from the open tab — % · reset · plan badge
local estimates stay separate on purpose. gemini has no endpoint so we dont fake one

projects
chatgpt + claude project chats finally show up in the library

today panel
tasks (manual + auto from chats) · notes scratchpad · cached yesterday recap
all on device

draggable τ dock
drag anywhere · Search / Today / Library · position remembered

on-device digests
chrome summarizer (gemini nano) + extractive fallback
cached on resume cards · nothing uploaded

dev layer

  • code gallery + language-aware “code only” search
  • jump-to-code in the palette
  • zip exports code as real files
  • copy-with-context · > prompt snippets
  • secret warn-before-send (never blocks)

why it mattered

folders alone was organizer energy
quota + today + digests + code is what makes the τ dock feel worth keeping open across all three ais

still local first

no backend · no cloud · no tecora account
just a layer on the sites you already live in

next up

canvas / artifact gallery · less fragile folders/tags · native rename/delete
more sooooooooooooooooooooooon

0
0
14
Open comments for this post

8h 10m 4s logged

Tecora – update 2 — three platforms + a real mark ✨

heyyyyy back again

last time tecora only really lived on claude. that was the plan on purpose. this update is the one where chatgpt and gemini actually show up too, and the extension stops lying about which site youre on

what shipped

all three big boys in the side panel

claude · chatgpt · gemini
same folders search export vibe — just not stuck on one site anymore

gemini was being weird for a bit

the in-page ctrl/cmd+k palette knew it was gemini
the side panel still said “on claude” and showed claude chats 😭

fixed that — the panel now follows the actual tab youre looking at instead of whatever chat got upserted last

also stopped patching fetch on gemini for no reason. it was just making google’s own csp noise look like our fault

branding

tecora mark is now lowercase greek tau τ

  • floating overlay is a circle bottom right with a white outline
  • a bit bigger so you can actually find it
  • proper claude / chatgpt / gemini logos wired in too
  • i felt like it was sick idk why lol physics memories hit me

other polish

  • palette doesnt fake “1d ago” on every gemini chat anymore (gemini doesnt give real timestamps so we just dropped the fake days)
  • overlay + side panel finally agree on which platform youre on

still local first

nothing leaves your machine
no backend
no cloud
just a layer on top of the sites you already live in

why this update mattered ( earlier one was shi :/)

i use all three ais at once so a claude-only tool was only solving like 1/3 of the chaos

getting gemini + chatgpt in, and making the panel trust the tab youre on, is what makes tecora feel like one product instead of a claude plugin with hopes and dreams

next up

  • more hardening on export
  • make folders / tags feel less fragile
  • keep cleaning the rough edges from living inside someone elses spa
  • maybe ship a build that doesnt need a console archaeology session to debug platform detection lol

more so000oon

0
0
5
Open comments for this post

2h 11m 32s logged

updateee

the free render box kept dying 🔃
512mb oom · chat said backend not running · get started felt broken

this one is mostly: make prod stay up + make the landing feel like agents already live there


backend got LIGHTERR on purpose

dropped mongodb mcp entirely — no more node subprocess eating ram
dropped google adk + scrapling / playwright too

everything now goes through one atlas store via motor
agents · api · journal · graph · same path

  • single uvicorn worker
  • capped concurrency
  • smaller mongo pool
  • health comes back with store=atlas instead of hanging on cold start

chat + get started actually work again 🗣️

core idea sidebar talks to the orchestrator now
(not the wrong dialogue endpoint)

get started only clears a session on a real 404
cold starts say “agents waking up” instead of fake “service dead”

frontend points at the live render url that actually stays up

gemini can flake so we added bedrock nova pro as fallback
( mainly coz i got lots of aws credits lyin around )

if google is down, scaffolding / reasoning still goes


landing got the illustration pass ( very sick check it out )

threw out the overlapping stock agent cards
built a real idea → impact loop instead

made a proper animation with a lil help of AI on it but yeah

the loop

research → validate → build → test & learn → grow

dashed continuous feedback path underneath that animates
steps pulse on a timer so it reads like agents running the loop
not a static marketing row

CSS + SVG + lucide icons · no unsplash filler
matches the cofound dark terracotta vibe

agent cursors on the hero

orchestrator / researcher / builder / growth / validator

  • staggered wander so they dont all move at once
  • sometimes drift toward the idea input like theyre working
  • flee when your mouse gets close

whole point is multiple agents already on the job before you even type


dashboard chrome got quieter

killed duplicate brand / cta / export clutter
across top bar · left rail · action bar

canvas can breathe
one home per control


next

oauth → multi-project → fewer firefights more product

try it → cofounder-alpha.vercel.app

poke the landing cursors · open a workspace · yell if something 503s again :)

0
0
13
Open comments for this post
Reposted by @hariharann

12h 1m 33s logged

from planning gym on fire red to building a pokemon card portfolio lol

Where We At Now

this was originally started in macondo now in stardance for age related issues ( yes i am old 🥀)

and now some version of it is working ig

The Front Face

recreated the fire red gba trainer card layout. looks super clean.

  • gba trainer card header flanked by white pokeballs
  • stats capsules: name (hariharan), money (role: ai & web dev), pokedex (projects: 24/150), time (exp: 1+ year), started date (oct 2024)
  • trainer sprite: custom mascot sprite in a rounded box
  • badges row: slot 1 holds a custom pixel-art yc logo badge, other slots are empty placeholders

Interactive Card Mechanics

  • 3d tilt: card rotates on hover tracking mouse coordinates
  • zoom controls: plus/minus snap scale buttons with spring physics
  • float animation: slow sine-wave bobbing that pauses on hover so buttons are stable targets

The Back Face

flips over to show a custom data file.

  • 4 slanting columns: projects, experience, honors, skills
  • columns expand on hover and show custom retro backgrounds
  • dynamic details block at the bottom updates based on hovered column
  • buttons to enter the main portfolio

The Wild Transition & Main Page

  • white flash transition: entering the portfolio flashes screen white like a wild pokemon fight entry
  • minimal portfolio: dark theme, hero, about, experience, projects, skills, honors
  • reverse easter egg: back to trainer card button in footer triggers reverse flash transition
  • deep links: coming from a card back tab scrolls smoothly straight to that section on layout mount
    and the minimal main portfolio:

few things which still needs to be done includes:

  1. proper sprites for my character , icons , wallpapers, etc
  2. proper minimal version of my website with proper routing sectiosn and a file based storage on sqlite or something like that ( mainly to save blogs and shi )
  3. autmoated script fetching from my github projects and linkedin posts

ANDDD MOST IMPORTANTLY : NEED TO BUILD MYSELF AN PERSONAL AI ASSISTANT in front page whihc has access to my knowledge vault and answers all questions about me directly as a portfolio sub assistant

the sprites are work in progress soon to come

0
1
21
Open comments for this post
Reposted by @hariharann

22h 13m 58s logged

first: why this is one giant devlog instead of a bunch of small ones 🤔

ok so quick context before the actual product dump

ive been shipping this under hack club macondo this whole time. i had multiple journals (devlogs) posted there everything was fine until i tried to ship it which then hit me with the ‘u r ‘old’ unc’ so i had to shift programs and here i am

that means im not gonna re-post every old macondo update one by one. this single post is the catch-up. everything we built so far in one place. after this normal session-by-session posts continue on stardance

live: https://slopmark.vercel.app
repo: https://github.com/nothariharan/benchmark


what slopmark even is

slopmark = the honest slop detector

public ai benches are cooked. contamination. saturation. goodhart. vibes scoring. llm-as-judge lying to itself

so we built an open eval platform where every model eats the same harness and a rule-based verifier decides pass/fail. never another llm judging another llm

spine is dumb on purpose:

novel task → fixed harness → behavioral verifier → score + receipt

if a model sounds smart but misses the contract it fails. that is the whole product


architecture real quick

next.js on vercel · eval in lib/harness + lib/eval · providers: openrouter / aiml / fireworks / byok · ~364 seed tasks · rule verifiers only

deploy trick: vercel has no sqlite so curated results are committed as results.json and the site just reads them. challenges = curated forever sprints. sessions = ad-hoc byok runs that dont pollute the scoreboards

ok architecture done. sessions are the real work


the sessions

revisitable sprints. fixed tasks. fixed models. fixed harness. run the grid. commit the receipt. anyone can reopen later and see who failed what

1. niche sprint v1

https://slopmark.vercel.app/challenge/niche-sprint-v1

6 aiml models x 10 mixed niche tasks = 60 runs. zero_context. procedural + extract + html + 8-word constraint + json + regex

gemini 2.5 flash 90% · deepseek v3 70% · gpt-4o mini + llama 3.1 8b 60% · ministral + qwen 50%

every model ate dirt on the 8-word constraint. that one task justified the whole sprint

2. drawing contest v1

https://slopmark.vercel.app/challenge/drawing-contest-v1

text models only. raw svg. no image models. html_contract verifier + live gallery

10 draws (house cat snowman bicycle rocket etc). 5 fireworks models

gpt-oss 120b + glm 5.1 = 100%. rest at 90%. common miss: rocket flame color. looking fine is not passing

3. game night v1

https://slopmark.vercel.app/challenge/game-night-v1

same fireworks lineup. party-game instruction contracts: no-e pizza lipogram, pirate wifi, questions-only db explain, taboo cat, 12-word black holes, printer haiku with jam, ALL CAPS chef, haunted house review, internet in one word

gpt-oss 90% · deepseek 60% · kimi 30% · glm 5.2 20% · glm 5.1 10%

drawing said everyone can draw kinda. game night said almost nobody can shut up and follow a party rule under zero context


everything else around it

bench + byok · build your own sprint (/challenges/new) · sessions wall · realshot duels · goal games · hall of shame · leaderboard

started as arena, pivoted to verifier-first slopmark, stripped auth so vercel just works


where we at rn

shipped: verifier engine, 3 public sessions with committed receipts, byok + ad-hoc sprints, realshot/goal/shame/leaderboard, vercel json deploy

this post is the macondo → stardance handoff. product is slopmark. program is now stardance. building continues from here

2
1
344
Open comments for this post

12h 1m 33s logged

from planning gym on fire red to building a pokemon card portfolio lol

Where We At Now

this was originally started in macondo now in stardance for age related issues ( yes i am old 🥀)

and now some version of it is working ig

The Front Face

recreated the fire red gba trainer card layout. looks super clean.

  • gba trainer card header flanked by white pokeballs
  • stats capsules: name (hariharan), money (role: ai & web dev), pokedex (projects: 24/150), time (exp: 1+ year), started date (oct 2024)
  • trainer sprite: custom mascot sprite in a rounded box
  • badges row: slot 1 holds a custom pixel-art yc logo badge, other slots are empty placeholders

Interactive Card Mechanics

  • 3d tilt: card rotates on hover tracking mouse coordinates
  • zoom controls: plus/minus snap scale buttons with spring physics
  • float animation: slow sine-wave bobbing that pauses on hover so buttons are stable targets

The Back Face

flips over to show a custom data file.

  • 4 slanting columns: projects, experience, honors, skills
  • columns expand on hover and show custom retro backgrounds
  • dynamic details block at the bottom updates based on hovered column
  • buttons to enter the main portfolio

The Wild Transition & Main Page

  • white flash transition: entering the portfolio flashes screen white like a wild pokemon fight entry
  • minimal portfolio: dark theme, hero, about, experience, projects, skills, honors
  • reverse easter egg: back to trainer card button in footer triggers reverse flash transition
  • deep links: coming from a card back tab scrolls smoothly straight to that section on layout mount
    and the minimal main portfolio:

few things which still needs to be done includes:

  1. proper sprites for my character , icons , wallpapers, etc
  2. proper minimal version of my website with proper routing sectiosn and a file based storage on sqlite or something like that ( mainly to save blogs and shi )
  3. autmoated script fetching from my github projects and linkedin posts

ANDDD MOST IMPORTANTLY : NEED TO BUILD MYSELF AN PERSONAL AI ASSISTANT in front page whihc has access to my knowledge vault and answers all questions about me directly as a portfolio sub assistant

the sprites are work in progress soon to come

0
1
21
Ship

-> slopmark is an open ai eval platform where models get the same harness and a rule-based verifier scores them (no llm-as-judge). live at --->>> https://slopmark.vercel.app <<<----

-> check the three sessions: niche sprint, drawing contest (models draw raw svg very sick btw 🎨), and game night (party-game instruction traps, including the printer haiku 👾). also poke around /bench (byok), /shame, /leaderboard, and /goal if you want. source: https://github.com/nothariharan/benchmark

  • 1 devlog
  • 22h
Try project → See source code →
Open comments for this post

22h 13m 58s logged

first: why this is one giant devlog instead of a bunch of small ones 🤔

ok so quick context before the actual product dump

ive been shipping this under hack club macondo this whole time. i had multiple journals (devlogs) posted there everything was fine until i tried to ship it which then hit me with the ‘u r ‘old’ unc’ so i had to shift programs and here i am

that means im not gonna re-post every old macondo update one by one. this single post is the catch-up. everything we built so far in one place. after this normal session-by-session posts continue on stardance

live: https://slopmark.vercel.app
repo: https://github.com/nothariharan/benchmark


what slopmark even is

slopmark = the honest slop detector

public ai benches are cooked. contamination. saturation. goodhart. vibes scoring. llm-as-judge lying to itself

so we built an open eval platform where every model eats the same harness and a rule-based verifier decides pass/fail. never another llm judging another llm

spine is dumb on purpose:

novel task → fixed harness → behavioral verifier → score + receipt

if a model sounds smart but misses the contract it fails. that is the whole product


architecture real quick

next.js on vercel · eval in lib/harness + lib/eval · providers: openrouter / aiml / fireworks / byok · ~364 seed tasks · rule verifiers only

deploy trick: vercel has no sqlite so curated results are committed as results.json and the site just reads them. challenges = curated forever sprints. sessions = ad-hoc byok runs that dont pollute the scoreboards

ok architecture done. sessions are the real work


the sessions

revisitable sprints. fixed tasks. fixed models. fixed harness. run the grid. commit the receipt. anyone can reopen later and see who failed what

1. niche sprint v1

https://slopmark.vercel.app/challenge/niche-sprint-v1

6 aiml models x 10 mixed niche tasks = 60 runs. zero_context. procedural + extract + html + 8-word constraint + json + regex

gemini 2.5 flash 90% · deepseek v3 70% · gpt-4o mini + llama 3.1 8b 60% · ministral + qwen 50%

every model ate dirt on the 8-word constraint. that one task justified the whole sprint

2. drawing contest v1

https://slopmark.vercel.app/challenge/drawing-contest-v1

text models only. raw svg. no image models. html_contract verifier + live gallery

10 draws (house cat snowman bicycle rocket etc). 5 fireworks models

gpt-oss 120b + glm 5.1 = 100%. rest at 90%. common miss: rocket flame color. looking fine is not passing

3. game night v1

https://slopmark.vercel.app/challenge/game-night-v1

same fireworks lineup. party-game instruction contracts: no-e pizza lipogram, pirate wifi, questions-only db explain, taboo cat, 12-word black holes, printer haiku with jam, ALL CAPS chef, haunted house review, internet in one word

gpt-oss 90% · deepseek 60% · kimi 30% · glm 5.2 20% · glm 5.1 10%

drawing said everyone can draw kinda. game night said almost nobody can shut up and follow a party rule under zero context


everything else around it

bench + byok · build your own sprint (/challenges/new) · sessions wall · realshot duels · goal games · hall of shame · leaderboard

started as arena, pivoted to verifier-first slopmark, stripped auth so vercel just works


where we at rn

shipped: verifier engine, 3 public sessions with committed receipts, byok + ad-hoc sprints, realshot/goal/shame/leaderboard, vercel json deploy

this post is the macondo → stardance handoff. product is slopmark. program is now stardance. building continues from here

2
1
344
Open comments for this post
Reposted by @hariharann

1h 51m 48s logged

WE BACK AT IT FAMMM !! SLOP RETURNSSS

last time we shipped games + paint + memes. this update we went full fake windows mode. like 95/98/xp but wrong on purpose.


1. command.com 💻

real terminal vibes in the browser.

  • CRT screen + green text + beeps when u type too fast
  • fake filesystem (C:\Desktop, Windows, System32 etc)
  • commands like dir, cd, type, help, format (dont)
  • also has a tiny text adventure hidden in Adventure.slop

2. BSOD + BIOS reboot ( random )

spam maximize enough times or hit Slop Updates and boom.

classic blue screen → fake bios memory test → hard refresh. peak windows trauma.


3. My Computer + Explorer ( had to have it )

desktop finally feels like an actual pc.

thing what it does how it lies My Computer floppy / C: / cd / control panel A: and D: are broken lol Explorer tree + files tree is decorative. double click to open

4. Notepad + Calculator ( does it work ?? )

the boring apps every windows install had.

  • notepad → save fails half the time, text can scramble
  • calc → 30% chance wrong answer. math is optional now

5. Recycle Bin ♻️ ( 3R’s kids )

delete icons → they go here now (after the spin wheel still cooks u).

restore fails a lot. empty bin sometimes spawns something back. eco friendly? nah.


6. Run + Shut Down

start menu got real windows chrome.

  • Run… / Ctrl+R → try notepad, calc, cmd, winver, rickroll, format c:
  • Shut Down… → standby / shut down / restart / log off (log off does nothing useful)

also Programs ▸ submenu + Control Panel full of placebo settings.


7. desktop cleanup 🧹

feedback files were taking over the whole desktop so we nuked the pile.

right click empty desktop → clear feedback files if it happens again.


so far these are implemented might ship it coz idk honestly to do what more here so gimme ideas and recommendatiosn in comments

see ya when the next patch drops 🫡

live at: https://nothariharan.github.io/SlopOS/

0
1
100
Open comments for this post

1h 51m 48s logged

WE BACK AT IT FAMMM !! SLOP RETURNSSS

last time we shipped games + paint + memes. this update we went full fake windows mode. like 95/98/xp but wrong on purpose.


1. command.com 💻

real terminal vibes in the browser.

  • CRT screen + green text + beeps when u type too fast
  • fake filesystem (C:\Desktop, Windows, System32 etc)
  • commands like dir, cd, type, help, format (dont)
  • also has a tiny text adventure hidden in Adventure.slop

2. BSOD + BIOS reboot ( random )

spam maximize enough times or hit Slop Updates and boom.

classic blue screen → fake bios memory test → hard refresh. peak windows trauma.


3. My Computer + Explorer ( had to have it )

desktop finally feels like an actual pc.

thing what it does how it lies My Computer floppy / C: / cd / control panel A: and D: are broken lol Explorer tree + files tree is decorative. double click to open

4. Notepad + Calculator ( does it work ?? )

the boring apps every windows install had.

  • notepad → save fails half the time, text can scramble
  • calc → 30% chance wrong answer. math is optional now

5. Recycle Bin ♻️ ( 3R’s kids )

delete icons → they go here now (after the spin wheel still cooks u).

restore fails a lot. empty bin sometimes spawns something back. eco friendly? nah.


6. Run + Shut Down

start menu got real windows chrome.

  • Run… / Ctrl+R → try notepad, calc, cmd, winver, rickroll, format c:
  • Shut Down… → standby / shut down / restart / log off (log off does nothing useful)

also Programs ▸ submenu + Control Panel full of placebo settings.


7. desktop cleanup 🧹

feedback files were taking over the whole desktop so we nuked the pile.

right click empty desktop → clear feedback files if it happens again.


so far these are implemented might ship it coz idk honestly to do what more here so gimme ideas and recommendatiosn in comments

see ya when the next patch drops 🫡

live at: https://nothariharan.github.io/SlopOS/

0
1
100
Open comments for this post

2h 22m 16s logged

da monkey upgradesss -> leaderboard + results

shipped two big surface reworks this week.

leaderboard got its own hub. rankings, filters, and personal stats live on one page now & ofc no more bouncing between /stats and a tiny home board. cleaner rows, mode/duration toggles, and your own numbers sitting under the global board.

post-test results got rebuilt from scratch. one shared results view: wpm, accuracy, consistency, streak, and the session graph, instead of the old packed panel. same screen whether you just finished a run or are peeking at what a good score looks like. ( graph mite be reworked on again but eh )

mic still moves when you’re talking. words still have to earn their place.

👻 something ghosty is next. that’s all you’re getting its really cool trust 👀👀

0
0
18
Open comments for this post

2h 13m logged

Tecora - - first look ^_____^

hey this is my first update on tecora

tecora is a browser extension that sits on top of your ai and helps you actually manage your chats , personalize them , export them and many more

the idea is simple local first nothing leaves your machine no backend no cloud just folders search and export on your own device ( probably expand further )

what works so far

  • pulls your claude chat list into a side panel
  • folders so you can file chats (like the hari folder in the screenshot)
  • move chats into folders from the menu
  • title search + ctrl/cmd+k palette on the page
  • export chats to markdown single chat or a whole folder
  • flat black and white ui nothing fancy

why im building this

i use ai a lot on browser like chatgpt , gemini etc i use many at once thus not able to manage context properly so i am building something which can helm me do this

claude is first chatgpt and gemini come later once this core feels solid

next up

hardening export making sure folders stay reliable and cleaning up the rough edges from living inside someone elses spa

more updates soon

0
0
14
Open comments for this post
Reposted by @hariharann

3h 15m 53s logged

UPDATEE:: — stats, brave stt actually works, hydration fix

tl;dr

  • deepgram stt works on brave now (and edge) — words dissolve, wpm moves, no more fake “google speech blocked” errors
  • root cause: brave kills the vercel http audio bridge + we fell back to browser speech (which shields also blocks)
  • fix: brave/edge → render websocket proxy (wss://monkeyspeak.onrender.com/...); chrome/firefox still use vercel bridge
  • fixed utterance_end_ms=400 deepgram 400 spam (minimum is 1000 on live listen)
  • fixed bridge sending keepalive json into the pcm stream (corrupted audio, empty transcripts)
  • stats page + profile hub — streaks, achievements, session history, same minimal desk ui as home
  • live: https://monkeyspeak-delta.vercel.app
  • repo: https://github.com/nothariharan/monkeyspeak (commit might differ by the time u read — i keep pushing)

CHANGES::

deepgram / stt (the painful part)

routing by browser

browser path brave / edge websocket → render proxy → deepgram chrome / firefox (prod) same-origin POST /api/deepgram/live bridge on vercel localhost ws://localhost:8080 when backend is up, else bridge

🐜🪲🐞 that made it look dead

  1. utterance_end_ms=400 — deepgram returns http 400 on live ws below 1000ms. was baked into client urls. clamped to 1000 everywhere (client, bridge, render backend, server.js)
  2. keepalive in pcm body — http bridge was writing {"type":"KeepAlive"} into the upload stream every 3s. deepgram got garbage bytes, transcripts stayed empty, no obvious error in ui
  3. brave + duplex fetch — bridge connects, mic on, waveform moving, but ndjson response never streams back. zero words dissolved
  4. bad fallback — deepgram fail → auto webspeech → brave shields block google → ui says google is blocked even though user picked deepgram. now we don’t fallback on brave/edge when deepgram is preferred

other STT polish

  • bridge waits for BridgeReady before marking session ok
  • server-side keepalive via deepgram sdk on the bridge route (not in pcm stream)
  • removed verbose [STT:deepgram] console spam from prod — debug only with NEXT_PUBLIC_DEBUG_STT=true
  • gsap scale not eligible for reset warning fixed on momentum meter

stats + profile

  • new /stats dashboard — totals, streak, recent runs, wpm trend charts
  • profile hub drawer — nickname, activity heatmap, achievement badges
  • shared stats-* / desk css so stats doesn’t look like a different app
  • achievements + streak logic with unit tests (lib/achievements.ts, lib/stats/streak.ts)

UI / polish

  • home + results + settings aligned to same minimal desk style
  • daily challenge card, error/not-found pages match the rest
  • monkey favicon + readme/docs polish

Infra

  • GET /api/deepgram/proxy-health — same-origin render health check (browser never hits render directly, no cors scream)
  • render monkeyspeak-dg-proxy redeployed via render cli

what actually happened on brave

  1. user picks deepgram → app tries vercel http bridge
  2. brave never delivers streaming ndjson reliably
  3. fallback kicks webspeech → shields block google
  4. ui shows “brave shields may be blocking google’s speech service” — confusing af because user didn’t pick browser mode

fix was routing + stop lying via fallback. not more deepgram dashboard staring.


what’s next (maybe)

  • GHOST RACE — new mode where u speak against ur pb (most wanted)
  • signed run tokens so leaderboard posts tie to a finished test
  • shared rate limit (redis/kv) if leaderboard spam shows up
  • vendor ort wasm properly so vad worker stops whining in console

ok that was a lot of browser-specific nonsense for a monkey that just wants you to read words out loud 🐒🐒🍌


0
1
20
Ship 💀 Cursed

monkeyspeak update is live 🙊

spoken monkeytype —> read prompts out loud, get scored on speed and clarity. v0 had the core loop. this ship adds the stuff that makes it feel like a real app.

what's new:

leaderboard
global board via supabase — nickname + emoji after a run, no signup
home page 3-column layout with leaderboard, hero, and your personal best card
your top score card still tracks local pb for the current duration, not whoever is #1 globally
stats + profile

/stats dashboard — streak, totals, recent runs, wpm charts, achievements
profile hub drawer — activity heatmap, badges, lifetime stats
everything uses the same minimal desk ui as home
speech fixes

try it: monkeyspeak-delta.vercel.app
github.com/nothariharan/monkeyspeak

  • 3 devlogs
  • 7h
  • 17.31x multiplier
  • 63 Stardust
Try project → See source code →
Open comments for this post

3h 15m 53s logged

UPDATEE:: — stats, brave stt actually works, hydration fix

tl;dr

  • deepgram stt works on brave now (and edge) — words dissolve, wpm moves, no more fake “google speech blocked” errors
  • root cause: brave kills the vercel http audio bridge + we fell back to browser speech (which shields also blocks)
  • fix: brave/edge → render websocket proxy (wss://monkeyspeak.onrender.com/...); chrome/firefox still use vercel bridge
  • fixed utterance_end_ms=400 deepgram 400 spam (minimum is 1000 on live listen)
  • fixed bridge sending keepalive json into the pcm stream (corrupted audio, empty transcripts)
  • stats page + profile hub — streaks, achievements, session history, same minimal desk ui as home
  • live: https://monkeyspeak-delta.vercel.app
  • repo: https://github.com/nothariharan/monkeyspeak (commit might differ by the time u read — i keep pushing)

CHANGES::

deepgram / stt (the painful part)

routing by browser

browser path brave / edge websocket → render proxy → deepgram chrome / firefox (prod) same-origin POST /api/deepgram/live bridge on vercel localhost ws://localhost:8080 when backend is up, else bridge

🐜🪲🐞 that made it look dead

  1. utterance_end_ms=400 — deepgram returns http 400 on live ws below 1000ms. was baked into client urls. clamped to 1000 everywhere (client, bridge, render backend, server.js)
  2. keepalive in pcm body — http bridge was writing {"type":"KeepAlive"} into the upload stream every 3s. deepgram got garbage bytes, transcripts stayed empty, no obvious error in ui
  3. brave + duplex fetch — bridge connects, mic on, waveform moving, but ndjson response never streams back. zero words dissolved
  4. bad fallback — deepgram fail → auto webspeech → brave shields block google → ui says google is blocked even though user picked deepgram. now we don’t fallback on brave/edge when deepgram is preferred

other STT polish

  • bridge waits for BridgeReady before marking session ok
  • server-side keepalive via deepgram sdk on the bridge route (not in pcm stream)
  • removed verbose [STT:deepgram] console spam from prod — debug only with NEXT_PUBLIC_DEBUG_STT=true
  • gsap scale not eligible for reset warning fixed on momentum meter

stats + profile

  • new /stats dashboard — totals, streak, recent runs, wpm trend charts
  • profile hub drawer — nickname, activity heatmap, achievement badges
  • shared stats-* / desk css so stats doesn’t look like a different app
  • achievements + streak logic with unit tests (lib/achievements.ts, lib/stats/streak.ts)

UI / polish

  • home + results + settings aligned to same minimal desk style
  • daily challenge card, error/not-found pages match the rest
  • monkey favicon + readme/docs polish

Infra

  • GET /api/deepgram/proxy-health — same-origin render health check (browser never hits render directly, no cors scream)
  • render monkeyspeak-dg-proxy redeployed via render cli

what actually happened on brave

  1. user picks deepgram → app tries vercel http bridge
  2. brave never delivers streaming ndjson reliably
  3. fallback kicks webspeech → shields block google
  4. ui shows “brave shields may be blocking google’s speech service” — confusing af because user didn’t pick browser mode

fix was routing + stop lying via fallback. not more deepgram dashboard staring.


what’s next (maybe)

  • GHOST RACE — new mode where u speak against ur pb (most wanted)
  • signed run tokens so leaderboard posts tie to a finished test
  • shared rate limit (redis/kv) if leaderboard spam shows up
  • vendor ort wasm properly so vad worker stops whining in console

ok that was a lot of browser-specific nonsense for a monkey that just wants you to read words out loud 🐒🐒🍌


0
1
20
Open comments for this post
Reposted by @hariharann

1h 55m 19s logged

UPDATeeeeEEe!!!!!!!

yo gng we back with another huge update because the slop never stops trust me bro 👀👀

we added a bunch of new stuff to make this desktop experience even more cursed better :)))

1. Slopsweeper.exe 💣( our first game yipee )

its minesweeper but everything is rigged lol.

  • first click protection? psych, 10% chance a mine spawns right under your cursor as soon as you click (Schrödinger’s mine is real shi 🐈)
  • drunk flagging: 20% chance the flag lands on a random adjacent cell instead of where you clicked. good luck.
  • added a “?” button that explains the game in the most confusing way possible.

2. SlopPaint.exe 🎨 ( for my beloved artists )

paint like a pro, or dont.

  • wet paint physics: your masterpiece literally melts and drips down the canvas 1px every 80ms.
  • cursed eraser: erases in bright neon pink and randomly stamps “SLOP” in Comic Sans.
  • clippy critiques: click save and clippy will roast your art skills.

3. Memes.dll 🐸

fully working custom meme creator (no rickrolls this time, pinky promise).

  • fetches random templates from Imgflip.
  • sliders for font size and vertical offset, plus text/stroke color pickers.
  • download button actually renders and downloads the image (complete with a “made with slop” watermark).

ANDDD A LOT MORE QOL UPDATES (degrading Quality as a matter of fact but who cares lmao )


yeah thats the new update, go break some windows and see ya !!!

8
2
1125
Open comments for this post

1h 55m 19s logged

UPDATeeeeEEe!!!!!!!

yo gng we back with another huge update because the slop never stops trust me bro 👀👀

we added a bunch of new stuff to make this desktop experience even more cursed better :)))

1. Slopsweeper.exe 💣( our first game yipee )

its minesweeper but everything is rigged lol.

  • first click protection? psych, 10% chance a mine spawns right under your cursor as soon as you click (Schrödinger’s mine is real shi 🐈)
  • drunk flagging: 20% chance the flag lands on a random adjacent cell instead of where you clicked. good luck.
  • added a “?” button that explains the game in the most confusing way possible.

2. SlopPaint.exe 🎨 ( for my beloved artists )

paint like a pro, or dont.

  • wet paint physics: your masterpiece literally melts and drips down the canvas 1px every 80ms.
  • cursed eraser: erases in bright neon pink and randomly stamps “SLOP” in Comic Sans.
  • clippy critiques: click save and clippy will roast your art skills.

3. Memes.dll 🐸

fully working custom meme creator (no rickrolls this time, pinky promise).

  • fetches random templates from Imgflip.
  • sliders for font size and vertical offset, plus text/stroke color pickers.
  • download button actually renders and downloads the image (complete with a “made with slop” watermark).

ANDDD A LOT MORE QOL UPDATES (degrading Quality as a matter of fact but who cares lmao )


yeah thats the new update, go break some windows and see ya !!!

8
2
1125
Ship Changes requested

we shipped CoFound — basically a startup co founder os in your browser

drop a raw idea and it turns into a living knowledge graph with 11 nodes. talk to the orchestrator (voice or text), spawn research agents, pivot without nuking your whole graph, get today's priority, and export a scaffold zip when you're ready to build

it's live at ``` cofounder-alpha.vercel.app ``` — backend on render, frontend on vercel, real api, no fake demo data

honestly stoked for people to try it. type any idea, watch agents fill the canvas, ask the orb to dig into competitors or hand off the next move. would love to see what founders do with it

try it → poke around → tell us what breaks :)

  • 3 devlogs
  • 7h
Try project → See source code →
Loading more…

Followers

Loading…