My first journal entry, I plan to do this every week.

Get familiar with ReasonML

I'm a JavaScript developer for about six years now. I love the language and the community. However, I wanted to experiment with a new language.
I was looking for the right language to learn, I started to learn Rust, Elm, Typescript, and others. But last week My friend introduced me to ReasonML, and it just clicked.

(I will write a post on why I choose it.)

So I decided to re-build CreateCamp.co with it.

Building CreateCamp.co With ReasonML

I had 4 main requirements for CreateCamp.co website.

  1. Should be Server-Side Rendering - SEO.
  2. Should use React.js newest version - The one with the hooks :)
  3. Should use Tailwind CSS - Love it, so easy to build great design with it.
  4. Should be easy to build and maintain :)

I was working on a little library that does SSR with React a few weeks ago, and it was a great start to accomplish 3 of my requirements.

Using Razzle.js as a base for my project and integrating Tailwind to the build process with Webpack.  — Solved requirements 1 and 3. Easy enough.

ReasonML have a library for React call reason-react, but its uses React version ~15.4, and I wanted to use the alpha version of React. I think that hooks are the future of the framework, so why not using it right now.

Little googling and I found bs-react by Andreas Eldh, it was exactly what I was looking for — Solved requirement 2.

ReasonML solved requirement 4, it's a great language with a strong type system and functional approach, but give you many escape hatches if you get stuck.

Continues Delivery / Integration with GitLab

For fast iterations on CreateCamp, I use GitLab free tier to host my project code and deploy my code into Digital Ocean server.

I'm writing a blog post about it(WIP).

Making New Friends in The Community

I published CreateCamp manifesto on Wednesday, and wrote about it on Maker's Kitchen Slack. The post was a success. I get to talk with two Makers Jean-Elie Barjonet and Sunny Singh. About how they are building their audience and what they are struggling with. It's always a pleasure to meet new people.

I also contacted bs-react creator Andreas Eldh and ask him if I can join the effort to make bs-react better.
He was kind enough to agree and to help me create ReasonML bindings.

Next Week

  • I want to publish my first Reason bindings. It's going to be a binding of react-fetch-hook.
  • Talk to more Makers about CreateCamp, and how they are building their audience.
  • Working on CreateCamp website, design and copy.
  • Finish writing CI/CD with GitLab blog post.