
Show HN: Journal Together, journal with your friends over email, for free - stopachka
https://www.journaltogether.com
======
stopachka
Hey HN! I wanted to share Journal Together, an app I made recently to play
with clojure and scratch an itch:

Context:

I started a company with my best friend, and we decided to share a journal
with each other. We started off using Paper, but I thought it would more
convenient if was over email: we already use email, and it would be handy if
we were reminded.

I made a barebones version for us. We soon decided to add a few of our close
friends: many of them live in different cities, and we thought it would be a
good way to keep in touch.

It's turned out to be a blast so far. Here's how it works:

1\. You sign up, and invite your friends

2\. At the end of every day, you receive an email, asking about your day

3\. The next day, you receive a group email with your friends, with what
everyone wrote.

It's free to use : )

\--

Some technical notes:

Clojure has been a pure joy. Some reflections on building it:

* The REPL made working with webhooks _much_ a breeze
    
    
      * I could capture requests and replay them over and over. 
    

* Clojure interop + JVM is a superpower
    
    
      * Lib ecosystem def saves the day: java.time may be the best time library I've used. It was great to use Stripe's lib too.
    
      * B/c I could use threads, I could avoid introducing out-of- process queues for scheduling.
    

For the db, I tried to stretch firebase:

* Firebase's client side abstractions are best in class
    
    
      * Their database on the client abstraction masks a bunch of complexity: from optimistic updates to offline mode.
    
      * They _are_ extensible: i.e with custom auth
    

* The downsides were painful:
    
    
      * Rule engine is weak:  as soon as you start writing more serious rules it gets out of hand. I almost created my own DSL
    
      * Query engine is weak: Many to many relationships can't be managed without de-normalizing the data.
    

* There's room for a startup here ^

\--

It's still pretty rough, but I hope you enjoy it!

~~~
stopachka
Also a special note of thanks to the clojurians community: the folks on slack
are highly responsive, knowledgable, and go deep when they help.

