I recently wrote an article about adding analytics to your app, which was secretly a gateway to teaching React hooks.

I was using create-react-app, react-router and Google Analytics for the project which inspired that article, but for this week’s project I decided to go with Next.js for the UI / routing, and Plausible.io for the analytics. Why I made different choices for this particular project is a different discussion, feel free to ask and I’ll happily elaborate; but this article is about explaining how I did it… with Typescript support!

A big chunk of the previous article was on how to track client-side route changes. With Next.js that process is much more straightforward, no hooks needed 🎉 It’s a moot point though, since Plausible.io is a much cleaner alternative to Google Analytics across the board and its retro gtag script especially, it takes care of that common scenario itself out of the box! …


I’ve defined my mission as “get more brilliant minds into software engineering”, so I’ve been offering tutoring time over the weekends to my friends!

I find Frontend Engineering the most effective “in” into engineering, so that’s my teaching platform, which led to many asking… What is a Frontend Engineer anyway?

That’s a very good question! Some job roles describe the value they bring quite intuitively, most of the roles you find in your average London startup… not so much. Consider “Yoga Teacher” versus… Well, “Frontend Engineer”. Is it even “frontend” or “front-end”?

Let’s visualise an app like Instagram. You may even open Instagram if you wish, but you’re only allowed to ♥️ #samoyed pictures while I tell the story of the many roles involved to create such an app. …


Even if you’re building a fun side-project with no “monetisation strategy”, you should gather analytics on it. The easiest way to do that remains Google Analytics but if you’re building a single page app, such as a Create React App with React Router, you’ll find the suggested copy & paste solution has a gap!

Photo by Alex Radelich on Unsplash

You’ll be tracking where the users land, but you won’t be tracking them navigating to different routes! If the blessing of client-side routing is blazing fast navigation, this is its curse: You aren’t really hitting a new page on the server, you are always served the same /index.html


Photo by JESHOOTS.COM on Unsplash

I’ve been defining my personal mission as get more brilliant minds into software engineering. Engineering is where I am, and I would love to work with even more brilliant minds!

I’ve been thinking about mentoring, about workshops, about books, and every time I draft anything, React appears as a key element. But why?

Time flies and, when it comes to paid work, I’ve been doing fullstack Javascript / Typescript 99% of the time for the past 5 years. A good chunk of that has been frontend, and 99% of that time has been React. …


Paxos, Greece

There are few things in life I love more than Code Sandbox and none of them are also in tech 🧡 And my love only grew further this week, when I found out you can now use it as a GraphQL server, pretty much superseding the functionality of the deprecated Apollo Launchpad. The Apollo team themselves actually use Code Sandbox in their excellent docs!

All you need is to spin one up by hitting https://codesandbox.io/s/apollo-server, …


Today I started a blog with Gatsby!

Why

There are more than enough writers on the internets, covering any subject imaginable; but that doesn’t change the fact that I am a creative person and could use more outlets for my thoughts! Even if the tech world at large won’t benefit from my posts, I know I will from putting them together 🙌🏼

And, hey, if somebody does find my musings interesting or useful, that’s a fantastic bonus. Do get in touch to let me know you’re out there 😁

Still, why not just post to Medium? Again, it’s for my personal benefit. I find the best way I learn something is to build something real with it! It’s one thing to read about Flutter, and another to build an MVP with it. Getting dirty with code exposes the strengths and weaknesses of the framework / methodology / pattern I’m interested in exploring. …


I ran into some issues installing MongoDB 3.2 on Ubuntu 15.10. For the most part I followed the official tutorial, but the tutorial itself notes that it is aimed at the LTS Ubuntu releases, which do not include 15.10.

I figured it might be helpful to note the issues I encountered, and how I solved them! I am sure that even if the specific method changes, the general troubleshooting approach would remain the same for any combination of MongoDB and Ubuntu versions.

Wrong permissions on /data/db folder

That folder created during installation belonged to the root user and the root group. This is a problem novices would solve by running the mongod service as a super user, but the proper, easy, fix is making it belong to mongodb:mongodb. …

About

Johnny Magrippis

Polymath engineer most proficient nowadays with React and GraphQL, also in love with photography

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store