<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Carlos Ruano (he/him)</title>
    <description>The latest articles on Forem by Carlos Ruano (he/him) (@cruano).</description>
    <link>https://forem.com/cruano</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F364470%2Fa5fff7f2-a5da-4460-bac2-f35278e1f670.png</url>
      <title>Forem: Carlos Ruano (he/him)</title>
      <link>https://forem.com/cruano</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/cruano"/>
    <language>en</language>
    <item>
      <title>Diarist app - My entry for the #TwilioHackathon</title>
      <dc:creator>Carlos Ruano (he/him)</dc:creator>
      <pubDate>Tue, 28 Apr 2020 04:32:13 +0000</pubDate>
      <link>https://forem.com/cruano/diarist-app-1b73</link>
      <guid>https://forem.com/cruano/diarist-app-1b73</guid>
      <description>&lt;h2&gt;
  
  
  What I built
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Diarist&lt;/strong&gt; is an app to help you update your Journal directly from Whatsapp. &lt;br&gt;
To use it you need to do the following:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Create an account by providing your phone number&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--zj7bJkCb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/8sL4EBe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zj7bJkCb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/8sL4EBe.png" alt="Registration"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You'll receive a whatsapp message from us asking you &lt;code&gt;How was your day today?&lt;/code&gt;, just reply to it and we'll save your response&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--G29LAUBo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/cv2a5CM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--G29LAUBo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/cv2a5CM.png" alt="Welcome"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--N1hHE_l0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/kmU3DRf.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--N1hHE_l0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/kmU3DRf.jpg" alt="Whatsapp"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;When you want to see your old entries, just log into the website or consume from the REST API.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--SLYxIe0V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/Gov4oME.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SLYxIe0V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/Gov4oME.png" alt="Journal"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;
  
  
  Why is this better than an app or an old-fashioned notebook ?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;A common recommendation when starting a diary is to &lt;a href="https://www.skillsyouneed.com/ps/diary-journal.html"&gt;write as if you were writing to a friend&lt;/a&gt;, so what if the platform you used to do that was the very same one ?&lt;/li&gt;
&lt;li&gt;You don't have to install anything, it's literally just a number you text.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Demo Link
&lt;/h2&gt;

&lt;p&gt;Since there's still some functionality missing from the app (e.g. proper user management, I don't have an approved whatsapp business account, etc.) I've decided not to host it just yet, so I recorded a short video showing the functionality:&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/UUQqogz5KqU"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;I hope you forgive my bad editing skills and dull voice over 🙈 &lt;/p&gt;

&lt;h2&gt;
  
  
  Link to Code
&lt;/h2&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vWogaON8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/github-logo-28d89282e0daa1e2496205e2f218a44c755b0dd6536bbadf5ed5a44a7ca54716.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/caruano95"&gt;
        caruano95
      &lt;/a&gt; / &lt;a href="https://github.com/caruano95/diarist"&gt;
        diarist
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Journaling made simple
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;h1&gt;
Diarist&lt;/h1&gt;
&lt;p&gt;Journaling made simple.&lt;/p&gt;
&lt;p&gt;How it works:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Create an account&lt;/li&gt;
&lt;li&gt;You get a whatsapp message asking &lt;code&gt;How was your day today?&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;You reply to the text with all your adventures&lt;/li&gt;
&lt;li&gt;That's it !&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Once you feel like reading some of your old entries you can go to the webapp or consume from the rest API to get your messages formatted and time-stamped
It will also continue to send you a text every day so that you don't forget to update your diary.&lt;/p&gt;
&lt;h2&gt;
About the app&lt;/h2&gt;
&lt;p&gt;A "Diarist" is a person who writes a diary
This app lets you send your journal updates via Whatsapp and view them on your browser
Note that:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;It is my entry for the Twilio x DEV &lt;a href="https://dev.to/devteam/announcing-the-twilio-hackathon-on-dev-2lh8" rel="nofollow"&gt;hackathon&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;It is based on the java &lt;a href="http://sparkjava.com/documentation.html#request" rel="nofollow"&gt;Spark framework&lt;/a&gt;. Heavily influenced by the &lt;a href="https://www.twilio.com/docs/sms/tutorials/appointment-reminders-java-spark" rel="nofollow"&gt;appointment reminders&lt;/a&gt; app example from Twilio.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you are curious about the future, inspirations…&lt;/p&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/caruano95/diarist"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;h2&gt;
  
  
  How I built it
&lt;/h2&gt;

&lt;p&gt;I did the first draft of the app using the &lt;a href="https://concepts.app/en/"&gt;Concepts app&lt;/a&gt; which you can see &lt;a href="https://github.com/caruano95/diarist/blob/master/docs/layout.pdf"&gt;on the repo docs&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once I had a more clear idea I started looking at Twilio's examples and I found this &lt;a href="https://www.twilio.com/docs/sms/tutorials/appointment-reminders-java-spark"&gt;Appointment reminders&lt;/a&gt; java spark app which seemed like a good baseline to build the project on top off.&lt;/p&gt;

&lt;p&gt;In the end I used the Spark micro-framework for everything from the rest API to the frontend, as well as the Mustache template engine. I also use a MySQL instance to store all of the users journal entries.&lt;/p&gt;

&lt;h2&gt;
  
  
  Inspiration for the app
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;I've been thinking about diaries since I saw that &lt;a href="https://youtu.be/6xSxXiHwMrg"&gt;Loretta&lt;/a&gt; superbowl commercial from Google (If you haven't seen it, go do that now, it's really good).&lt;/li&gt;
&lt;li&gt;The &lt;a href="https://youtu.be/fPkPesz-t_Q"&gt;Mellow Days&lt;/a&gt; youtube channel is probably my goal as to how I want the interface to look&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  A better description of the app
&lt;/h2&gt;

&lt;p&gt;I like to think it's split in 3 separate functions:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;A &lt;strong&gt;journal 'prompt'&lt;/strong&gt;. This is the whatsapp message you get everyday. It's purpose is both to remind you to write every day and also to inspire some responses (There's a difference between "Remember to write your diary" and "What was the best part of your day?")&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;journal manager&lt;/strong&gt;, to CRUD all of your journal entries&lt;/li&gt;
&lt;li&gt;A (not so) fancy &lt;strong&gt;journal viewer&lt;/strong&gt; to read your old entries. Currently it's very simple but my vision for it includes different themes and tools to edit your entries&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  What's next for the Diarist app ?
&lt;/h3&gt;

&lt;p&gt;I already have some ideas but we'll see what the future brings (If you want to collaborate or bounce off more ideas I would appreciate the input):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Add configurable journal prompts. I think figuring out what to write about it's really hard and asking the right questions always helps.&lt;/li&gt;
&lt;li&gt;Add more ways to send updates. Email is an obvious candidate for the next integration.&lt;/li&gt;
&lt;li&gt;Create an "On this day" feature like the one on Facebook. Journal entries are there to be remembered and although I'm not a Facebook user anymore I do miss that feature.&lt;/li&gt;
&lt;li&gt;Make the notification schedule configurable. Do you want a message every day at 8 PM ? You got it! Do you want a message only on Sundays ? It's up to you&lt;/li&gt;
&lt;li&gt;Create "themes" for the viewer. Mainly based around the stuff &lt;a href="https://www.youtube.com/channel/UCU3ZpZbnPqdfUVU5zAeofcQ"&gt;Mellow Days&lt;/a&gt; from youtube creates since I'm interested on the whole "Looks hand-drawn but it's actually generated digitally" kind of stuff&lt;/li&gt;
&lt;li&gt;Normalize all of the stored data. I've seen some of the projects like &lt;a href="https://github.com/notable/notable"&gt;Notable&lt;/a&gt; use markdown as a way to avoid vendor lock-in, which is a win for everyone IMO&lt;/li&gt;
&lt;li&gt;Add an easy way to edit the journal entries. I'm sure I'm not the only that has twice as many typos when writing on my phone.&lt;/li&gt;
&lt;li&gt;Add support for pictures (and other media). &lt;a href="https://medium.com/@dt/the-myth-and-reality-of-a-picture-is-worth-a-thousand-words-a4ea985f8932"&gt;That old adage&lt;/a&gt; is true after all.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>twiliohackathon</category>
    </item>
  </channel>
</rss>
