HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
taoensso
sente
Clojure2014–2020
taoensso / sente

sente

Realtime web comms library for Clojure/Script

5Distinct people
6Mentions
0Explicit recommenders
1.8KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Realtime web comms library for Clojure/Script

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year6 dated mentions

Observed mentions: 2014-06-17 21:41:19 UTC to 2020-04-12 16:00:19 UTC.

01232014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20142015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments20172018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2020

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC202
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC312
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC000
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC000
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC000
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC000
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC101

What Hacker News says

6 sources
Hello HN, This is a tiny little thing that me and a frequent collaborator [0] wanted to express in these challenging times. What if people miss something as awkward and forgettable as elevator small talk? Right now, there are virtual places where we can meet, collaborate, do yoga, talk about books, watch content together, and rave. This virtual space gives you an analog that is a little more from the daily inbetween times. After long days of video calls at work, we ended up doing more video calls each evening to get this wrapped up. Overall this small concept took four weeks to finish. In the process I primarily learned that there have been notches in screens for a few years now. The whole thing is built with Clojure and ClojureScript. And largely leveraged Sente [1], a wonderful front+back end WebSocket story. The characters are customiz
Read the rest
ed from the amazing Open Peeps library [2]. And there is some more info in the (?) on the website for the curious. I am curious about what this community thinks about little, possibly zen, distractions like this? [0]: https://ameliedinh.com/ [1]: https://github.com/ptaoussanis/sente [2]: https://www.openpeeps.com/
In Show HN: Elevator party – An interactive small talk experience
I have not worked at the scale discussed by Joseph Wilk, but I am pleased so far with my ability to build out micro-services with Clojure. The eco-system around Clojure seems to get stronger every day. I'll mention a few of the libraries that I'm using. For building out a RESTful API, I found Liberator to be very clever and original: http://clojure-liberator.github.io/liberator/ For handling internal queues, I use Lamina: https://github.com/ztellman/lamina For instance, when saving something to the database, I usually put the data in a closure, put the closure in a Lamina "channel" and let some workers execute the closure when the thread-pool and IO constraints allow. I just started experimenting with the Ribol conditional restart system, for error handling: http://docs.caudate.me/ribol/ For the integration of frontend with backend (Mongo
Read the rest
DB) we were originally going to use DerbyJS, but I talked the team into trying Sente instead: https://github.com/ptaoussanis/sente We are not done, so the jury is still out, but I am very impressed, so far, with Sente. For dealing with MongoDB, we use Monger, a library that just keeps getting better and better: http://clojuremongodb.info/ In terms of my personal development, I have struggled to find a workflow that allows me to be efficient at the REPL. I am just now starting to use Daniel Szmulewicz "system" which I am hopeful about: https://github.com/danielsz/system
In Building Clojure services at scale
An Om question: what do you store in the app state and what do you store in component local state? In my own application, I started off storing everything in app state, using local state only for short-lived transient data, but over time I found that having a bunch of information like what tab is currently visible in the app state became difficult to manage and made the app state a nightmare. So now I like to keep a strict separation: app state is basically my model - the data being processed (if I were writing a text editor, its the document being edited) and local state is everything else: which dialog is open, which tab is selected, button toggle state, mouse state etc (in a text editor, whether bold is selected, whether I'm in print preview mode or edit mode, etc). Basically app state is what is being processed and local state is how
Read the rest
to process or display it. This separation also means that the app state is what gets synced with the server. I like to think of it as "if its something I might want to persist in the database, then it lives in app state, if its something I would never want in the database, then it lives in local state" I'm curious what other peoples experience with this is. Another Om question: how do you sync state between client and server, or how do you handle communication? I looked at how om-sync does this (using tx-listen to automatically sync changes), but ended up building a more traditional request/response model using sente[0] and having my app ask for sub-trees of my app state as needed. Again, just wondering about peoples experience with this and different approaches tried. [0] https://github.com/ptaoussanis/sente
In Om Sweet Om: functional front-end engineering with ClojureScript and React

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.