Writing on full-stack design & development.

Writing on full-stack design & development.

All of my long-form thoughts on front-end, full-stack, design, development, and more, collected in chronological order since 2007.

OpenAPI 3.0: How to make objects nullable that use oneOf, allOf, or anyOf

File this in the "notes to self" category. The OpenAPI docs are very sparse when it comes to nullable, and it is very unclear how to set an object to nullable when it uses oneOf, allOf, or anyOf in OpenAPI 3.0.

I've been working on writing an OpenAPI spec for an existing API, and hooking it in to Postman for our team to use. Unfortunately, Postman was giving me a validation error when making requests, but all it would say was "The response body didn't match the specified schema", with no actual details on which parts of the schema were wrong.

After much struggle and head-desking, I managed to work it out.

Read article

NextJS App Router Intro and Tour

Next.js recently released their new App Router, which introduces an entirely new paradigm for creating Next.js apps. As part of Virtual Coffee's Lunch & Learn series, I gave a two-part presentation where we dove in to how the App Router works.

You'll find some value here whether you're experienced with Next.js already or have never touched it - it's a great tool and the ways that it hooks in to both the React ecosystem and the Javascript/Typescript ecosystem as a whole offers a lot to learn.

Read article

How To Post Event Reminders to Slack

At Virtual Coffee, we have events almost every day, and we hang out in Slack every day! So, it was inevitable that we'd get some sort of event reminders going in Slack. Our first pass was by the late Mike Rogers (we miss you, Mike ❤️). Our events were listed on MeetingPlace.io, so Mike wrote a Ruby app to pull date down from MeetingPlace and post to Slack: Meetingplace Events Bot .

When we moved from Meetingplace to our own CMS, I took the chance to do some upgrades, and convert to Javascript, at the same time. Follow along and we can get some event reminders going for you!

Read article

How the Virtual Coffee Coworking Room Works

In our Slack for Virtual Coffee, our members had started a practice of Coworking over Zoom. Coworking is a way to share space with other people while still getting work done, and I thought it was very cool. Members would simply post a personal Zoom link saying something like "starting a Coworking session if anyone wants to join." Eventually we made a Slack channel specifically for this.

In chatting with our members, I realized we probably could do a couple cool things to support this a bit better. It’d be nice to have an official Virtual Coffee Coworking setup for Zoom, so I put one together using Zoom, Slack, Airtable, and Netlify Functions. Here's how it's all set up.

Read article