Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Show HN: Biff 2.0 (Clojure web framework) (biffweb.com)
2 points by jacobobryant 1 hour ago | hide | past | favorite | discuss
Biff is a web framework that I originally released 6 years ago.[1] I've just finished more-or-less rewriting it from scratch. The main changes:

- SQLite is now the default database.

- Datastar is used for server-side rendering.

- Introduces biff.graph[2] and biff.fx, two libraries that both help structure your application logic.

- Biff is now "just" a collection of independent libraries rather than a single monolithic framework, which makes it much easier to swap out the various parts. e.g. using a non-default database is much less work now.

I'd been experimenting with a good chunk of this work (the database change and the biff.graph / biff.fx stuff) starting 2 years ago. The Datastar and independent libraries stuff goes back 6 months or so. Datastar's been on my radar for a while and has been picking up steam in the Clojure community, for good reason IMO. The independent library stuff was instigated by me trying out LLM-driven coding for the first time earlier this year: I wanted to try making a Clojure web app without using Biff to see if web frameworks still seemed helpful (my conclusion: absolutely) and how I might do things from first principles were I to start over. So I did that and then started packaging up/rewriting various Biff code as smaller individual libraries as I went.

Note that I consider Biff to be mostly "hand-coded"; I start with LLM-written drafts of code but often by the time I'm done editing it's been completely reworked. The initial drafts of docs are all hand-written. I'm interested to try using it for vibe-coding apps though. e.g. how much of the code that requires good judgment can I pull into the framework so that the apps are then easier for LLMs to not screw up.

[1] https://news.ycombinator.com/item?id=23921220

[2] https://news.ycombinator.com/item?id=48820361

 help



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: