Fall Update

Tonight is the first night in a long time I sat down to write some code for KindMind. I've been busy (god, I hate that cliché). Let me rephrase that: as much as it pains me to say, I haven't prioritized KindMind these last few months.

Wife and I bought a house earlier this Summer and it's been a whirlwind of closing on the house, construction after the purchase, and about a million little house projects.

So tonight I fired up my terminal and started coding the next feature I'm excited about: custom styles for each of your journals. Right now, you can select custom journal styles, but those custom styles are shared across all journals. So if you select "hot pink" as your journal background, all your journals now have a hot pink background. Once I'm done with my current work, you'll be able to say, "I want hot pink as the background for my 'Art' journal and a bright green background for my 'Work' journal".

Just started working on the feature and having a ball. It's good to be back.

Features in the Pipeline

Summer's winding down here in Oregon.

I haven't had much time to work on KindMind this month at all, but I'm excited for a few features in the pipeline.

  • First: I'm making "public journal entry" pages look better. When you're writing a journal entry, you can highlight text and make it bold, italic, underlined, and so on. But if you make that journal entry "public" and then view the public entry, none of that rich styling is displayed. I'm going to change that.
  • Second: I'm making a HUGE change to the site layout that will be easier for users to navigate and understand.
  • Third: users will now be able to customize the styles (colors, font sizes, etc) for each of their journals! This is the feature I'm probably most excited about.
  • And fourth, which is a pretty big lift and probably happening in 2020: allowing users to publish, share, and rate journal themes. There is going to be a sweet UI to preview and select journal themes so your journals can look incredible.
  • On a parting note, please like us on Facebook! KindMind is based almost entirely on organic growth (users sharing it with others), so I would really appreciate it, thank you thank you.

    Mid-Summer Updates

    I'm in Sunnyvale for a friend's wedding typing this from our hotel room.

    KindMind re-launched a "custom styles" feature last month that I'm pretty stoked about. Clicking the little "paint bucket" icon in the top left of your journal shows a styles menu where you can edit journal colors and font sizes. It turned out really well if I do say so.

    I've also ripped out most of Semantic UI, the UI component library I was previously leaning on. I've put my chips in toward the new "cool kid on the block" library: Ant Design. In short, I am absolutely LOVING it. A lot of recent work has been completed with Ant Design, very happy with the results.

    I've been busy lately closing on a house and have had zero time to work on KindMind. Once my time frees up some more, I'll be working on adding a "Try it out (no sign up required)" button to the homepage. While that sounds like an easy order, it's actually surprisingly tricky with a few different approaches. Looking forward to diving into that.

    Beyond that, upcoming features include:

    • – Moving more of the site over to a React front end
    • – Redesigning the KindMind home page
    • – Making custom journal styles a community feature where users can save, share, and rate their custom journal styles (probably what I'm most excited about)

    That's all folks.

    May Update

    I turned 33 yesterday. feelsgoodman.jpg.

    In my last blog entry I was excited about my plan to Semantic UI and create my own UI framework. I ended up abandoning that plan. That fact is, I'm tight on time and, sure, I could write my own CSS/UI library but it came down to, "Is that the best use of my limited time?" While I love to code, I'm most passionate about KindMind as a product and tool. Journaling has been a powerful tool in my own life for over a decade, and I want to bring it to as many people as I possibly can as fast as I can.

    So instead of Semantic UI, I'm putting my weight behind a hybrid approach. On the main journal page, I'll be leaning on Ant Design, a React UI framework from China that has a lot of positive feedback surrounding it. On non-React pages, I'll lean on my own custom CSS.

    March Update

    I mentioned in my last post that KindMind is once again free, and it was the right move. User signups have increased a healthy amount, ~20 or so new users in March—not bad with no marketing!

    I've spent the last month working on security updates to the site, mainly updating Rails 5.1 to 5.2. That was interesting, semi-time-consuming process, but the site is better for it.

    Last year, I decided to move forward with the Semantic UI component library to help me speed up development on the front end. Semantic UI is a cool project, but it's mostly the efforts of a single developer who is hard pressed for time. So development on the project is slow (hey, I can't complain, it's open source and he's working for free!).

    Long story short, I've decided to phase out Semantic UI in favor of my own custom CSS framework. When KindMind first launched, it used Thoughbot's Bourbon, then Bourbon + Semantic, and moving forward: KindCSS (100% custom KindMind components).

    Beyond that, I'm looking forward to rolling out custom theming for a user's journals. Users will be able to change their journal's font, font color, and journal background-color.

    KindMind is free again

    Early last year I moved to a subscription model. Users were able to try KindMind out for 21 days, and if they liked it, they could purchase a subscription for $3 per month. If they didn't want to continue, they would be able to access all journal entries but not update or create any new ones.

    This didn't work out super great. The number of users signing up dropped off a cliff, and the feedback I got was that there wasn't enough value provided to be able to charge users in KindMind's current state.

    My plan this year is to roll out a very attractive paid option, but also offer a slightly less attractive free option. For now, it's free all the way, every day, baby. Looking forward to a year of helping as many people integrate journaling into their lives as I can.

    Looking Forward to 2019

    Another year is behind me, and what a year it was.

    I got married to my best friend, Lindsay, after six years of dating; went to Hawaii; spent time with family back home; left a job I'd spent the last two years at and was offered a new position at another company; and made some good progress on KindMind.

    Yesterday, the last day of 2018, I made a reddit post asking users of r/journaling for feedback on KindMind.

    I only got one response, but it was a great one full of constructive feedback.

    Long story short:

    • – It's not clear right now that there is no free version of KindMind
    • – If there is no free version, well, it's a tough sell. There simply isn't enough value yet to charge money
    • – The user expressed the desire to throw in more style and customization to their journal

    And a few other things, but that's the gist. Totally agree with just about every point.

    Based on this feedback, I'm going to set some goals for 2019:

    • – I will go back to a totally-free version of KindMind while I come up with a better plan for paid subscriptions. Ultimately, if this is going to be something with longevity, KindMind needs
    • – The top feature on my backlog is implementing "rich" text on a user's journal. Ever used Medium to write a post? That's the idea. Users should have the ability to make text bold, italic, underline, large, small, add lists, and so on.
    • – The second feature at the top of my backlog is allowing the user the ability to customize their journal's font, colors, and overall style

    Those are some solid goals for now, so I'll roll with them. Looking forward to seeing what this year brings.

    So the "monthly" blog post thing didn't work so well...

    But I'm back for November, baby!

    I had a round of interviews in the middle of this past week, and early on in the process, I mentioned my experience building KindMind.com. The last interviewer heard about this project and brought it up: "Where's the next monthly update? You're leaving us all hanging?!" I thought that was hilarious and was legitimately tickled-pink that a "fan" was asking for an update. Ha!

    So here's what I've been up to since my last post.

    Public journal entries

    If you write an entry, a little button appears next to the post where a user can publish it for all other users to read. Public/shared entries can be viewed here.

    I definitely don't want KindMind to be a blogging platform, but I see a supportive online community of journalers being an integral part of it going forward. I'd love to be able to comment on journal entries and support other people. I also want others to read my entries and offer input.

    Semantic UI

    Up until recently, everything, or just about everything, you see on KindMind is a custom-styled element. It takes time to decide how everything should look and behave. Now, I'm using a UI framework called Semantic UI. The general idea is that it's a library of many different "tools" used to build websites. So, for example, I can plug in a "sidebar" if I want, kinda like a lego, and that sidebar will look awesome and provide fancy functionality in certain cases that I didn't have to build myself. Open source is awesome!

    What I'm excited about right now

    The public journal entries feature is a minimally viable feature, but it's lacking a few things. First, user entries are currently anonymous; they aren't tied to any username. Users don't even have usernames. I need to change that.

    The end goal is to have a public journal entry show a label: "Written by G-Money-1986 in their Daily Gratitude journal".

    After that, I'll be able to work on a feature I've dreamt about for the last three years: styled journals. This is an exciting feature that users have asked for, and dammit, I want it myself. The idea is that users will be able to choose fonts, colors, and other stylistic components that change the look and feel of their journal. Can't wait to dive into it.

    Last, I'm doing a refactor of the site's Redux store right now. When I implemented React and Redux, I wasn't experienced with what the structure of the Redux store should look like, and now that I know how it should look like... well, there's a lot of room for improvement.

    So that's the current update. Slow and steady. Until next month.

    KindMind Monthly Report: June 2018

    I’m going to start posting monthly reports for KindMind where I go over:

    –Next month goals


    I had two major wins over the last month:

    1. I rolled out Stripe subscriptions
    2. I released a major UI redesign of the app

    The Stripe subscriptions are something I’ve been thinking about for a long time. I’ve tried to keep KindMind for free as long as I can—nearly four years since I started the project—but the fact is it must to be self sustaining in the long term. My expenses are about $1,500 a year right now; not huge, but it adds up. And I don’t have any budget for marketing at the moment which is no bueno.

    New users now have 10 days to try the app out, and if they like it, they can buy a $3 month-to-month subscription. I plan on implementing a free option in the future (important to me), but I need to focus on one thing at a time right now.

    As for the UI redesign: I’m really happy with how it went. The new design is ultra minimalist, even more than before, and imo offers a more seamless writing experience. I like how the new design has journal text centered on the page and puts a strong focus on journal text. Gone is the sidebar. The sidebar worked just fine, but it was also a slab of the interface with virtually no content except for the nav menu.


    The two main challenges were:

    1. Learning how Stripe works: subscriptions, webhooks, api calls
    2. Finding time to work on the Stripe integration and UI redesign between getting married (that’s right, I got hitched!) and a honeymoon


    A lesson I have learned over and over in my career as a developer is to ship the earliest viable feature possible, get feedback on it and improve, then repeat.


    I had a grand total of 7 user sign ups over the last 30 days. Yes, I know, not a lot, at all… It’s not hard to see why: I spent $0 on advertisement and basically zero effort spreading the word.

    July Goals


    –Making modals look prettier
    –Optimizing the site for mobile
    –Adding a “Feedback” link + form to the journal page
    –Research into how I’m going to implement V2 of journal themes


    –Add a “Blog” link to the landing page of KindMind to improve SEO
    –Reach out to Portland Business Journal to see if they’ll make a post about KindMind
    –Spend $150 on an ad campaign (Reddit, Google, Bing)
    –Post a July monthly report