A fun little personal site, live at (https://curious.kim).
Node 18+ for the application. Bash 4.4+ to process photos.
$ npm install
$ npm run prepare
.env.local with the appropriate env variables (see .env.template for reference).$ npm run dev
Art can be created and edited using a few different tools:
Photos are processed using ExifTool and ImageMagick.
Install via brew install exiftool and brew install imagemagick on Mac.
To organize the photo library, add photos to photos/ then run bash script/organize_photos.sh.
Only photos with the .jpg extension are supported.
Commit and push the changes to update them in the application.
To check whether all photos are properly organized, run bash script/organize_photos.sh -c.
Deploy this application using Vercel, and point that application to the primary domain.
Photos are hosted separately using GitHub Pages.
Set up the Pages repository to point at https://static.<domain>.
Then set the hostname under the NEXT_PUBLIC_PHOTOS_HOSTNAME environment variable.
The code includes logic to track user events in Google Analytics and Google Tag Manager.
First, set up Google Analytics.
Get the Measurement ID for the property and make sure it’s set in src/lib/analytics.ts.
Then, set up Google Tag Manager.
src/lib/analytics.ts.AnalyticsVariable values in src/lib/analytics.ts.AnalyticsEvent names in src/lib/analytics.ts, applying custom conditions if needed.