Sign in

brendan

@brendonovich.dev
309 followers 10 following 73 posts

building opencode.ai desktop at anoma.ly

PostsRepliesMedia
brendan @brendonovich.dev · 17/09/2026
welcome to the future old man
Image from X
1472
brendan @brendonovich.dev · 27/08/2026
the venn diagram of ice skaters and software devs has more overlap than i expected i'm up to 7 people irl so far
010
brendan @brendonovich.dev · 24/08/2026
turn your app into your harness with opencode v2 and vite-plugin-opencode ferryman.io/r/TeyJUHrB ferryman.io/r/n2KoKclL
000
brendan @brendonovich.dev · 24/08/2026
turn your app into your harness with opencode v2 ferryman.io/r/M1SG7Aai ferryman.io/r/g8clDINQ
000
brendan @brendonovich.dev · 24/08/2026
i built a vite plugin that lets me prompt from in my app using opencode v2's server. each pane is a regular session that can be viewed in tui and desktop. no configuring providers, models, skills, or anything since it's just opencode under the hood.
Image from X
110
brendan @brendonovich.dev · 30/07/2026
close call
Image from X
010
brendan @brendonovich.dev · 30/07/2026
it must feel so good to be a codebase getting cleaned up
Image from X
010
Reposted by brendan
MacroGraph @macrograph.app · 27/11/2025
hey! it's been a while. MacroGraph is getting a huge refresh in 2026: - multiplayer editing - client/server architecture, so projects can be ran headless - brand new UI lots more to share in the next couple of months, for now here's a pic :)
063
brendan @brendonovich.dev · 12/06/2025
i updated the @cap.so docker image a few days ago on @github.com and... i think someone's been downloading it in a loop? the download count has been increasing by like 2/second for the past few days 😅
A screenshot of the cap-web docker image page on github. The latest version is shown to be published 3 days ago and has over 200,000 downloads - I swear they're not from us!
010
brendan @brendonovich.dev · 01/06/2025
multiplayer @macrograph.app was a mistake
A bunch of MacroGraph nodes without any IO arranged to spell out "SUS  CUM", "POOP", "NUT", and an Among Us character
073
brendan @brendonovich.dev · 09/05/2025
asked @zed.dev agent to make a bunch of small changes to @cap.so desktop to make it compile went and brushed my teeth came back and the app was open with no more rust errors very nice
080
brendan @brendonovich.dev · 01/05/2025
turns out you can just work from the New York library
Close up of my MacBook screen with Zed open working on De-vinxi-ing Solid Start, with the table and wall of one of the New York library’s rooms out of focus in the background
040
brendan @brendonovich.dev · 17/04/2025
i don't think i ever announced this but our @solidjs.com hackathon project solidbase.dev now powers docs.solidjs.com!
solidbase.dev
SolidBase
Fully featured, fully customisable static site generation for SolidStart
2284
brendan @brendonovich.dev · 16/04/2025
@zed.dev would you guys be interested in trying @cap.so for your screen recordings? would be happy to help with anything Scap-related you need for gpui 😄
010
Reposted by brendan
Richie McIlroy @richiemcilroy.bsky.social · 16/04/2025
record. edit. share. @cap.so is the open source loom alternative. free version available for macOS and Windows.
031
brendan @brendonovich.dev · 28/03/2025
corepack is fucking awesome
160
brendan @brendonovich.dev · 20/03/2025
@cap.so is getting a whole suite of improvements over the next few days - redesigned editor - new 'start recording' flow - system audio capture then focusing on bug fixes & ux improvements for the next couple of weeks to make the app super smooth
A screenshot of Cap's new editor
1113
brendan @brendonovich.dev · 12/03/2025
It was fun while it lasted, but I'm stopping maintenance of Prisma Client Rust. github.com/Brendonovich...
github.com
PCR is no longer being maintained · Brendonovich prisma-client-rust · Discussion #476
It's been a long time coming, but I'm officially stopping maintenance of Prisma Client Rust. I'm doing this for a couple of reasons: I built PCR to use in Spacedrive, but my current work doesn't ev...
031
brendan @brendonovich.dev · 22/02/2025
the manual zoom picker in @cap.so will now preview the zoom segment's first frame much better than a big blue rectangle 😄
000
brendan @brendonovich.dev · 21/02/2025
average conversation with @ryansolid.bsky.social
Screenshot of a message I sent in a conversation with Ryan Carniato, where he was explaining some of Solid 2.0's new APIs (latest and isPending). The message says 'this is next level neuron activity going on here'.
181
brendan @brendonovich.dev · 19/02/2025
i'm going to San Francisco in April!!!! anyone want to catch up from the 22nd onwards?
020
brendan @brendonovich.dev · 19/02/2025
if @ryansolid.bsky.social made music
A screenshot of ellis's 'signals' (2024) EP on Spotify
120
brendan @brendonovich.dev · 18/02/2025
i got tired of clicking 'run workflow' on github
I've created a basic Discord bot that has a /release slash command, which presses 'Run Workflow' in GitHub for us. This screenshot shows CapBot responding to me invoking /release, saying 'Release workflow started' and with a button that links to the GitHub workflow runs page.
120
brendan @brendonovich.dev · 17/02/2025
if you haven't been following the work on @solidjs.com 2.0: - createAsync throws instead of returning undefined 🎉 - Resetting an ErrorBoundary refetches errored createAsyncs - Suspense only shows its fallback once. On re-suspend it shows stale data (no Transition!) + much more i'm very excited 😄
0152
brendan @brendonovich.dev · 15/02/2025
been working on my own version of the 'fail' crate for @cap.so that allows fail points to be toggled in real-time. all declared 'fail' (panic) and 'fail_err' (Err return) points are collected by the 'inventory' crate, and a global map that our debug window can modify toggles them on and off.
A screenshot with some code on top, Cap's debug window with a list of fail points on the left, and the main window on the right.
The code demonstrates the 'fail' macro, for declaring fail points that should panic, and 'fail_err', which are points that should return an Err containing some value.
011
brendan @brendonovich.dev · 13/02/2025
reminder for future me: don’t use your app’s debug build to assess performance. prod build can be way faster even if you don’t expect it. @cap.so’s editor is super smooth in prod, but i always worry it’s not fast enough since i use the dev build 😂
030
brendan @brendonovich.dev · 02/02/2025
i don't play @osu.ppy.sh but i always love watching their devlogs. they're a small team building an open source game, and they're so connected to their community. it's inspiring tbh. www.youtube.com/watch?v=FOb9...
youtube.com
....it's a new lazer update
YouTube video by osu!
220
brendan @brendonovich.dev · 01/02/2025
recently discovered @zed.dev's workspace symbols search (⌘T) and it's my new favourite thing. no more remembering what file a type/function is in - just search for the symbol let the LSP do the work 😄
010
brendan @brendonovich.dev · 30/01/2025
@cap.so is on bsky now 😄
080
brendan @brendonovich.dev · 29/01/2025
I'm happy to announce I'm officially joining cap.so as Founding Engineer! After helping with the new recorder + editor for a while, I'm excited to be a part of building the open source screen recording suite our users have been asking for.
A screenshot of Cap's recorder and editor windows on a default macOS background
3162
brendan @brendonovich.dev · 26/01/2025
coming soon: cap.so for windows
Cap running on Windows. The recording, settings, and editor windows are all visible.
180
brendan @brendonovich.dev · 24/01/2025
i should check on @vercel.com more often
A screenshot of my vercel.com dashboard with numerous alerts saying 'macrograph.app is missing a payment source'.
I really ought to turn on email alerts 🤦
030
brendan @brendonovich.dev · 22/01/2025
built a new video decoder for cap.so that uses native macOS APIs and omg it's so much faster
181
brendan @brendonovich.dev · 14/01/2025
cap.so performs all video rendering in Rust, but uses a web frontend via @tauri.app. how does the frontend receive frames from the backend? WebSockets! we've found local WebSockets can handle >500mb/s of throughput, allowing us to display 1080p@60fps video on a <canvas>!
An Excalidraw diagram titled 'Sending frames from Rust to webviews.
There are two boxes, one on the left that says 'Rust Backend. Axum Server. Sends frame data + width/height', and one on the right that says 'Web Frontend. <canvas>. drawn with putImageData'. There is an arrow pointing from 'Axum Server' to '<canvas>' labelled 'RGBA frames via WebSocket.
1101
brendan @brendonovich.dev · 28/12/2024
sometimes you just gotta do it to em
GitHub PR line diff counter displaying +35,242 and -13
230
brendan @brendonovich.dev · 17/12/2024
super happy with this new stream layout! macos's portrait blur + studio lighting make my camera look way better than it is 😄 i'm gonna be streaming 2-3 times a week from now on, working on cap.so and macrograph.app over at twitch.tv/brendonovich, come say hi!
Screenshot of a moment of my Twitch stream. My display, with the cap.so editor open, takes up most of the screen, with chat to the right and my webcam in the bottom right, slightly overlapping with the display.
The gap underneath the display contains Discord StreamKit elements: A link to the Cap discord and the people in a voice chat with me - just me and Richie.
There's padding between most of the elements, and around the edges, where moving white dots with lines connecting them on a blue background can be seen.
150
Reposted by brendan
Richie McIlroy @richiemcilroy.bsky.social · 28/11/2024
We're live! Cap v0.3.1 is now live on Product Hunt 🥳 📷 Launch page → Cap.link/ph Your support would mean a lot!
2152
brendan @brendonovich.dev · 25/11/2024
Infrastructure as Code but it's for OBS scenes/sources/filters built an initial version of this years ago but wanted to try a different approach today repo if you're curious: github.com/Brendonovich/sceneify
TypeScript code defining an OBS scene named Main with a camera item that uses the webcam input defined in the next image, and a main function that creates the scene and updates the transform of the camera item. The full code is the following:

export const mainScene = defineScene({
  name: "Main",
  items: {
    camera: {
      input: webcam,
      alignment: "bottom-right",
      positionX: 1920 - GAP,
      positionY: 1080 - GAP,
    },
  },
});

async function main() {
  const obs = new OBS();
  const scene = await createScene(obs, mainScene);

  await scene.item("camera").setTransform({
    positionX: 100,
    positionY: 1000,
  });
}TypeScript code defining a 'video capture source' input type, 'streamfx blur' filter type, and the webcam input mentioned in the previous image. The webcam input uses the 'video capture source' input, and contains a blur filter. The full code is the following:

export const videoCaptureSource = defineInputType(
  "av_capture_input_v2"
).settings<{ device: string; device_name: string }>();

export const streamfxBlurFilter = defineFilterType(
  "streamfx-filter-blur"
).settings<{
  "Filter.Blur.Type": string;
  "Filter.Blur.Size": number;
}>();

export const webcam = videoCaptureSource.defineInput({
  name: "Webcam",
  filters: {
    blur: streamfxBlurFilter.defineFilter({
      name: "Blur",
      settings: {
        "Filter.Blur.Type": "box",
        "Filter.Blur.Size": 30,
      },
    }),
  },
});
271
brendan @brendonovich.dev · 17/11/2024
For #solidhack we've been working on SolidBase, a tool for building Markdown-powered sites with SolidStart. MDX with @solidjs.com components, syntax highlighting, frontmatter, i18n, themeing - even in existing Start apps!. Check it out: solidbase.netlify.app And plz vote for us! hack.solidjs.com
solidbase.netlify.app
SolidBase – SolidBase
Fully featured, fully customisable static site generation for SolidStart
2164
brendan @brendonovich.dev · 14/11/2024
next cap.so version's dmg will have a background, yay
A macOS dmg installer with the Cap app on the left and Applications text on the right, an arrow pointing from left to right, and text underneath that says 'Drag and Drop Cap to the Applications folder'.
050
brendan @brendonovich.dev · 14/11/2024
pretty happy with this mic level indication i've made for cap.so, should be super helpful for distinguishing microphone issues from recording/encoding issues
0104
brendan @brendonovich.dev · 13/11/2024
bsky continues to surprise me - the ability to have a dedicated feed for people who don't post often is so awesome.
100
brendan @brendonovich.dev · 11/11/2024
@syntax.fm woah, thankyou!
Screenshot of GitHub feed entry that reads:
'syntaxfm sponsored you - 2 hours ago'
160
Reposted by brendan
Richie McIlroy @richiemcilroy.bsky.social · 07/11/2024
brew install cap
021
brendan @brendonovich.dev · 07/11/2024
cut 20% cpu from the cap.so camera preview by implementing YUV -> RGBA conversion on the gpu, all thanks to wgpu.rs and claude.ai. rust + gpu is such a good combo.
cap.so
Cap — Beautiful, shareable screen recordings.
Cap is the open source alternative to Loom. Lightweight, powerful, and stunning. Record and share in seconds.
071
brendan @brendonovich.dev · 06/11/2024
managed to cut the CPU usage of cap.so recording from 110% -> 30% usage with some simple fixes: - hardware acceleration using ffmpeg's h264_videotoolbox encoder. -50% CPU - capturing in NV12 format directly instead of converting from RGBA. -30% CPU next update is gonna be so much lighter!
cap.so
Cap — Beautiful, shareable screen recordings.
Cap is the open source alternative to Loom. Lightweight, powerful, and stunning. Record and share in seconds.
062
brendan @brendonovich.dev · 04/11/2024
looks like a few people are following me via some starter packs - hi! i'll be using bsky to talk about the things i'm building, usually involving rust, typescript, @tauri.app, and/or @solidjs.com. if you've got any questions about what i'm building or the above tech feel free to reach out!
230
brendan @brendonovich.dev · 01/11/2024
domain as handle is very cool, wow
050