Joonas' blog

2024

Bringing <Button> to the React Server Component world

RSC-compatible way of doing design system buttons

Next.js + Supabase app in production: what would I do differently

My learnings for building a Next.js and Supabase app and keeping it running in production

How does Apple wifi password sharing work?

A look into how Apple devices share WiFi passwords between (semi-anonymous) devices without internet

Visiting Japan

I went to Japan and this would have been useful beforehand

2023

Next.js: request parameter reference

Reference guide to accessing request parameters in Next.js

Migrating to PKCE-compatible generateLink in Supabase

Generating links in a PKCE world

slug

Next.js app directory: URL-synced state

How to store state in URL with Next.js app directory

PostgREST/Supabase: joins and join conditions

A look at how postgREST does joins and the gotchas involved

slug

How to fix a NPM package mess

Recover from NPM package chaos

Git: set working directory contents to a commit

Update files in the working tree to match the version in given [commitref] without updating HEAD

Blog idea hack: source your ideas from web history

A method to write about topics your past self wishes existed

slug

PostgREST datetime operators

Quick reference to PostgREST operator behavior with datetime columns

slug

Opinionated UI: SVG icons in React

Opinionated way to use SVGR to serve SVG icons in a React design system library

slug

Implement user impersonation in Supabase

How to impersonate users in Supabase

slug

Generating Supabase JWT/access token manually

How to manually generate JWT tokens to use Supabase services as any user

slug

Type-safe prop passing in Next.js server components

Flexible method for easily passing typed data from server in Next.js server components

Creating a Postgres function for a Supabase RLS policy

How to create Postgres function to be used in Supabase RLS policies

slug

Opinionated UI: <Button> in React

Opinionated way to create a Button component in a React design system library

2022

slug

Building complex and interactive forms for React

How I built a complex form for React (with react-hook-forms). An introduction and learned best practices on how some common complex form usecases might be handled.

2020

slug

2D Navmesh generation and pathfinding in Javascript

Minimal-dependency navmesh generation and path-finding in Javascript

slug

JSON Serialization might be your Rails bottleneck

Why your Rails app might surprisingly be bottlenecked by JSON serialization and what can you do about it

slug

PostGIS marker culling

Implementing low-priority marker culling for PostGIS queries