What are you working on? What have you been curious about lately?
Working on a modern implementation of a torrent client [1], it's already pretty usable for most scenarios. Provides both a daemon + web UI out of the box as well as an embeddable engine for any Rust application.
[1] - https://spill.rs
Launched a word logic puzzle game called Meshword: https://meshword.org
It combines nonograms with crosswords, requiring both logic and word knowledge to solve. I am still working on the interface and tutorial, as well as the puzzle difficulty levels.
I'm working on a TradingView Pine Script compatible Python framework: https://pynecore.org . And a Pine Script compiler for it + a full IDE for Pine Script with syntax highlight, language server, full featured debugger, charting, data downloads: https://pynesys.io . It is 99.771% bit exact on the top 1000 Pine Scripts and 100% trade match. I'm doing it solo.
A PR Review tool for ergonomics - https://bobby.viraj.computer
* files in organised trees/graphs generated using LSPs and symbol references instead of linear file list * keyboard shortcuts for everything from navigation, pan, zoom, comment, note, submit... * mostly github compatible with native features * LSP powered symbol resolution for inspecting definitions and references * LLM powered reviews supported * Inline LLM question answering
We just got a puppy, and needed a way to track potties to help us with house training. So, with AI/Claude's help, I found a similar open source package (Baby Buddy), forked it, and very quickly made it my own. Self-hosted, local for privacy reasons.
Repo: https://github.com/viciousnemesis/housetrained
Puppy: https://imgur.com/piDE0gq
Currently we are working on Kumoss Open Source, intent-based infrastructure platform that turns natural-language requests into infrastructure changes, while keeping validation, compliance and existing engineering workflows in the loop.
https://github.com/InditexTech/kumoss
Basically allow developers to request any infrastructure need in a web portal and automatically that request is fulfilled following the organization standards the platform team defined.
Any feedback or comment is more than welcomed!
Any feedbac
An MIT re-implementation of an AGPL project with a very anti AI community.
Trying to get the kids outside: https://eyesoutside.org
and letting families hold off on screens for a few more years: https://readychime.com
I've been working on a small search engine for content creators that play and/or review indie games. It's written in C and has been a lot of fun to work on.
Turning RSS, atom, blog feeds into audio feeds with kokoro tts. Free, web app only.
I built the original for myself because I wanted to listen to acoup and other history blogs while sleeping. And in the spirit of getting better at finishing projects decided make it public even tho it’s nothing really unique or special.
Still lots to polish especially in the text/copy and ui but the core features should be working.
A domain search app called NameTheory: https://apps.apple.com/us/app/nametheory-domain-search/id680...
It uses Apple Intelligence to help brainstorm domain name ideas. I’m interested in seeing what small local models can do as they catch up to larger ones, this is my first iOS app so I started with something simple that scratches my own itch.
Working on a natural language intelligence layer for contacts - "Pull everyone I know who works at a Series A healthtech in the Bay Area who also went to Stanford for ungrad" => either structured or unstructured results. Large-scale data support, automatically enriched with up-to-date data, fast/accurate results. Integrates natively with Gmail and Gcal.
Looking to pilot for free with small qualified teams (early-stage startups with real/immediate need).
https://schmolt.itch.io/wormlove
A little puzzle game where you make worms kiss. 32 levels, plays in your browser.
I've been working on a voxel game engine called Bonsai for ~10 years.
Probably the most interesting thing about it at the moment is the editor. The world, and most things in it, are represented as collections of SDFs. More accurately, they're density fields, but, potato-tomato. One neat thing about representing the world as SDFs is they've been thoroughly researched and documented by a guy named Inigo Quilez, and they have a lot of nice mathematical properties. For example, you can do a smooth union of arbitrary SDFs to get nice rounded contours where shapes join.
The world generator and editor operate almost entirely on the GPU. The terrain and editor pipeline is a three stage process. The first stage is user-configurable; users write an arbitrary 'shaping' shader in GLSL. The second stage is a fused stage; it does a convolution on the output of the first stage to compute a normal, runs a second user-configurable 'decoration' function, and finally applies edits. Edits are collections of SDFs that are 'compiled' from a graph structure on the CPU into a bytecode, and interpreted in the shader. The last stage runs another convolution to compute the final normal, then packs an occupancy bit, color, and normal down into a 32-bit representation, suitable for transfer back to the CPU. I expect I will expand this to include additional user-level bits for encoding biome type and GPU-driven spawning.
The entire shader pipeline is one fused 'ubershader' .. everything is bound at startup and the shader is dispatched three times, incrementing a 'Stage' uniform on each dispatch. This strategy conceptually makes the driver overhead nearly zero, and the profile agrees.
The final step in the process is giving the CPU a chance to spawn additional entities and structures after generation. This is not completely fleshed out, but the bones are there. The idea is that the results of the GPU work are passed back to the CPU, which can run arbitrary callbacks to spawn additional edits and entities. Once spawning is complete, the result is meshed using a fast binary meshing algorithm and uploaded to the GPU. I keep 16 bits of data per voxel from the GPU work, 1 bit of occupancy, and 15 bits of normal for collision response, which works out to half a megabyte per chunk. At the moment I only keep chunks which contain a piece of the world surface, and discard the rest. Surface chunks are dense, and may be compressed in the future, but keeping this amount of data scales to world sizes greater than 1B voxels cubed, which seems good enough for now.
In terms of raw performance, GPUs are ridiculous. My 3080ti mobile gets somewhere on the order of 500B-1T perlin samples per second with a naive perlin implementation. Compared to FastNoise2, that's about 1000x more, which sounds wrong since my GPU only has 35x more capacity, but, that's what my initial profiling said. That number is the marketing number; the real throughput is significantly less due to multi-stage nature of the system, but, there's a lot of headroom for improvement. For example, dropping the backing textures from 32bit to 16bit roughly quadruples performance. Since we only really care about the surface where values are near zero, I believe using 8 or 16 bit is a viable option, though this claim will require a fair amount of study to validate.
All in all, I'm pleased with how this is all working out. My original goal was to write a highly flexible system giving users both easy-to-use tools and granular control over the final output. I think I've done a fairly good job at that, and the fact it's also super fast is the cherry on top.
I'll do some shameless self-promotion and leave some links here for anyone interested in looking at the engine, language code, or some pretty pictures.
I'm wrapping up my 2+ years of work on a browser-based version of EverQuest that plays itself: https://idlequest.net/
Also have some other cool browser-based 3d game projects listed here: https://brynnbateman.com/
https://vester.si/motion/?e=plasma
My new favourite shader running realtime over your camera input. Has gotten great feedback from kids as well :)
Knowers of plasma pong might see slight resemblance.
A bunch of small apps, kinda getting SaaS out of my system.
Still building the file manager I've always wanted: https://intestinate.com/gusco/
Added an audio player this past month for all fellow file hoarders out there.
Also, you can now choose if you want Gusco to live in your terminal or run as a native-yet-texty app.
Was pleasantly surprised how well turning a Bubble Tea TUI app into a GUI-ish bundle works with Gio UI.
Lately my super fast anti gravity racing game. If you enjoyed F-Zero or Wipeout, you might like it.
Interactive breathing exercises. Working towards a medical device version for asthma and COPD.
I've just released v1.0 of Rouler which is VPN split tunneling for windows. Think IP rules for Linux, but with per-app/service connection steering. The whole app is built in Rust, including the kernel driver. Having released v1 I'm now starting work on adding folder and windows store support. https://rouler.io
An Obsidian plugin that turns handwritten reMarkable notes into searchable text. You can run the handwriting recognition locally on a Mac. The latest feature I added sends your highlights and margin notes from the tablet to Readwise. https://taggedsync.com
Reflect [1], it’s a local-first privacy focused self tracking and data analysis app where you can set goals and run self experiments
[1] https://apps.apple.com/us/app/reflect-track-anything/id64638...
Working on https://vostride.com/
I've started maintaining my own Firefox fork that:
- removes the stuff that I don't care about (Firefox sync, VPN, etc.)
- fixes a lot of the awful UX/UI choices that the (frankly) incompetent product team at Mozilla refuse to
- actually adds stuff that I do like integrated mail and calendar, a document library system (basically Notion), native ad-blocking, terminal, task-tracking like Trello, time-tracking like Harvest, etc.
- has integrated AI (Apple intelligence for MacOS for the easy stuff and Claude for the hard stuff
It means that instead of having half a dozen applications open, I can just work within my Firefox fork. Because it's all deeply integrated, I can do wild stuff like:
- tell my AI to search the web on a schedule and send me a custom daily brief with my own email
- maintain a comprehensive memory of all of the work that I do, across half a dozen clients, and be able to query it easily
- pull analytics from multiple web dashboards and format them into something cohesive
- program the web with a node-based infinite canvas that has live websites as part of the workflow
- manage my tasks across multiple domains (for example, it will see that I sent an email to a client and automatically update a task that says that I need to do that)
It's incredibly powerful and it has made me much, much more efficient.
I’m still working on https://leafle.org which is a tool for getting more interesting reading (or listening) suggestions that one can borrow from the library (or Libby). I’m done for the moment with building it, so I’ve been doing things like making flyers and leaving them in local libraries.
For the month of November (and starting in October this year) I like to hold weekly cooking challenges to practice and refine my Thanksgiving day feast. Now about 3 weeks out from the final boss level of cooking, and I'm having a week all about brussel sprouts. Earlier weeks were cauliflower and the classic seasoning blend of sage, rosemary and thyme.
StatsBrowser: https://www.statsbrowser.com
A statistical analysis suite that runs in the browser via webR. It provides step-by-step guides for running tests and insights on results containing statistical pitfalls. Aimed at students who struggle with traditional stats apps.
I'm vibing an old style RTS game and exploring how far can I get with local models for drawing, 3D models, rigging and sprites. I love how much I can accomplish with Claude in terms of code, but gluing it all together with graphics still requires plenty of "manual" work.
Werkbook (https://werkbook.app), digital forms and photo reports for field crews. I'm a solo Rails dev, and thanks to Claude it now has native iOS and Android apps instead of Hotwire Native web-view wrappers.
Data driven, personalized typing application.
Working on Notekpr a local first and end to end encrypted alternative to notion and obsidian.
site: https://notekpr.md
https://www.nichess.org - chess with health points
I've really been enjoying using Codex as a headless remote agent on my home lab. I'll often pull it up from my phone and jam on some little project when inspiration strikes.
I kept bumping into the question of how to give it access to the things it needs without leaving my private keys and other credentials on the server though.
For SSH (and sudo through pam_ssh_agent_auth), I ended up building agent-auth and Agent Witness. Codex sees a normal SSH_AUTH_SOCK and supplies some context about why it needs a signature. If one of my Macs is available, agent-auth proxies the request to the 1Password SSH agent there. Otherwise it routes the request to Agent Witness on my phone.
Agent Witness runs as a PWA and is essentially a remote ssh-agent. The private keys are wrapped, encrypted, and stored in IndexedDB locally on the phone. The vault can only be unwrapped with a secret derived from a passkey, and all key handling and signing happens locally through the browser's Web Crypto APIs. The unwrapped keys are non-extractable CryptoKey objects (the web crypto APIs are pretty awesome!)
When a signing request comes in, the PWA gets a push notification. It shows me the reason Codex supplied, the command being run, and the key being requested. I authorize it with my passkey, the PWA signs the request, and only the resulting signature goes back to the server. The private key never leaves my phone.
https://github.com/evanpurkhiser/agent-auth https://github.com/evanpurkhiser/agent-witness
I also recently put together psst, which solves the related problem of handing a secret to Codex from 1Password. I give it a 1Password item-sharing link, it opens a local session where it decrypts the 1password item in memory, and Codex can inspect the available fields of the item before explicitly retrieving only the ones it needs. The CLI refuses to write secret values to a terminal, which helps keep them out of argv, shell history, and transcripts.
I’m sure I could work out a better approach where the agent absolutely cannot retrieve the secret since if it really wanted to read the secret, it could of course pipe the value into cat or whatever. The goal is to just make secret access explicit and avoid accidentally spraying credentials into places where they'll be retained. So far it’s been a very nice flow with agent browser.
I am building Cloud based context compiler and intelligent codebase visualizer for Developers and AI Agents, for easy PR review, onboarding and easy architectural understanding
I'm building a self-hosted media server for video, like Plex or Jellyfin. I'll be opening the beta in about a month.
Features:
- No paywalls, bandwidth limiting, or crippled behavior. No login required.
- Single go binary, deployed via Docker.
- Reaches your home server from anywhere with no port forwarding, no VPN and no paywall, even behind carrier-grade NAT. No Tailscale required.
- Cast to another device. You can use any logged in device as a playback screen.
- Watch together, with voice support: Play synced video with friends, and also chat voice. You can also mix this with casting to another device.
- Dialogue boost and loudness levelling for every film.
- Real adaptive quality, tuned for a home's upload.
- Hardware transcoding, full quality in every supported browser.
- A library that explains itself: what the scanner saw, why each title matched, guesses marked for you to check, and a disk that's gone missing shown as missing instead of its titles silently vanishing.
- Your data stays yours: The database is a rebuildable index, metadata corrections can be written back as NFO files that Kodi and Jellyfin read, and an automatic backup keeps what can't be re-derived (watch state, preferences, shares).
Security is a primary concern:
With the ever increasing pace of hacks and CVEs and AI-assisted intrusion, you simply can't be too careful anymore.
- The core (which talks to the network, handles the API, users and the database) never opens a media file or runs FFmpeg.
- A separate media node does every file read and every transcode. It has no network access and talks to the core only over Unix sockets.
- FFmpeg runs under Landlock and seccomp with no path to the file and no socket. All it can do is read and write streams.
- Small dependency tree on an allowlist, pure Go with no cgo, secrets sealed at rest and never logged.
- The library can be mounted read-only, so even a full compromise can't encrypt or delete your media.
- Cryptographically signed chain for servers and releases.
I’ve been working on a web application framework in Go called https://atlas9.dev
forking the internet. taking internet technology and using if for community rather than (pick 1: greed, corporations, predation).
I've been learning kubernetes with the help of Claude Opus and trying to build it into a course which others might find useful: https://gravitypersists.github.io/kubernetes-from-the-proble...
It's not meant to be super in-depth, more so aimed at understanding the high-level details and motivations of k8s. I figured that the best way to do that was to pose each chapter as an evolution of a startup experiencing a problem, and showing how k8s solves that problem, by treating the reader like the technical manager in the situation.
I'm not a k8s expert, so I can't definitively say it's "my course" but I will say, we're at an interesting time where you can contribute authorship to something and learn it at the same time. I'm spending more time steering the output the more I learn things, so it's not just slop.
https://hatamoto.dev - a complete replacement to Wordpress and its most used plugins built into the system. One go binary, no node , no compilation, Postgres and sandboxes plugins. Built in AI analytics
I'm working on a platform for selling event tickets (kind of an alternative to Ticketmaster or weezevent). I'm working on it on my free time for now (I am also using it to test working with AI tools ). Not sure yet if I want to build a company or not.
Software development is dying. I am teaching myself how LLMs really really work with this tool that I am building https://modelmathics.com you can try it on https://try.modelmathics.com
Aficionado (https://aficiona.do) - a place to discover, scrapbook and remember media (movies, video games, tv shows, music and books) that resonated with you or that you'd like to try.
i've been building wearover and getalcor.com -- a chain of apps handing off content where possible with use of on-device AI , but burning tokens and building more than serving the product well to end users, and might just wind up my startup experiment and take up a job or contract.
Still Raygum! Letterboxd for music - https://raygum.com
working on AudioWeave, an ad free, offline first Android podcast player.
switching from iOS, I wasn't happy with the existing podcast apps, so I built this mostly for myself. I've been using it for the last six months and finally pushed a public beta.
My day to day is BE so I used the project to learn Kotlin and Jetpack Compose. Everything is strictly native using Room and Media3/ExoPlayer. I wanted a nice looking (subjective), privacy-focused app without any tracking or ads.
I'm considering open sourcing it soon.
https://play.google.com/store/apps/details?id=com.enyodigita...
Indieweb/blogosphere index, search, and exploration.
Taking a break from features to focus on refining content filters and expunging sites that slipped through. Looking at you, .ai TLD.
Still plugging away on Slopjective-C 3.0 https://github.com/doublemover/Slopjective-C/pull/8278
and many other things
AI client for data analysis.
You can connect Claude desktop to databases using MCP servers, but Claude desktop is not great at displaying large volumes of data. A custom client can do a much better job.
https://reportr.com/