savar

savar

@savar

building JustBuildApps

showing all 21 updates

Sauroncommentary· May 11May 11, 2026, 3:30 AM

From sketch to mockup: the Sauron triage board

Earlier today I logged the intent to rebuild Sauron around an ER-triage model. A few hours later, three blind layout variants and an MVP exist as mockups. None of it is shipped — data still comes from a seed file and persistence is React state — but the lifecycle is now concrete enough to argue with. The model I am committing to: every case moves through three statuses. Intent (logged, waiting). Active (one at a time, plan required to enter). Closed (debrief required to exit). The two required gates are deliberate — they convert vague intentions into stated commitments and force a brief reckoning at the end. Notes during the active phase are optional and the surface refuses to nag you for them. Everything else is decoration that has been stripped. Two affordances soften the strictness without unraveling it. Any intent can be picked up out of order, in which case the active case returns to the queue with its plan and notes preserved. New tasks can be added at any time, but adding is not starting — new entries go straight to intent. The escape hatches are explicit, which is the opposite of how avoidance usually operates. Next: wire this to the HINT layer and replace the seed data with real cases.

Sauroncommentary· May 11May 11, 2026, 3:06 AM

Logging the intent: Sauron as a triage board

Watching The Pit recently. The workflow stuck with me more than the medicine. ER triage is brutally simple — you don't choose the next patient, you take the next chart. Critical interrupts everything; otherwise top to bottom. A case closes on an objective criterion, not when you feel done with it. That is the operating model I want for Sauron. The "ADHD helper" framing I've been using is the wrong abstraction. A helper invites negotiation, and negotiation is how the work doesn't get done. Triage removes the negotiation. The board is set, the next case is chosen, the only verb is close. Concretely, this points toward a single unified stream — cases listed in order, the next one already on top, details expandable rather than crowding the surface. The HINT layer is the right substrate; what is missing is shift discipline. Severity tier set at board creation. Order locked mid-shift. Objective close criteria per case. Not built yet. I am logging the intent so it exists outside my head.

JustBuildApps

JustBuildApps

justbuildapps.com
iterationMay 8May 8, 2026, 6:22 AM

shipped likes for creator updates

likes are now live across the feed and creator profiles. heart icon + count on every update, optimistic UI toggles instantly. auth-required: unsigned users get the Clerk modal. backend has idempotent endpoints with efficient batch lookups. also shipped the /skills index page for Claude Code skills, and the /skill/mockup and /skill/jba-post documentation pages.

JustBuildApps

JustBuildApps

justbuildapps.com
iterationMay 8May 8, 2026, 12:50 AM

each creation gets its own page now

each creation has a real page at /u/savar/<slug>. hero, creator strip, pinned launch, then the update timeline. before: creations were chips in a sidebar — you couldn't link to one. now they're a thing. screenshot is /u/savar/jba. bundled with this drop: ⌘K global search, inline edit on creations + updates, and a "saved" filter on /explore. each will get its own post.

JustBuildApps

JustBuildApps

justbuildapps.com
iterationMay 8May 8, 2026, 12:49 AM

unified search via ⌘k

⌘k from anywhere opens a search palette over apps and creators. before this, /browse had its own input and there was no way to find a creator by handle at all. results show thumbnails + descriptions, ↑↓ to navigate, ↵ to open, esc to close. it's plain ILIKE matching for now — no fuzzy, no semantic. updates aren't searchable yet either; that needs a full-text index i haven't wired up.

JustBuildApps

JustBuildApps

justbuildapps.com
iterationMay 7May 7, 2026, 10:31 PM

nav bars now have a teal accent

the dark mode header was too dark — same color as the page body, you couldn't tell where the chrome ended. added a teal gradient from the left edge and a teal-tinted border. did the same on the mobile bottom tab bar so they feel like a pair. subtle in light mode, more visible in dark.

JustBuildApps

JustBuildApps

justbuildapps.com
iterationMay 7May 7, 2026, 10:24 PM

jba updates have their own color now

posts on the jba project itself now get a top-down teal gradient and a ~ before the name. third-party creator posts stay plain. makes the feed scannable: green tint = meta update about the site, no tint = someone else's app. small detail. mostly so my own product posts don't blend in with the indie launches below them.

JustBuildApps

JustBuildApps

justbuildapps.com
iterationMay 7May 7, 2026, 10:09 PM

profile editing is live

you can now edit your profile from /u/<handle> — display name, bio, avatar, socials. before this, the only way to change anything was sql. socials are four fixed slots: x, website, tiktok, instagram. you just type the username, the prefix is locked in. fewer broken urls. post button also moved to the top of the feed instead of buried in the header.

JustBuildApps

JustBuildApps

justbuildapps.com
iterationMay 7May 7, 2026, 9:29 PM

added a mobile bottom nav

the top header was wasted real estate on phones — five small links nobody could thumb-reach. hidden it below md and added a five-tab bottom bar instead. home, discover, explore, post, profile. icons only. profile shows your clerk avatar; tap it signed-out and the auth modal opens, signed-in it goes to /u/your-handle. /explore card height adjusted so the swipe-up gesture doesn't overlap the bar. still on the list: hide-on-scroll, haptics. neither blocking.

Doodle Jump

savar.ai/doodle
iterationMay 6May 6, 2026, 12:00 AM

fixed the accelerometer on android

ios was tilting fine but android was reading the gyro inverted. one boolean flag. shipping fixes feels different when the bug-finder is your wife.

Doodle Jump

savar.ai/doodle
iterationMay 5May 5, 2026, 12:00 AM

high scores save now

localstorage. not even sql. you score, it sticks. that's the whole feature.

JustBuildApps

JustBuildApps

justbuildapps.com
iterationApr 28Apr 28, 2026, 12:00 AM

switched the llm to gemini 2.5 flash

was on haiku 4.5 for bulk ingest. ~80% cheaper now, same quality on app summarization so far. will revisit if it starts hallucinating.

JustBuildApps

JustBuildApps

justbuildapps.com
iterationApr 25Apr 25, 2026, 12:00 AM

deploy script + cron for the new scrapers

got tired of ssh-ing into hetzner. one bash script, three crons. github trending + product hunt run nightly now.

JustBuildAppscommentary· Apr 22Apr 22, 2026, 12:00 AM

stripped like/skip/broken from /explore

the structured feedback was performative — nobody used it. comments and reactions only now. less ui, more signal.

JustBuildApps

JustBuildApps

justbuildapps.com
iterationApr 18Apr 18, 2026, 12:00 AM

dark mode

respects system preference, persists to localstorage, no fouc. cmd+i to toggle. should've shipped this six months ago.

JustBuildApps

JustBuildApps

justbuildapps.com
iterationApr 15Apr 15, 2026, 12:00 AM

added a github leaderboard for claude code apps

ranked by stars, updates daily. small thing — but the catalog needed a way to surface what's actually getting traction vs. what's just been ingested.

MockWithMecommentary· Apr 10Apr 10, 2026, 12:00 AM

looking for the first paying user

honest take: the loop works, the funnel doesn't. people try one mock interview and bounce. need to fix retention before paid acquisition makes sense.

MockWithMecommentary· Apr 5Apr 5, 2026, 12:00 AM

killed the onboarding tour

five steps before you could start a mock interview. data said most people bailed at step 2. now you land, click 'start', it works. don't make me think.

JustBuildApps
justbuildapps.com
✦ launch
JustBuildApps· Mar 2Mar 2, 2026, 12:00 AM

jba is live

~500 vibecoded apps you can scroll through like youtube shorts. mostly indie builds, some scraped from awesome-lists. it's rough. that's fine — expected it.