One of the most common interactions with IPFS is uploading files like images and videos from a client-side application, so I found it surprising that there were not a lot of straightforward tutorials showing how this is done.

In this tutorial you will learn just that in as few lines of code (and as simply) as possible using ipfs-http-client. The ideas here are implemented in React but should be fairly easily transferrable to doing the same thing in any other JavaScript framework, like Vue, Angular, or Svelte.

About IPFS

IPFS is a decentralized, peer to peer file sharing protocol.

There are various…

While Supabase is widely known for their real-time database and API layer, one of the things I like about it is the number of easy to set up authentication mechanisms it offers out of the box.

Magic Link

One of my favorites is Magic Link. You've probably used magic link in the past. Magic link sends a link to the user via email containing a link to authenticate with the service via a custom URL and access token.

When the user visits the URL, a session is set in their browser storage and the user is redirected back to the app, authenticating…

I have been talking about my move into the Web3 / Ethereum / crypto space since making the switch from a traditional web, mobile, and cloud background.

Since making the move, the number of people that have reached out to me who are also thinking about doing the same has been pretty shocking. It’s really great to see so many other people interested and if I’m being honest — it feels validating to know that so many others are also on the fence and so deeply interested in the space as well.

As for me, well I was nervous…

Building GraphQL APIs on Ethereum

The number of production Dapps continues to explode and the demand for developers building with Solidity and other blockchain languages continues to outpace supply, moving wages higher and higher.

As a developer getting into this space, I quickly learned there are a lot of differences in the way that we interact with and build on top of blockchains versus what I was used to in the traditional web. With Ethereum (and other blockchains), data isn’t stored in a format that can efficiently or easily be consumed directly from other applications or front ends. …

Today the Amplify Console and Amplify CLI have launched 5 new features for improving how teams manage Amplify backend environments

The Amplify Console now offers visibility into backend environment resources created by the Amplify CLI, providing a central place for development teams to view and manage their backend environments. With this launch, the Amplify Console and CLI now work together — start a project in the CLI and visit the Console to view your backend environments; or deploy a fullstack sample in the Console and continue working on the project locally using the CLI. The Amplify CLI also released the…

If you’re reading this, chances are you are following either me or the Open GraphQL publication.

TLDR: Check out our new publication here.

Medium has defaulted all posts to be behind a paywall (meaning you need to opt out, not opt in) which has caused some confusion for people that have published here in the past. This has caused some posts to be behind a paywall that people may not have really wanted to be behind by default.

Default setting when publishing.

Over the past year I’ve seen many people not enjoying the experience of reading on Medium now that many of these articles…

Transforming REST APIs to GraphQL with AWS AppSync

When adopting GraphQL into an existing project or an engineering team, one of the easiest ways to get started is to put a GraphQL API in front of your existing REST API endpoints.

Doing this will allow your team to immediately begin seeing some of the benefits that GraphQL has to offer without having to sacrifice a large amount of engineering work.

With AWS AppSync you can specify “HTTP” data sources to bring in existing HTTP endpoints & perform queries & mutations against them in GraphQL.

Let’s take a look at how…

Add a custom domain to an Amplify Console deployment in just a couple of minutes — let’s take a look at how this works!

The Amplify console offers hosting for full stack serverless web apps with continuous Git-based deployment. You connect your Github repo, click deploy, and the application is deployed to a live URL.

Built-in atomic deployments eliminate maintenance windows by ensuring that the web app is only updated when the entire deployment has finished.

If you are launching a project with an Amplify backend, the console will also give you the option of deploying and maintaining the Amplify project.

After you’ve deployed an application, the next step is deploying your app to a custom domain purchased through domain registrars such as GoDaddy…

This post will walk through everything from creating the API, writing the client code, & deploying a custom domain.
Try it out —
Check out the code-

I’ve been deep-diving into some interesting use-cases showing some of the real-time capabilities of GraphQL subscriptions.

A couple of weeks ago I built HypeBeats, a collaborative drum-machine with the help of Ken Wheeler’s drum machine, & before that I built a real-time drawing canvas with React Canvas Draw.

Last week I sent out a tweet to see what other ideas people had, & there were a lot:

An idea that…

How I used GraphQL Subscriptions to build HypeBeats — a real-time collaborative beatbox with React Hooks Drum Machine & GraphQL.

To view the live demo, click here.
To view the repo, click here.

I’ve been playing around with GraphQL subscriptions quite a lot lately, adding real-time functionality to applications to make them interactive. Last week, I released a real-time drawing app using react-canvas-draw:

A few weeks ago I saw this talk at React NYC from Ken Wheeler about building a beatbox using React Hooks.

I was pretty hyped after watching it. I then found the repo for…

Developer Relations Engineer at Edge & Node working with The Graph Protocol

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