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

hariharann

@hariharann

Joined June 6th, 2026

  • 27Devlogs
  • 7Projects
  • 6Ships
  • 75Votes
yo i am from india love building and hacking won several hackathons etc looking forward to this :)
Open comments for this post

10h 38m 16s logged

CATCHUPPPP DEVLOG — i forgot to post so now u get EVERYTHING 🙊🗣️🗣️

ok so real talk i kinda… forgot to drop a proper stardance log for a while. hours kept stacking, i kept shipping, then the banner said “u hav 10h without a log” and im like oh. whole catchup dump. big one. sorry if i yap

[ THE REASON FOR THIS WAS WAKATIME BTW it doesnt even properly update 🥀 sowwy i also lost like 1 more hr of time tho welp ]

last time i teased something ghosty then went quiet. that ghosty thing shipped. clarity got ripped open and rebuilt. da engine board actually filters now. results dont look half done anymore. so thats where most of the hours went into.

live: https://monkeyspeak-delta.vercel.app
repo: https://github.com/nothariharan/monkeyspeak

QUICK RECAP

already shipped before this gap: spoken monkeytype core · deepgram on brave/edge · supabase speed board · /leaderboard hub + stats/profile · results rebuild. that thread is on the project page. this post is mainly everything after dat.

THE ‘GHOSTYYYY’ ( finally )

last log said “something ghosty is next” then i disappeared lmao. ghost trace is live.

u race a visual ghost that replays your own speed pb. not some random #1. just u vs past u. needs atleast one speed pb with a real timeline first.

built: ghost mode next to speed/clarity · desk ui so it doesnt feel like another product · dual lanes that feel like a chase · local ghost race record · lean assets

( check the branches and prs for exact stuff )

go race yourself. weirdly motivational and slightly insulting when past-u is faster 👀👀

CLARITY GOT A WHOLE PERSONALITY NOW

used to be the quiet sibling of speed. same desk family, placeholder vibes. scrapbook treatment later — now its actually fun to sit on.

idle: 3-col scrapbook (engine board · center · side stack) · inspector monkey · legal pad prompt · privacy note that ur mic stays with the tool

prompts that CYCLE: shuffle was cursed — sentences always “before you leave…”, twisters one fixed line. now ~30 curated pads across sentences/technical/tongue-twisters, scenes (office/clinic/travel/etc), signal chips, no instant repeat, custom still works. whole point is “can the tool hear the hard bits”

engine board: config bar board prompt filters the left board. badge shows active filter.

results: not just % + grade anymore — engine chip, correct/wrong/missed/extra, punctuation %, delta vs prior best, normal display font

HOUSEKEEPING ( fr)

pruned ~31mb orphan assets · slimmed sprite utils · typecheck · SESSION_SECRET same on vercel AND render or unset on both (one side = grants break quietly) · readme/comments less corporate. deployed. hard-refresh if cached.

before → after

last time clarity = paste + grade + sticky prompt + soft lock. now scrapbook + shuffle pads + board filters + current/top/tool + cancel + results that explain stuff.

last time ghost = a wink. now u race past-u on the desk. so thats there.

STILL COOKING 🍽️

harder clarity tiers · board rate limit if it gets silly · more ghost polish · daily clarity seed · kill leftover placeholder energy

ok that was a lot of catchup for a monkey that just wants u to read words out loud. if ghost or clarity feels off lmk — especially brave ppl, i see u 🐒🐒🍌

0
0
18
Open comments for this post

3h 38m 10s logged

LANDING REVAMP ( mainly coz earlier landing was way too simple and ai made 🥀)

( current version is made using pre made ui components from 21st.dev reworked by me for my website requirements :DD )

this week was mostly taste on the marketing surface. the product shell was already quieter. i wanted the first screen to prove the cofounder idea before anyone drops an idea in the box.


what changed

how it works is a scrub now

not a row of steps anymore.

five agents land around the stage, then they converge into one workspace frame as you scroll. once the frame wraps them, the floating agents drop out and the built-in chips light up inside the box.

desktop = pinned GSAP scrub
mobile = skip the flying bits, just reveal the finished workspace

idea → mrr beat

second section tells the same story with the actual product chrome:

  1. starting prompt
  2. researcher / validator / builder come online
  3. connectors draw into the workspace hub
  4. evidence fills in
  5. plan card flips into traction
  6. growth panel hits $12.4k MRR ( trust me bro )

the right outcome card is a single surface now. copper for plan, mint for traction. no stacked second box eating the border.

hero cursors in the gutters

orchestrator, researcher, validator, builder, growth, market.

they sit in the side margins, aim at the idea input, drift on their own timers, and nudge away when your mouse gets near. left side was clipping the pointer tips for a bit — fixed the overflow + edge padding so they stay whole.

type + motion polish

scene cues (pull together, growth, etc.) are bigger so the scrub beat is readable at a glance.


under the hood (only what this pass needed)

  • AgentWorkGallery — converge / wrap story
  • WorkspacePreview + storyCopy — idea to mrr timeline
  • AgentCursors — gutter homes, flee, clip fix
  • shared gsap + ScrollTrigger registration
  • redeployed frontend on Vercel, API still on Render / Atlas

open workspace / get started paths were left alone on purpose. they already worked after the last prod pass. this one was the FACE of the product.


still cooking these ( oauth is ot on my checklist for now but eh )

  • oauth
  • real multi-project
  • less firefighting, more daily-driver product

mess around with the landing lmk if it breaks anywhere ( it mite in mobile tho lowk its kind of optimized but yeah )

0
0
11
Open comments for this post

2h 37m 32s logged

CARD IS COMPLETE ( for now ig )

whats done so farr 🗣️🗣️

last time the trainer card was basically the whole show and the /portfolio page was just a dark shell with sections stacked under it now the whole thing got ripped apart and rebuilt properly which is where most of the hours went into

MAINNN PORTFOLIO REVAMP ( basically the professional section of portfolio )

/portfolio is not one long dump anymore it is a summary home and then dedicated routes for projects experience skills achievements blog and stuff so ppl can deep link into the part they care about without scrolling forever

content is real now too not placeholder vibes

  • project cards with screenshots
  • experience filled in
  • skills with proper brand icons
  • honors and achievements actually listed
    so thats there

also shipped a file based blog under /portfolio/blog which is mainly just markdown posts for now but eh its the first step toward that whole knowledge vault thing i was talking about earlier ( no db here coz i write and redeploy directly :))) )

THE ‘SPRITEEEEE’

the card front finally has a proper custom mascot sprite instead of whatever placeholder energy was sitting there before spent a decent chunk of time on standing and sitting frames and idle loops and lining the feet up so it doesnt float weird in the box

[ inspired from pokemon sprites hopefully wudnt get sued or sm 🥀🥀]

still cooking more frames and cleaner loops but the main card already feels way more alive with it on there

few other changes as well

  • focus badges on the card revamped ( honestly i wanna change this section but no idea what to do give me some ideas people 👀 )
  • project icons and skill tiles
  • card polish spacing layout CURRENTLY panel and stuff
    basically just making the whole fire red trainer card feel finished instead of half done

cooking rn 🍽️

few things which still needs to be done includes

  • more sprites icons wallpapers
  • personal AI assistant on the front page with access to my knowledge vault so it can answer questions about me directly
  • automated scripts fetching github projects and linkedin posts
  • maybe sqlite later if the file based blog starts feeling too small

sprites are work in progress soon to come again lol

[ my pokemon partner is soon to come on the portfolio ]

0
0
15
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
16
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
15
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
22
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
346
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
22
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
  • 12.72x multiplier
  • 127 Stardust
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
346
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
144
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
144
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
21
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
23
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
23
Loading more…

Followers

Loading…