3 ms·
Show HN: Journal Together, journal with your friends over email, for free
- stopachka 6y agoHey 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 6y agoAlso a special note of thanks to the clojurians community: the folks on slack are highly responsive, knowledgable, and go deep when they help.