RSSAmplifier

Blog

simeonGriggs.dev

Thoughts on Internet

simeongriggs.devRSS feed ↗34 posts

Latest posts

Adding smart features to dumb apps

You no longer have to wait for updates from application developers—just make the features you want.

It feels pointless because it's easy

Cheat codes ruin video games. Friction and value are inseparable.

Learning is about building personal context

On why learning slowly is still valuable in the age of shipping fast.

Suspense's problematic prop

Use suspense boundaries to wrap data—not layouts—to avoid its biggest problem.

Using Activity with Suspenseful data

Components hidden by Activity will maintain their state while also unmounting their effects and continue to preload suspenseful data—here's what makes that useful.

When prompting—ask, don’t tell

Getting the results you want from an LLM is more about collaborating than commanding.

Writing and performing a great talk

The best conference talks are written (without sounding scripted) and performed (while staying authentic).

Running for developers

If you've got the best intentions to make running part of your life, here's everything I absorbed to go from 0-100 (miles)

Put a box around it

Letting people know what you have done for them is so much more impressive than how you did it.

Conditional class names using DOM attributes as state

Style elements based on the state of their DOM attributes—instead of template logic—for more easily debuggable styles.

Tailwind CSS is basically a standard, start acting like it

The job of a framework is to render HTML so it makes sense to optionally bundle a way to style it with CSS

Mastery is underrated

In any sufficiently crowded market, there is always the opportunity to be the absolute best at your thing.

Thoughts on teaching developers

A glimpse into the context through which I create educational content and tutorials.

Query GraphQL in Remix in less than 60 seconds

You might not need a library to query GraphQL in Remix

Dynamic social sharing images from Remix with Satori

Creating individual meta images can be time-consuming work. Fortunately, creating on-brand and dynamic images for link previews has never been easier.

Add Vercel Analytics to a Remix Application

Vercel offers simple, privacy-focused analytics and web vitals data. These can be instantly set up on Next.js and other frameworks. It's a little extra work for your Remix app, but worth it.

Bridging the developer-author gap

In a content-editable website project, the people involved are two separate and yet equally important groups. The developers who build websites, and the authors that populate them with content. These are their stories.

In defence of over-engineering your blog

I've rebuilt this blog with the same design almost half a dozen times. Here's what I learned doing it again.

Prioritise content over components

Visually, components are unique, flexible units to compose complete layouts. For content, they can trap reusable data into single-use decorations.

Type-safe GROQ Queries for Sanity Data with Zod

We don’t have to sacrifice the awesomeness of GROQ for the safety of TypeScript. With Zod, we can have both.

Understanding reduce() as a combination of map() and filter()

It can be tough to identify use cases for something like reduce() until you’re already comfortable using it. Consider this a gentle entry point on your path to advanced use of the Swiss Army Knife of Array Methods.

How to ask for things with Loom

Almost all forms of communication are an "ask" of some kind. Even if you’re not asking for some "thing". At a minimum you're asking the other party for their time.

Using the Tailwind CSS Palette Generator and API

Creating hand-tooled 10-color Palettes can be tough. Get a head start by rapidly generating a full suite of Swatches from a single base value.

There's never been a better time to build websites

We're closing in on the end of 2021 and I'm as excited now about building websites as I've been in ~25 years.

Patterns for Next.js, Sanity.io, Catch-all Routes and Slugs

Hard coding document slugs in Sanity.io with validation rules can save you a lot of double-handling on both front and back end.

Recipe websites, data modelling and user experience

To a developer, recipes represent such a complex and delicious content model. So why do so many recipe websites leave a bad taste? Let's explore cooking up a more ideal version.

Backup Sanity to AWS S3

Headless CMS's are refreshingly "set and forget". But if the Risk Management Department needs to be satiated by having your own backup solution, it's easy to do.

The guide to useEffect() I wish I had

If you're relatively new to React, Hooks aren't new, they simply exist. And to understand the useEffect() hook is to almost entirely understand React Components.

Fun with Tailwind CSS Plugins

Publishing extensions is so much easier than copy/pasting project-to-project.

Responsive, Extendable Squircles with SVG

Rounded corners don't have to be so boring.

Gutenberg is the end of custom WordPress websites

For the first time ever, WordPress has strong opinions about how your website is designed – making it a bad choice as a generic content management system.

Sanity Schema Generator

Trying my hand at adding to the the Developer Experience of Sanity.

Create a Page Builder in Sanity for Gatsby

Setting up the most popular content editing pattern for the component-based nature of front end frameworks and modern website design.

Roll your own Gatsby live preview for Sanity

Gatsby Cloud-like live previewing for your Sanity website, but low cost with unlimited edits.