Charlie Gerard

Charlie Gerard @devdevcharlie

About: I am a senior developer advocate, passionate about creative coding and building interactive prototypes mixing science, art & technology. I also spend time mentoring, contributing to OSS and speaking.

Location:
Seattle
Joined:
Jun 23, 2017

Charlie Gerard
articles - 37 total

Accept PayPal as a payment method with Stripe in the EU, UK and Switzerland

PayPal is now available as a payment method on Stripe in the EU, UK, and Switzerland. Learn how to integrate it so you can start accepting PayPal payments today.

Learn More 28 5Jul 18 '23

Accept payments using Tap to Pay for Android with Stripe

In this tutorial, learn how to implement Tap to Pay with Stripe in your Android application, using Kotlin.

Learn More 36 2Jun 21 '23

Notes from competing in my first CTF

Last weekend, I competed in the National Cyber League (NCL), my first cybersecurity CTF. I wrote down notes about the tools I used in the challenges and wanted to share in case anyone is curious to know how CTFs work.

Learn More 32 4Apr 4 '23

Use Payment Links as an embedded button

Learn how to use Stripe Payment Links as customizable embedded buttons on your website.

Learn More 13 2Mar 1 '23

From Wi-Fi to Li-Fi, sending data via light using Arduino and JavaScript

Different parts of the electromagnetic spectrum can be used to transmit information. Using visible light, data can be encoded and transmitted using a technology called Li-Fi which aims at using your existing lights for wireless communication.

Learn More 53 7Feb 13 '23

Demystifying machine learning via Bluetooth with Arduino

Learn how a machine learning model can be transferred via bluetooth from the browser to an Arduino

Learn More 11 0Oct 28 '22

Gesture-based payments

Recently, I've been experimenting with gesture control and researched how this technology could be used as a payment method.

Learn More 22 1Oct 10 '22

Providing receipts for in-person transactions with Terminal

Digital receipts are a convenient way to keep track of spendings. Learn how to generate them automatically from in-person transactions with Stripe Terminal.

Learn More 13 0Sep 8 '22

Create an omnichannel shopping experience with Stripe Terminal in Node.js

Learn how to save your customers' card details using a Terminal device, so you can create an omnichannel checkout experience.

Learn More 7 0Aug 29 '22

Building an aircraft radar system in JavaScript

A few years ago, I came across an awesome talk by Thomas Watson in which he talks about how he built AirplaneJS, a web app that picks up ADS-B radio signals from airplanes and plots them in real time on a map in the browser. I had no idea this was possible in JavaScript so I started looking into it.

Learn More 721 25Aug 29 '22

The potential of pay-what-you-want Payment Links

If you're a creator, educator, or running a donations campaign, learn how to use Stripe's pay-what-you-want Payment Links.

Learn More 22 0Aug 8 '22

How to collect tips with Stripe Terminal

Learn how to set up your Terminal reader to collect tips.

Learn More 10 0Jul 15 '22

How to display cart details on Stripe Terminal

Learn how to update the Terminal's display to show your customers their cart details.

Learn More 14 0Jul 11 '22

Gaining remote access to a computer with a reverse shell attack in Node.js

I recently learnt what a reverse shell is and got excited to experiment running this kind of attack via a Node.js module. This post will go through my thought process and the different options I tried.

Learn More 293 11Jun 28 '22

Ultrasonic payments

Experimenting with ultrasonic data transmission in JavaScript, as a payment method.

Learn More 279 8Jun 6 '22

Create a Markdoc plugin in less than 15 lines of code

Markdoc is an extension of Markdown so learn how to build your own plugin so you can use Markdoc with any framework.

Learn More 23 3May 27 '22

Getting started with Markdoc in Next.js

Stripe is open-sourcing Markdoc, the Markdown-based authoring system that powers the Stripe documentation website. Learn how to get started with it!

Learn More 124 1May 11 '22

Running a ransomware attack in a Node.js module

A couple of weeks ago, I experimented with creating a small ransomware script, and looked into how to run it in a Node.js module. This post is a write-up explaining how I went about it.

Learn More 444 15May 6 '22

Try before you buy: adding a trial period to subscriptions

Learn how to add and update free trial periods to your subscriptions, using Stripe.

Learn More 33 8Mar 31 '22

Request payment anywhere, anytime with Payment Links

Learn how to request payment in seconds with Payment Links

Learn More 52 3Mar 31 '22

Building UIs in Figma with hand movements

I've played around with hand detection using TensorFlow.js in the past but since they released the ability to detect multiple hands, I've wanted to explore building UIs with hand movements.

Learn More 310 13Jan 20 '22

Setting up redirects on Netlify

Learn how to configure redirects and rewrites for your Netlify sites.

Learn More 14 1Dec 13 '21

Making an interactive digital frame with head-tracking using Three.js and TensorFlow.js

Over the past few weeks, I've been working on a new side project to replicate a visual effect called 'head-coupled perspective' to make interactive art with head tracking, using Three.js and TensorFlow.js.

Learn More 117 3Aug 1 '21

Toggle dark/light mode by clapping your hands

A few days ago, we released dark mode in beta on Netlify. While we're still iterating on it, I built a Chrome extension to easily toggle it by clapping my hands.

Learn More 267 13Apr 14 '21

Setting up a RaspberryPi without monitor and keyboard

For a long time, I thought a keyboard and monitor were needed to do the initial setup of a RaspberryPi. However, I recently learnt that you can do this using only another computer!

Learn More 55 3Apr 5 '21

Predicting indoor location using machine learning and wifi information

After trying out a Python project called whereami, I spent some time trying to replicate it in JavaScript.

Learn More 24 0Mar 8 '21

Writing a TailwindCSS variant plugin

Creating a small TailwindCSS variant plugin for the :first-line CSS pseudo-element.

Learn More 15 0Mar 6 '21

Creating a Github action to detect toxic comments using TensorFlow.js

Over the weekend, I spent a few hours building a Github action to automatically detect potentially toxic comments and PR reviews.

Learn More 208 6Aug 16 '20

Motion-controlled Fruit Ninja game using Three.js & Tensorflow.js

This blog post covers the steps I took to build a prototype of Fruit Ninja game you play with hand movements.

Learn More 189 5May 11 '20

Acoustic activity recognition in JavaScript

Exploring how we can use sound data and machine learning in JavaScript to recognise human activities to augment smart systems.

Learn More 270 14Dec 22 '19