<?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>DEV Community: Steeve Lennmark</title>
    <description>The latest articles on DEV Community by Steeve Lennmark (@snorkypie).</description>
    <link>https://dev.to/snorkypie</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%2F200915%2F7743388a-1da5-4f16-ad80-3b6d77df3fc8.jpeg</url>
      <title>DEV Community: Steeve Lennmark</title>
      <link>https://dev.to/snorkypie</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/snorkypie"/>
    <language>en</language>
    <item>
      <title>My new side project</title>
      <dc:creator>Steeve Lennmark</dc:creator>
      <pubDate>Sat, 31 Oct 2020 10:45:56 +0000</pubDate>
      <link>https://dev.to/snorkypie/my-new-side-project-3l5l</link>
      <guid>https://dev.to/snorkypie/my-new-side-project-3l5l</guid>
      <description>&lt;p&gt;So, first time writing anything public, ever. Hi!&lt;/p&gt;

&lt;p&gt;I picked up a side project and thought I'd write a bit about the choices of tech, hardware, services and so on. For the moment I'm gonna keep it a secret exactly what it is I am working on but I can still talk about the broader view.&lt;/p&gt;

&lt;p&gt;First things first, my name is Steeve, I currently live in Romania but I'm originally from Sweden, where I spent the first 33 years of my life (currently clocking in at almost 40). I'm co-founder of a startup in Sweden called &lt;a href="https://www.matspar.se/"&gt;Matspar&lt;/a&gt; where we collect data from online grocery stores (only Sweden at this moment) and help users figure out which store would be cheapest.&lt;/p&gt;

&lt;p&gt;Now on to this new project which currently receives most of my free time where I'm not coding on Matspar. In its most basic form it's a webpage where people (with account) can upload a certain type of file and have it parsed, and then later dig around in this data. This might not sound that hard but it's a lot of data and needs to be extremely snappy, which is why I chose to write it in Golang since it's a good combination of fun to write and fast to run.&lt;/p&gt;

&lt;p&gt;This project initially started as a small cli application for personal use and someone snowballed into this huge thing that I'm now super stoked about. Also gives me a chance to learn about some pretty cool technologies I've yet to dig my teeth in to.&lt;/p&gt;

&lt;h4&gt;
  
  
  The tech I've chosen for this project is as follows:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Next.js - Looking into maybe switching to &lt;a href="https://remix.run/"&gt;Remix&lt;/a&gt; since I am a bit unhappy with Next.js overall&lt;/li&gt;
&lt;li&gt;GraphQL (Golang) for the public facing API&lt;/li&gt;
&lt;li&gt;gRCP (Golang) for the internal API&lt;/li&gt;
&lt;li&gt;PostgreSQL for storage&lt;/li&gt;
&lt;li&gt;Redis for some storage but mostly for cache&lt;/li&gt;
&lt;li&gt;HashiCorp Consul for service discovery&lt;/li&gt;
&lt;li&gt;HashiCorp Nomad for docker orchestration and deployments&lt;/li&gt;
&lt;li&gt;Traefik for dynamic&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  The "hardware":
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;1 x 2950X (16-Core ThreadRipper), 128G ram, 2 x 960 NVMe SSD&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I did a lot of benchmarking before finally settling on this choice. What I pay for this dedicated server over at &lt;a href="https://www.hetzner.de/"&gt;Hetzner&lt;/a&gt; I get basically nothing over at AWS (which would have been my preferred choice). Just for a reference, I can parse around 35K chunks of uploads per second on my i7 laptop. I maxed out at 20K on AWS and I get a whopping 180K/s on the ThreadRipper. I have in my backlog to benchmark an i9 too since it has higher single core clock speeds and if that pans out I might switch to 3 of those machines instead which would land me around $250/mo.&lt;/p&gt;

&lt;h4&gt;
  
  
  The cloud services:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;GitHub for code hosting&lt;/li&gt;
&lt;li&gt;GitHub actions for building and deployment&lt;/li&gt;
&lt;li&gt;Vercel for hosting the site&lt;/li&gt;
&lt;li&gt;CloudFlare in front of the API, mostly because I get free SSL without hassle&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://m.do.co/c/d2a5180eec31"&gt;Digital Ocean Spaces&lt;/a&gt; for storing uploaded files and backups&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://magic.link/"&gt;Magic&lt;/a&gt; for authentication, though I am NOT happy with the latency from Europe to their AWS servers in the US so I might have to find an alternative or implement passwordless login myself.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I guess that's it for now and I am sure I forgot to mention a lot of tech being used but I hope to write something about this project bi-weekly here for whoever might be interested. And hopefully you guys can come back with some feedback on improvements and new stuff I've yet to disover!&lt;/p&gt;

&lt;p&gt;Have a great one and stay safe!&lt;br&gt;
Steeve&lt;/p&gt;

</description>
      <category>go</category>
      <category>grpc</category>
      <category>postgres</category>
      <category>graphql</category>
    </item>
  </channel>
</rss>
