James' Coffee Blog
Clouds; colour
Taylor Swift question challenge
Bringing people together with the web
Wonders of Web Weaving, Episode 5
Morning coffee
Aether-draft
Moments; time
Clouds
The story of MJ
Hiding a list with no items in CSS
Is there a power law of category use?
Chat community for web writers?
Digital minimalism
Wonders of Web Weaving, Episode 4
JUnited 2026
Creative spaces
Flagging suspicious websites in Artemis
Distinguishing user and system content
The caramel log
Milk chews
Waiting; writing
Home
Mitigating floods of posts in Artemis
Views; between
First year
Wonders of Web Weaving, Episode 3
Writing a regex for adding links to time stamps
Slack preferences I have set
Joining the IndieWeb Zine Pop Up
Iced coffee in Spring
Ready
Background; foreground
Wonders of Web Weaving, Episode 2
My favourite typewriter
Growing with my website
Evening tea
Announcing Wonders of Web Weaving
Walking
Serendipity
Writing a blog post without a screen
Affordances of a screenless writing interface
How I use my phone
Artemis changelog #9
Ideas for web readers
Night shift
Quotes from Tufte’s course
Using greyscale
Seasons
Reorganising the Artemis settings page
Designing software with travel in mind
Sunset, Düsseldorf
Of the night; a note
Log in, sign in
Joyful web design
Walking
My words, not my content
Day; night
Weather
IndieWebCamp Düsseldorf 2026
Butterflies
Living the indie web life
Rainbow; moon
Custard creams
Artemis now supports custom domains (in beta)
Waffles and coffee
Blossom
Newsletters should have web feeds
Music, story(ies)
Flowers; snow
How I find links
The joy of
How the Artemis blog works
Saturday morning reading
Using my edit button shortcut
More examples of graduating between mediums of communication
The archive
Museum Memories: Roundup
Nesting social posts under blog posts in Artemis
My favourite (unconventional) animal
Seven hills
How software feels
Warm tea
Inventor, dreaming
Single-file web applications
Gardening
Interface stability
Brainstorming web guides
The artist was here
Saturday
Tinkering
River
🌸
Crescent
Colour
Space
Library memories
Landscape by Moonlight
The Timeless Way of Building
Rewriting
Starting; playing; maintaining
Sparking joy
Blossom
Ideas for managing post volume in web readers
Artemis changelog #8
Artemis changelog #8
Take two
Museum memories
Take two
Museum memories
Night time; walking
Guitar; sunset
Offline mode
Offline mode
Night time; walking
Guitar; sunset
The Church at Varengeville by Monet
State of the Browser 2026
Girl on a Divan by Berthe Morisot
How to change the Duolingo app icon
I wish there was a (simpler) way to highlight text in inputs
The Church at Varengeville by Monet
State of the Browser 2026
How to change the Duolingo app icon
I wish there was a (simpler) way to highlight text in inputs
Girl on a Divan by Berthe Morisot
IndieWeb Carnival March 2026: Museum memories
IndieWeb Carnival March 2026: Museum memories
Pens, sleeves, and whiteboards
Dopplr colours
Pens, sleeves, and whiteboards
Dopplr colours
Brainstorming search engine ranking introspection
Preserving calm in software over time
Artemis “via”
Brainstorming search engine ranking introspection
Preserving calm in software over time
Artemis “via”
Artemis dense layout
Grouping threaded posts in Artemis
Graduating between mediums of communication
Grouping threaded posts in Artemis
Graduating between mediums of communication
Artemis dense layout
Thinking; walking
A perfect day
Scotland’s brightness levels
Rhythm
IndieWeb wiki pages I really like
Test post
A piece of art I would love to see in person
Clear sky
Snow
Adding multiple h-feeds to the same web page
What I associate with my name
Proust’s questionnaire
A sandwich questionnaire, part two
The inverted index pattern
Designing for inactive users: Account check-ins and deletion
Redesigning the Artemis account deletion back-end
Notifying users of page updates
Brainstorming source code editing for web applications
Drawing and hand-written fonts
Sandwich Questionnaire
Why I love my favourite words
Design and missing categories
Noticing
Clouds
Debug mode
Staging banners
Redirecting YYYY-MM-DD-slug.md to /YYYY/MM/DD/slug with Nginx
Reducing Artemis’ deployment downtime with blue-green deployments
Does your website run on green energy?
Background technology
Calendars and web readers
The expanse of web weaving
Build the web you want to see
Software Design Meetup [Feb. 11th]
IndieWeb Book Club: The Art of Explanation
IndieWeb Carnival: Host Interview
Kind software
This week
Share your website at events
Designing a service with IndieAuth and email-based login
Subscribing to local news with a web reader
Announcing Artemis Roll-up
Piano, vulnerability, and playing guitar
Nature
Walden
Getting ready for studying
Documenting design changes with screenshots
Artful life
Publishing my citation preferences
Software maintenance
Why Artemis is invite-only
Designing an A-Z navigation web component
Morning moonlight
Turn a list into a web feed
Personal and community web search engines
The new year
The indie web in 2030
Designing for inactive users
A small fix
Grateful for the indie web
Coffee shop
The nicest thing a stranger has done for me
Brainstorming visual search for the web
Walking
A Lady in Grey
IndieWeb Book Club: Understanding Comics
Words and making coffee
Music this year
IndieWeb Book Club: Non-Designer’s Design Book
Cleaning the Artemis database
Morning
A concept for a two-panel web reader settings page
What I have been reading lately
A new home page
Saturday
Little moments of joy
Experimenting with web design
Announcing Validate Everything
Snowy morning
Bookmarks
Icebreakers
Winter sunset
Resonance
Routines
Snow
Monet
What’s in my inventory?
I’m going to study art history
No work is ever wasted
Tabs
Design, in pink
Ten facts about me
Waiting
Growth
Beginnings (type-written)
Typewriters and labyrinths
When your website makes you smile
Saying thanks on the web
Walking
Updating user interfaces
Today
How Artemis polls web feeds
A 255 byte web page
Second person birds
Rain
Walking
Raindrop
Creating a searchable archive page
Artemis Changelog #7
Designing a new button to visually show and hide alt text
Collaborative web weaving
30 collaborative things you can do on the web
Whimsy
Announcing rainfall.scot
Working on the Artemis demo video (and captions)
Autumn
Pattern: Search aliases
Three quick CSS tips
Delightful technology experiences
We need to define best practices for Stories and links
Decorating
Change
Communication and understanding
What I made for HTML Day
Full bloom
Colour
A wooden love heart and a pot of flowers
Tumblr-ing
[photo] Edinburgh
The link router pattern
Communicating the indie web
Futures for the web
Reading
Mashups
Brainstorming a tool to follow new album releases with Wikipedia
Summer rain