<?xml version="1.0" ?>
  <rss version="2.0">
    <channel>
        <title>Eric Camellini</title>
        <link>https://ecamel.me</link>
        <description>Eric Camellini - software engineer, project/product manager, climber, and more. Based in Milan, Italy.</description>
        <language>en</language>
        <lastBuildDate>2021-03-05T00:00:00Z</lastBuildDate>
        
      <item>
        <title>Personal website and blog setup</title>
        <link>https://ecamel.me/blog/personal-website-setup</link>

        <pubDate>2021-03-05T00:00:00Z</pubDate>
        <description>
        <![CDATA[<p>I decided to revamp my personal website - my previous setup was based on <a href="https://docs.github.com/en/github-ae@latest/github/working-with-github-pages/about-github-pages-and-jekyll">GitHub Pages + Jekyll</a>, but I wanted something more modern and on which I could have more control.</p>
<p>So, here it is: you're looking at it right now! It's a static website based on <a href="https://nextjs.org/">Next.js</a> - I also created an <a href="https://github.com/ecamellini/markdown-nextjs-blog">open-source template</a> that you can duplicate to create your own and quickly deploy it on <a href="https://vercel.com/">Vercel</a>.</p>
<h2>My own requirements</h2>
<p>Here are the requirements I had when I started creating this:</p>
<h3>Static &#x26; fast</h3>
<p>This is a simple static website, and I wanted it to be pre-rendered and super fast. Since I am comfortable with React, Next.js was an obvious choice: it's probably the easiest way to build statically rendered React-based apps and comes with an excellent developer experience.</p>
<h3>Continuous deployment</h3>
<p>Next.js is developed by Vercel, and they also offer a <a href="https://vercel.com/">platform</a> to quickly deploy Next.js apps - it's free for personal use! It is sufficient to create an account and connect it to the app's repository, and it just works, triggering a deployment for each commit on the main branch.</p>
<h3>Low editing friction</h3>
<p>I often edit the homepage description to keep it in sync with reality and my CV or LinkedIn profile. Thus, I wanted to lower editing friction as much as possible.</p>
<p>I chose to read its content from a Markdown file in the same repository. In this way, I can update it just by editing Markdown and committing. I applied the same to any other page.</p>
<p>For what concerns the blog, I can create a blog post by simply adding a new Markdown file in a folder of the website's repository - it's super easy with Next.js dynamic routes. It's what you build following the <a href="https://nextjs.org/learn/basics/create-nextjs-app">Next.js official tutorial</a>.</p>
<h3>Preview of changes</h3>
<p>I needed a way to preview any edit to the website, or any new blog post, before actually deploying it. Luckily, Vercel creates a preview deployment for every pull request by default - I can just perform a pull request on my website to add a new post (i.e., a Markdown file), and I have a preview deployed in a few seconds.</p>
<h3>Dark mode</h3>
<p>I wanted the website to follow the dark mode setting of the viewer's operating system - that's one of the main reasons I chose to use <a href="https://tailwindcss.com/">Tailwind CSS</a>. It's a CSS framework with a fantastic developer experience and comes with a dark mode feature out-of-the-box.</p>
<h2>Conclusion</h2>
<p>I am pretty satisfied with the result: it has a simple but cool look, and it satisfies all the needs I outlined above. Furthermore, I already wanted to try Next.js and Tailwind CSS, and this was the perfect occasion.</p>
<p>I hope the <a href="https://github.com/ecamellini/markdown-nextjs-blog">template</a> I created could help someone build their own blog.</p>
<hr>
<h3>Acknowledgments</h3>
<p><a href="https://francescodilorenzo.com/">Francesco</a>'s, <a href="https://fabriziorinaldi.com/">Fabrizio</a>'s, and <a href="https://dhh.dk/">DHH</a>'s websites were great inspirations. Special thanks to Francesco, who also suggested Next.js and Tailwind in the first place!</p>
]]>
        </description>
    </item>
      <item>
        <title>How we communicate in our company</title>
        <link>https://blog.buildo.io/how-we-communicate-in-our-company-33c149115f38</link>

        <pubDate>2020-07-19T00:00:00Z</pubDate>
        <description>
        
        </description>
    </item>
      <item>
        <title>Experiment, measure, repeat</title>
        <link>https://blog.buildo.io/experiment-measure-repeat-5e2c389e63ff</link>

        <pubDate>2018-03-30T00:00:00Z</pubDate>
        <description>
        
        </description>
    </item>
      <item>
        <title>Are you writing effective user stories?</title>
        <link>https://blog.buildo.io/are-you-writing-effective-user-stories-bcf3fad7183b</link>

        <pubDate>2018-02-20T00:00:00Z</pubDate>
        <description>
        
        </description>
    </item>
      <item>
        <title>My experience at Scala Italy 2017</title>
        <link>https://blog.buildo.io/my-experience-at-scala-italy-2017-c22377c6e488</link>

        <pubDate>2017-05-25T00:00:00Z</pubDate>
        <description>
        
        </description>
    </item>
    </channel>
  </rss>