figbert.com-website

[ACTIVE] the website and home of figbert on the clearnet
git clone git://git.figbert.com/figbert.com-website.git
Log | Files | Refs | README | LICENSE

index.md (3720B)


      1 +++
      2 title = "Blind Date A Book"
      3 description = "A website to help you find your next read, with a charming twist."
      4 date = 2025-01-19T17:20:00-08:00
      5 +++
      6 
      7 [Blind Date A Book] is part ecommerce website and part art project. I
      8 first encountered its physical counterpart at a Barnes and Noble some
      9 five years ago: I remember thinking to myself even then that it was a
     10 perfect candidate for digitization. At long last, using the approach to
     11 making I picked up [in DESIGN11], I've hacked together a boutique
     12 version of this experience accessible for anyone with an internet
     13 connection.
     14 
     15 ![A table at SF's Telescope Coffee covered in disguised books](cafe.jpg)
     16 
     17 At first I was confused by the lack of digital equivalent to the
     18 physical stands. Surely ordering books online is a solved problem? I
     19 mean, that's what Amazon was founded on—and a custom frontend that just
     20 displays things differently seems a trifling project.
     21 
     22 A hyperscaling version might look something like:
     23 
     24 1. Scrape books from [some list].
     25 2. Have a generative model write summaries based on a set of examples.
     26 3. Display that on a sexy website.
     27 4. Have Amazon deliver the books to users.
     28 
     29 Turns out it's hard to buy things with code. So it actually came out a
     30 bit more [personal]:
     31 
     32 1. A list of books chosen by myself, my family, and my best friends.
     33 2. Descriptions we wrote.
     34 3. The website is still sexy.
     35 4. It sends you to Shopify where you buy *Book #X*.
     36 5. I see that, go buy the real book, and send it your way.
     37 
     38 More of a sensitive touch, perhaps.
     39 
     40 ![Early ideation of the website in my notebook](notebook.png)
     41 
     42 The tech stack of the site bears further analysis. I've [long] [puzzled]
     43 [over] the best way to go about building web projects, whereas I have
     44 strong established preferences for [CLIs] and [iOS/macOS] apps. With
     45 this project, I decided to try a new framework that has been making
     46 waves in the community: [Web Origami]. I enjoyed a lot of what it has to
     47 offer:
     48 
     49 - The top-level declarative approach to routes reminded me of SwiftUI.
     50   That's a huge compliment.
     51 - You can seamlessly weave between HTML, JS, and the Origami language.
     52   This manages to avoid feeling overwhelming, like Rails can when
     53   exposing a similar number of possibilities to address problems.
     54 - Flexible data processing that transparently handles different formats
     55   makes navigating nested structures in templates easy.
     56 
     57 It wasn't all sunshine and rainbows, though. The data processing
     58 capabilities are something of a double-edged sword: formats like YAML
     59 and JSON are convenient (especially for source control), but something
     60 of a hack to avoid interfacing with a real database. I can see that
     61 design being limiting for certain use cases. Still: I sent a message in
     62 the [Matrix room] about hosting in production and the author replied
     63 really quickly and was super helpful. That's worth a lot, in terms of
     64 goodwill and my hope for the future of the project. I'll keep my eye on
     65 Origami, though I've got some more experimenting to do before I commit
     66 to the framework in the longterm.
     67 
     68 Check out [the website][Blind Date A Book] for yourself to find your
     69 next read!
     70 
     71 [Blind Date A Book]: https://blinddateabook.com
     72 [in DESIGN11]: @/posts/stanford-quarterly-reflection-05/index.md#academics
     73 [some list]: https://news.ycombinator.com/item?id=22371436
     74 [personal]: https://bsky.app/profile/andy.works/post/3lclb4jvle72u
     75 [long]: https://fosstodon.org/@FIGBERT/112812107966936565
     76 [puzzled]: https://fosstodon.org/@FIGBERT/113683895559149910
     77 [over]: https://fosstodon.org/@FIGBERT/112893509255400989
     78 [CLIs]: https://charm.sh
     79 [iOS/macOS]: https://developer.apple.com/xcode/swiftui/
     80 [Web Origami]: https://weborigami.org
     81 [Matrix room]: https://matrix.to/#/%23weborigami:envs.net