每日 Show HN

Upvote0

2026年4月12日 的 Show HN

31 条
518

boringBar – a taskbar-style dock replacement for macOS #

boringbar.app faviconboringbar.app
305 评论5:25 PM在 HN 查看
Hi HN!

I recently switched from a Fedora/GNOME laptop to a MacBook Air. My old setup served me well as a portable workstation, but I’ve started traveling more while working remotely and needed something with similar performance but better battery life. The main thing I missed was a simple taskbar that shows the windows in the current workspace instead of a Dock that mixes everything together.

I built boringBar so I would not have to use the Dock. It shows only the windows in the current Space, lets you switch Spaces by scrolling on the bar, and adds a desktop switcher so you can jump directly to any Space. You can also hide the system Dock, pin apps, preview windows with thumbnails, and launch apps from a searchable menu (I keep Spotlight disabled because for some reason it uses a lot of system resources on my machine).

I’ve been dogfooding it for a few months now, and it finally felt polished enough to share.

It’s for people who like macOS but want window management to feel a bit more like GNOME, Windows, or a traditional taskbar. It’s also for people like me who wanted an easier transition to macOS, especially now that Windows feels increasingly user-hostile.

I’d love feedback on the UX, bugs, and whether this solves the same Dock/Spaces pain for anyone else.

P.S. It might also appeal to people who feel nostalgic for the GNOME 2 desktop of yore. I started my Linux journey with it, and boringBar brings back some of that feeling for me.

119

Claudraband – Claude Code for the Power User #

github.com favicongithub.com
44 评论4:55 PM在 HN 查看
Hello everyone.

Claudraband wraps a Claude Code TUI in a controlled terminal to enable extended workflows. It uses tmux for visible controlled sessions or xterm.js for headless sessions (a little slower), but everything is mediated by an actual Claude Code TUI.

One example of a workflow I use now is having my current Claude Code interrogate older sessions for certain decisions it made: https://github.com/halfwhey/claudraband?tab=readme-ov-file#s...

This project provides:

- Resumable non-interactive workflows. Essentially `claude -p` with session support: `cband continue <session-id> 'what was the result of the research?'` - HTTP server to remotely control a Claude Code session: `cband serve --port 8123` - ACP server to use with alternative frontends such as Zed or Toad (https://github.com/batrachianai/toad): `cband acp --model haiku`. - TypeScript library so you can integrate these workflows into your own application.

This exists cause I was using `tmux send-keys` heavily in a lot of my Claude Code workflows, but I wanted to streamline it.

9

A social feed with no strangers #

grateful.so favicongrateful.so
5 评论10:41 PM在 HN 查看
Grateful is a gratitude app with a simple social layer.

You write a short entry, keep it private or share it to a circle. A circle is a small private group of your own making — family, close friends, whoever you'd actually want to hear from.

It shows you the most recent post first. People in the circle can react or leave a comment. There's also a daily notification that sends you something you were grateful for in the past.

Try it out on both iOS and Android. Go to grateful.so

7

T4 – a versioned datastore with branching and time-travel (S3-backed) #

github.com favicongithub.com
2 评论5:22 PM在 HN 查看
Hi HN,

I built t4, a datastore that stores its WAL and snapshots in S3.

Instead of traditional storage, it writes append-only segments to object storage and reconstructs state from checkpoints + WAL.

A side effect of this model is that the database becomes naturally versioned: - you can restore any past state - branch from any point (with copy-on-write) - replay history

I started this as an experiment to replace etcd in Kubernetes, but it’s evolving into a general-purpose versioned state store.

Curious what people think about: - using object storage as the primary persistence layer - whether branching/time-travel is actually useful in practice

4

Uncook, the Social Network for Food #

uncook.xyz faviconuncook.xyz
2 评论11:47 AM在 HN 查看
How about something a little fun on your Sunday?

My friends and I have spent the last two years building Uncook, a social media platform dedicated to all things food! What started as a project among friends became a serious exercise in learning to build a company.

Our MVP feature set, while not likely to blaze any trails or win any prizes, is dedicated to one thing: creating a fun, digital space for cooking and sharing.

Our little group has learned a lot about what it takes technically to get a social networking application off the ground, and now learning WAY more about traction and marketing. Really starting to understand why people spend all that time getting business degrees now!

We are self-funded and taking this at our own pace. We’d be very happy for early feedback; we just released in January to North and South America. My apologies to the eastern hemisphere while we work through our GDPR strategy.

4

Bullseye2D – A Dart library for cross-platform 2D games #

github.com favicongithub.com
2 评论8:39 AM在 HN 查看
I posted this here about a year ago, but I just pushed a 2.0 release, so I hope you don't mind a second look :)

Bullseye2D is a 2D game library for Dart with a very simple API. The new version now supports multi-platform. It compiles to the web via a WebGL2 renderer, or natively to Windows, macOS and Linux through an SDL3 backend (which itself supports Vulkan, DirectX, Metal, and OpenGL renderers).

It doesn't depend on Flutter and has very few dependencies (except SDL3). It mostly provides a minimal foundation that you can build your own abstractions on top of.

This was also my first time leaning more heavily on AI (Opus) for a large refactor. I tried to review and test everything as good as I could, but honestly for the restructuring parts where I had the AI produce rather big chunks of code, I found reviewing and testing quite exhausting, and I still have a slightly queasy feeling about it. So this is also quite an experiment for me how good I'm able to utilise AI :)

https://pub.dev/packages/bullseye2d

3

Toy Python Lisp interpreters based on the 1960 McCarthy paper #

github.com favicongithub.com
0 评论10:01 AM在 HN 查看
I wrote this set of Python files to try to help programmers understand the original LISP paper, assuming zero mathematical or Lisp knowledge. The original paper is a mind-blowing piece of computer science history for many reasons - I'd recommend anyone to try and get their head around it.

I found plenty of fantastic LISP implementations which stay close to the original paper. But they are all fully-functional, practical implementations. The original paper builds from deeper fundamentals which it would be possible to write code in, albeit very impractical.

I implemented these earlier iterations, so programmers can follow the paper step-by-step in a more familiar language than 50s mathematical notation.

I am no expert in Lisp or mathematics, and intentionally went into this with no knowledge of Lisp beyond the original paper. I did not write it in the most elegant way, but in the simplest way for me to understand. So please don't take this code as a definitive statement on the language.

However, this code really helped me to understand the original paper better, and to begin using Lisp with a better grasp of the spirit of the language.

I'd welcome any thoughts from those who have more experience with Lisp or comp sci history.

3

Minnow – minimal now pages via chat #

minnow.social faviconminnow.social
1 评论11:30 AM在 HN 查看
If you make a site, comment it below!

(excerpt from about below)

The idea behind Minnow is that anyone should be able to make a personal website, especially with coding LLMs

So, simply tell the LLM what you're up to, provide any media links you want, and the LLM will draft a personal website for you!

By default it publishes to username.minnow.social, or you can disable & copy/download the HTML instead

3

ReverseYC #

rocketplace.org faviconrocketplace.org
3 评论2:11 PM在 HN 查看
Companies that applied to YC, got rejected, and still built something real
3

SnatchHub – An App That Solves The "who's using staging?" Problem #

getsnatchhub.com favicongetsnatchhub.com
0 评论8:57 PM在 HN 查看
I'm software developer, and in almost every team I’ve been on, we had the same recurring issue: shared things with no clear ownership.

Things like:

- staging environments - test devices - sandbox accounts

And it always ends up the same way: someone deploys over someone else, QA tests get interrupted, or you’re digging through Slack asking “who’s using this right now?”

We tried a bunch of solutions over time:

1. Slack: People end up pinging each other to figure out who’s using which environment. Sometimes a dedicated channel is created where everyone posts updates like "Reserving Service X on staging". The problem is these messages quickly get buried, are easy to miss, and create constant context switching noise.

2. Spreadsheets: A more “organized” version of the Slack channel—environments. with (Staging 1, Staging 2, etc.) as columns, and team members as rows, and an “X” marking who’s using what. In reality it quickly becomes outdated and unreliable.

I got a bit fed up with it and ended up building an internal app to experiment with a different approach: basically a simple way to see what’s currently in use and “reserve”/"release" it (with a queue function if it’s taken), right in your task bar, with no need to do any context switching.

I'm curious whether you faced the same issue in your teams? and how are you handling it?

2

Android AI agent-assistant operating your apps (no adb,PC,root,etc.) #

2 评论11:48 AM在 HN 查看
Hi HN,

We built Sova AI https://ayconic.io/sova, an Android assistant agent that actually controls and operates your apps. It's not a chat and not another LLM wrapper.

We were incredibly frustrated with the current state of mobile AI. Built-in assistants like Gemini are deeply integrated into the OS, yet if you ask them to "Order an Uber to the airport", they mostly just give you web search results or a button to open the app yourself. They don't do the work. (The Perplexity "assistant" is just a browser agent :/ )

So, we built an agent that does operate your phone. (NO root, NO adb, NO PC, NO appium/whatever, NO usb, NO browser)

How it works: You give Sova a prompt - either voice or text, you can make it a default assistant if you like. Instead of relying on non-existent official app APIs, Sova acts as a virtual human - clicks, scrolls, types etc. It uses the Android Accessibility API to read the screen's UI node tree. About AI models - currently we support main AI cloud providers (OpenAI, Gemini, Anthropic, Deepseek etc etc) and working towards support of local AI models on your host - Ollama, LM studio, etc. Pricing: 100% Free / Bring Your Own Key (BYOK) We aren't charging for the Sova engine right now. We built a BYOK system: you plug in your own API key (OpenAI, Claude, whatever you prefer), and you only pay the provider for the tokens you use. We figured out how to do this entirely on-device as a standard Kotlin app. No tethering to a PC, no Appium, no Root, and no Shizuku/ADB workarounds. Just an app even your granny can use.

The Google Play Ban: Because we use the Accessibility API for "universal automation" (literally mapping and clicking other apps), Google Play rejected our submission. It’s ironic: they banned us for building the exact agentic behavior that Gemini promises but fails to deliver. So, we are hosting the APK ourselves: https://sova.ayconic.io

We’d love for you to download the APK, plug in your key, and try to break it. What apps completely confuse the agent? Roadmap: support of local models with Ollama, LM studio or another tools, predefined rules and personas for your tasks, detailed statistics for you, support for Openrouter, enterprise Amazon Bedrock, Google Vertex and Azure Foundry models, support for IOS.

What would you like to see more? We'd be happy to hear your feedback, success and failure stories.

Video demo is here https://www.youtube.com/watch?v=r-x6hRmtBy0 and APK is here: https://ayconic.io/sova We are here to answer your questions and listen to feedback in Telegram and Discord. It's not perfect yet, but it does its work.

2

Chunk – macOS menu bar time-blocking app with Claude AI integration #

chunkapp.net faviconchunkapp.net
1 评论12:39 PM在 HN 查看
Chunk is a native macOS menu bar app for time-blocking your day. It floats above all windows – including fullscreen apps – so your schedule is always one shortcut (Cmd+/) away without ever leaving your flow.

Key things I built into it:

- Drag-to-create/move/resize time blocks on a 24-hour timeline, with a live countdown in the tray icon - Two-way sync with Google Calendar and Outlook (create, move, resize, delete events back to source); Apple Calendar read-only - Things-style three-column task sidebar: lists | tasks | day view, with Apple Reminders integration so you can drag reminders onto the timeline - Templates + Routines – build a reusable day structure and auto-apply it on chosen weekdays - Fullscreen notifications that flash the block name across your entire display at task transitions - Claude AI integration via a local MCP server – Claude can read/create/edit your schedule, todos, and templates. Everything runs on-device; nothing leaves your Mac except what Claude itself processes - Built with Tauri 2 (Rust backend + React/TypeScript) so it's fast and lightweight, not Electron

It's a paid app (one-time purchase) with a free trial. No card required to try it – just download and run.

Happy to answer any questions about the implementation

2

Turn 3 letters into a cube with different projections (inspired by GEB) #

geb.gjlmotea.com favicongeb.gjlmotea.com
0 评论3:00 PM在 HN 查看
Input three characters, and it grows into a cube.

From the front view, you see the first character. From the side view, you see the second character. From the top view, you see the third character.

This page is designed to explore this idea. Given any three arbitrary characters, it computes a corresponding voxel structure.

It supports adjustable resolution and includes three different algorithms. For arbitrary combinations of characters, there may be multiple valid solutions—or none.

When the overlap between shapes is too small, no valid intersection can be found. In that case, additional “approximate” lines are introduced to best satisfy the three projections.

It supports freehand drawing input. It supports model export and shareable links.

On desktop, users can enter an interactive mode similar to Minecraft creative mode, where the voxel model can be edited freely: left click removes blocks / right click adds blocks. Users can build shapes and observe their projected silhouettes on each face.

I’ve been interested in this kind of ambiguous projection / perspective-dependent geometry since childhood. (Although it may not strictly be “optical illusion”.)

This kind of projection-based structure suggests that: different viewing angles lead to different interpretations, and the same underlying object can produce different beliefs or philosophical readings depending on perspective.

What seems like completely contradictory conclusions may still originate from the same underlying structure or entity.

1

SpecSource – AI That Writes Linear Specs from Sentry, GitHub, & Slack #

specsource.ai faviconspecsource.ai
0 评论12:54 PM在 HN 查看
Hi HN, I'm Antoni. I built SpecSource to automate the tedious research you do for every new Linear ticket - matching with Sentry errors, finding the relevant code, searching Slack for context, checking for duplicates in Linear.

You connect your ticketing system like Linear to tools like Sentry, GitHub, Slack, and when a new ticket comes in, an AI agent cross-references everything and writes a structured specification. Takes about 30 seconds. The output works well as input for AI coding agents too.

Free tier: 100 credits/month (enough for ~20 tickets in my experience). Pro: $10/month for 1,000 credits.

Happy to answer questions about the approach or architecture :)