Skip to content
Avatar

Organizations

@immers-space @c-frame
Block or Report

Block or report wmurphyrd

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Add an optional note:
Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
wmurphyrd/README.md

Howdy 👋

Thanks for stopping by. My name is Will, I use he/him pronouns, and I'm a freelance senior developer who loves working on Immersive Web (WebXR), federated social networks (ActivityPub), and data visualization with 6 years of experience in 3D Web development.

Jobs

Here are some of the places I've worked.

Where What When
Immers Space I'm a Syndic, an equal partner with all the other worker-owners. We do contract WebXR work and use the proceeds to fund our open-source federated social network for immersive worlds 2021-present
Frame Contractor working on a little bit of everything, 3D interactivity and VR support in BabylonJS, 2D user interface in Vue, identity and access management in NodeJS, and social features 2021-present
Lumere Built a custom data visualization framework and microservice using JavaScript, Python, and Vega to enable the data science team to deliver interactive data visualization products to users in the healthcare sector 2019-2021
3Data Built a custom 3D / WebXR data visualization engine using A-frame, three.js, and D3 that implemented Leland Wilkinson's Grammar of Graphics theoretical framework. Helped build an A-Frame WebRTC app for realtime collaboration around the data visualizations 2018-2019
Academy of Nutrition and Dietetics Conducted clinical research into nutrition quality of care and served as product manager for the creation of a web-based data entry portal for research and healthcare data 2012-2018

Projects

Here are some of the things I've made

Super Hands

Interactivity framework for A-Frame that abstracts different user inputs (mouse, touch, VR laser pointer, VR tracked controllers) into composable gestures like hover and grab.
demo reel of interacting wth boxes in 3d scenes using super-hands on mobile, desktop, and VR
Virtual Reign Social Immersive Chess
A fork of Mozilla Hubs that adds a fully playable chess game and federated friends lists powered by Immers Space
alice.game.clip.mp4
Source code
Nice Free Treasures Shop
A satire of NFTs and a free verifiable collectible avatar generator for Immers Space, Mastodon, and Twitter

Source code
Guppe Groups

A federated social groups app using NodeJS and ActivityPub that helps people on Mastodon and other ActivityPub apps connect around shared interests.
activitypub-express

Modular implementation of the ActivityPub decentralized social networking protocol with >90% test coverage, written for NodeJS as ExpressJS middleware.
Immers Server

ActivityPub federated social media server for the metaverse. Like a decentralized Steam friends list for virtual worlds on the Web.

Other skills

  • I'm the guy on the team everyone comes to with their really difficult bugs
  • I believe anyone can be a great programmer and really enjoy sharing knowledge and mentoring junior devs

Let's work together 🤝

I'm available as a contractor and currently taking new clients. Contact me at william@immers.space

Pinned

  1. ActivityPub federated social media server for the metaverse

    JavaScript 92 3

  2. Modular ActivityPub implementation as Express JS middleware to easily add decentralization and federation to Node apps

    JavaScript 216 18

  3. Federated social groups with ActivityPub, NodeJS, Express, and Mongodb

    CSS 152 15

  4. colorplaner Public

    📊ggplot2 Extension to Visualize Two Variables Per Color Aesthetic through Color Space Projection

    R 31 4

  5. 👐All-in-one natural hand controller, pointer, and gaze interaction library for A-Frame

    JavaScript 324 68

  6. Client library to connect with Immers servers and Immers Space accounts from the Immersive Web

    JavaScript 10 2

2,227 contributions in the last year

No contributions on Sunday, May 29, 2022 No contributions on Monday, May 30, 2022 9 contributions on Tuesday, May 31, 2022 21 contributions on Wednesday, June 1, 2022 23 contributions on Thursday, June 2, 2022 2 contributions on Friday, June 3, 2022 No contributions on Saturday, June 4, 2022 No contributions on Sunday, June 5, 2022 26 contributions on Monday, June 6, 2022 21 contributions on Tuesday, June 7, 2022 14 contributions on Wednesday, June 8, 2022 19 contributions on Thursday, June 9, 2022 No contributions on Friday, June 10, 2022 No contributions on Saturday, June 11, 2022 No contributions on Sunday, June 12, 2022 13 contributions on Monday, June 13, 2022 10 contributions on Tuesday, June 14, 2022 5 contributions on Wednesday, June 15, 2022 13 contributions on Thursday, June 16, 2022 4 contributions on Friday, June 17, 2022 No contributions on Saturday, June 18, 2022 No contributions on Sunday, June 19, 2022 4 contributions on Monday, June 20, 2022 9 contributions on Tuesday, June 21, 2022 2 contributions on Wednesday, June 22, 2022 23 contributions on Thursday, June 23, 2022 7 contributions on Friday, June 24, 2022 No contributions on Saturday, June 25, 2022 No contributions on Sunday, June 26, 2022 11 contributions on Monday, June 27, 2022 12 contributions on Tuesday, June 28, 2022 2 contributions on Wednesday, June 29, 2022 5 contributions on Thursday, June 30, 2022 3 contributions on Friday, July 1, 2022 No contributions on Saturday, July 2, 2022 No contributions on Sunday, July 3, 2022 No contributions on Monday, July 4, 2022 1 contribution on Tuesday, July 5, 2022 6 contributions on Wednesday, July 6, 2022 9 contributions on Thursday, July 7, 2022 1 contribution on Friday, July 8, 2022 2 contributions on Saturday, July 9, 2022 No contributions on Sunday, July 10, 2022 2 contributions on Monday, July 11, 2022 11 contributions on Tuesday, July 12, 2022 14 contributions on Wednesday, July 13, 2022 2 contributions on Thursday, July 14, 2022 20 contributions on Friday, July 15, 2022 No contributions on Saturday, July 16, 2022 No contributions on Sunday, July 17, 2022 No contributions on Monday, July 18, 2022 No contributions on Tuesday, July 19, 2022 No contributions on Wednesday, July 20, 2022 No contributions on Thursday, July 21, 2022 No contributions on Friday, July 22, 2022 No contributions on Saturday, July 23, 2022 No contributions on Sunday, July 24, 2022 4 contributions on Monday, July 25, 2022 12 contributions on Tuesday, July 26, 2022 9 contributions on Wednesday, July 27, 2022 12 contributions on Thursday, July 28, 2022 1 contribution on Friday, July 29, 2022 No contributions on Saturday, July 30, 2022 No contributions on Sunday, July 31, 2022 6 contributions on Monday, August 1, 2022 3 contributions on Tuesday, August 2, 2022 6 contributions on Wednesday, August 3, 2022 17 contributions on Thursday, August 4, 2022 8 contributions on Friday, August 5, 2022 No contributions on Saturday, August 6, 2022 No contributions on Sunday, August 7, 2022 8 contributions on Monday, August 8, 2022 6 contributions on Tuesday, August 9, 2022 7 contributions on Wednesday, August 10, 2022 11 contributions on Thursday, August 11, 2022 10 contributions on Friday, August 12, 2022 1 contribution on Saturday, August 13, 2022 No contributions on Sunday, August 14, 2022 3 contributions on Monday, August 15, 2022 4 contributions on Tuesday, August 16, 2022 4 contributions on Wednesday, August 17, 2022 21 contributions on Thursday, August 18, 2022 3 contributions on Friday, August 19, 2022 No contributions on Saturday, August 20, 2022 5 contributions on Sunday, August 21, 2022 8 contributions on Monday, August 22, 2022 No contributions on Tuesday, August 23, 2022 12 contributions on Wednesday, August 24, 2022 4 contributions on Thursday, August 25, 2022 19 contributions on Friday, August 26, 2022 No contributions on Saturday, August 27, 2022 No contributions on Sunday, August 28, 2022 10 contributions on Monday, August 29, 2022 3 contributions on Tuesday, August 30, 2022 13 contributions on Wednesday, August 31, 2022 24 contributions on Thursday, September 1, 2022 2 contributions on Friday, September 2, 2022 No contributions on Saturday, September 3, 2022 No contributions on Sunday, September 4, 2022 No contributions on Monday, September 5, 2022 No contributions on Tuesday, September 6, 2022 16 contributions on Wednesday, September 7, 2022 17 contributions on Thursday, September 8, 2022 No contributions on Friday, September 9, 2022 No contributions on Saturday, September 10, 2022 No contributions on Sunday, September 11, 2022 12 contributions on Monday, September 12, 2022 18 contributions on Tuesday, September 13, 2022 12 contributions on Wednesday, September 14, 2022 6 contributions on Thursday, September 15, 2022 9 contributions on Friday, September 16, 2022 3 contributions on Saturday, September 17, 2022 No contributions on Sunday, September 18, 2022 10 contributions on Monday, September 19, 2022 15 contributions on Tuesday, September 20, 2022 16 contributions on Wednesday, September 21, 2022 1 contribution on Thursday, September 22, 2022 1 contribution on Friday, September 23, 2022 1 contribution on Saturday, September 24, 2022 No contributions on Sunday, September 25, 2022 11 contributions on Monday, September 26, 2022 10 contributions on Tuesday, September 27, 2022 11 contributions on Wednesday, September 28, 2022 15 contributions on Thursday, September 29, 2022 No contributions on Friday, September 30, 2022 No contributions on Saturday, October 1, 2022 No contributions on Sunday, October 2, 2022 1 contribution on Monday, October 3, 2022 18 contributions on Tuesday, October 4, 2022 14 contributions on Wednesday, October 5, 2022 13 contributions on Thursday, October 6, 2022 No contributions on Friday, October 7, 2022 No contributions on Saturday, October 8, 2022 No contributions on Sunday, October 9, 2022 No contributions on Monday, October 10, 2022 8 contributions on Tuesday, October 11, 2022 19 contributions on Wednesday, October 12, 2022 4 contributions on Thursday, October 13, 2022 6 contributions on Friday, October 14, 2022 No contributions on Saturday, October 15, 2022 No contributions on Sunday, October 16, 2022 No contributions on Monday, October 17, 2022 3 contributions on Tuesday, October 18, 2022 16 contributions on Wednesday, October 19, 2022 18 contributions on Thursday, October 20, 2022 No contributions on Friday, October 21, 2022 1 contribution on Saturday, October 22, 2022 No contributions on Sunday, October 23, 2022 8 contributions on Monday, October 24, 2022 5 contributions on Tuesday, October 25, 2022 4 contributions on Wednesday, October 26, 2022 23 contributions on Thursday, October 27, 2022 No contributions on Friday, October 28, 2022 No contributions on Saturday, October 29, 2022 No contributions on Sunday, October 30, 2022 11 contributions on Monday, October 31, 2022 8 contributions on Tuesday, November 1, 2022 19 contributions on Wednesday, November 2, 2022 15 contributions on Thursday, November 3, 2022 20 contributions on Friday, November 4, 2022 8 contributions on Saturday, November 5, 2022 2 contributions on Sunday, November 6, 2022 19 contributions on Monday, November 7, 2022 5 contributions on Tuesday, November 8, 2022 31 contributions on Wednesday, November 9, 2022 9 contributions on Thursday, November 10, 2022 7 contributions on Friday, November 11, 2022 No contributions on Saturday, November 12, 2022 2 contributions on Sunday, November 13, 2022 No contributions on Monday, November 14, 2022 4 contributions on Tuesday, November 15, 2022 19 contributions on Wednesday, November 16, 2022 8 contributions on Thursday, November 17, 2022 2 contributions on Friday, November 18, 2022 No contributions on Saturday, November 19, 2022 No contributions on Sunday, November 20, 2022 10 contributions on Monday, November 21, 2022 12 contributions on Tuesday, November 22, 2022 22 contributions on Wednesday, November 23, 2022 No contributions on Thursday, November 24, 2022 1 contribution on Friday, November 25, 2022 2 contributions on Saturday, November 26, 2022 No contributions on Sunday, November 27, 2022 8 contributions on Monday, November 28, 2022 11 contributions on Tuesday, November 29, 2022 9 contributions on Wednesday, November 30, 2022 28 contributions on Thursday, December 1, 2022 No contributions on Friday, December 2, 2022 No contributions on Saturday, December 3, 2022 No contributions on Sunday, December 4, 2022 33 contributions on Monday, December 5, 2022 10 contributions on Tuesday, December 6, 2022 19 contributions on Wednesday, December 7, 2022 14 contributions on Thursday, December 8, 2022 No contributions on Friday, December 9, 2022 No contributions on Saturday, December 10, 2022 No contributions on Sunday, December 11, 2022 5 contributions on Monday, December 12, 2022 8 contributions on Tuesday, December 13, 2022 23 contributions on Wednesday, December 14, 2022 10 contributions on Thursday, December 15, 2022 No contributions on Friday, December 16, 2022 No contributions on Saturday, December 17, 2022 No contributions on Sunday, December 18, 2022 5 contributions on Monday, December 19, 2022 11 contributions on Tuesday, December 20, 2022 19 contributions on Wednesday, December 21, 2022 No contributions on Thursday, December 22, 2022 1 contribution on Friday, December 23, 2022 No contributions on Saturday, December 24, 2022 No contributions on Sunday, December 25, 2022 No contributions on Monday, December 26, 2022 No contributions on Tuesday, December 27, 2022 8 contributions on Wednesday, December 28, 2022 8 contributions on Thursday, December 29, 2022 11 contributions on Friday, December 30, 2022 No contributions on Saturday, December 31, 2022 No contributions on Sunday, January 1, 2023 3 contributions on Monday, January 2, 2023 1 contribution on Tuesday, January 3, 2023 No contributions on Wednesday, January 4, 2023 2 contributions on Thursday, January 5, 2023 10 contributions on Friday, January 6, 2023 No contributions on Saturday, January 7, 2023 No contributions on Sunday, January 8, 2023 5 contributions on Monday, January 9, 2023 11 contributions on Tuesday, January 10, 2023 8 contributions on Wednesday, January 11, 2023 13 contributions on Thursday, January 12, 2023 No contributions on Friday, January 13, 2023 No contributions on Saturday, January 14, 2023 No contributions on Sunday, January 15, 2023 4 contributions on Monday, January 16, 2023 16 contributions on Tuesday, January 17, 2023 9 contributions on Wednesday, January 18, 2023 11 contributions on Thursday, January 19, 2023 No contributions on Friday, January 20, 2023 No contributions on Saturday, January 21, 2023 No contributions on Sunday, January 22, 2023 No contributions on Monday, January 23, 2023 12 contributions on Tuesday, January 24, 2023 No contributions on Wednesday, January 25, 2023 10 contributions on Thursday, January 26, 2023 14 contributions on Friday, January 27, 2023 14 contributions on Saturday, January 28, 2023 No contributions on Sunday, January 29, 2023 2 contributions on Monday, January 30, 2023 12 contributions on Tuesday, January 31, 2023 21 contributions on Wednesday, February 1, 2023 32 contributions on Thursday, February 2, 2023 2 contributions on Friday, February 3, 2023 No contributions on Saturday, February 4, 2023 6 contributions on Sunday, February 5, 2023 18 contributions on Monday, February 6, 2023 25 contributions on Tuesday, February 7, 2023 14 contributions on Wednesday, February 8, 2023 19 contributions on Thursday, February 9, 2023 10 contributions on Friday, February 10, 2023 2 contributions on Saturday, February 11, 2023 3 contributions on Sunday, February 12, 2023 12 contributions on Monday, February 13, 2023 10 contributions on Tuesday, February 14, 2023 12 contributions on Wednesday, February 15, 2023 21 contributions on Thursday, February 16, 2023 5 contributions on Friday, February 17, 2023 No contributions on Saturday, February 18, 2023 1 contribution on Sunday, February 19, 2023 19 contributions on Monday, February 20, 2023 4 contributions on Tuesday, February 21, 2023 2 contributions on Wednesday, February 22, 2023 10 contributions on Thursday, February 23, 2023 2 contributions on Friday, February 24, 2023 No contributions on Saturday, February 25, 2023 1 contribution on Sunday, February 26, 2023 5 contributions on Monday, February 27, 2023 14 contributions on Tuesday, February 28, 2023 3 contributions on Wednesday, March 1, 2023 16 contributions on Thursday, March 2, 2023 1 contribution on Friday, March 3, 2023 No contributions on Saturday, March 4, 2023 No contributions on Sunday, March 5, 2023 14 contributions on Monday, March 6, 2023 2 contributions on Tuesday, March 7, 2023 14 contributions on Wednesday, March 8, 2023 7 contributions on Thursday, March 9, 2023 11 contributions on Friday, March 10, 2023 No contributions on Saturday, March 11, 2023 No contributions on Sunday, March 12, 2023 10 contributions on Monday, March 13, 2023 No contributions on Tuesday, March 14, 2023 4 contributions on Wednesday, March 15, 2023 5 contributions on Thursday, March 16, 2023 9 contributions on Friday, March 17, 2023 No contributions on Saturday, March 18, 2023 No contributions on Sunday, March 19, 2023 1 contribution on Monday, March 20, 2023 12 contributions on Tuesday, March 21, 2023 7 contributions on Wednesday, March 22, 2023 4 contributions on Thursday, March 23, 2023 2 contributions on Friday, March 24, 2023 No contributions on Saturday, March 25, 2023 No contributions on Sunday, March 26, 2023 6 contributions on Monday, March 27, 2023 2 contributions on Tuesday, March 28, 2023 36 contributions on Wednesday, March 29, 2023 20 contributions on Thursday, March 30, 2023 5 contributions on Friday, March 31, 2023 1 contribution on Saturday, April 1, 2023 No contributions on Sunday, April 2, 2023 3 contributions on Monday, April 3, 2023 20 contributions on Tuesday, April 4, 2023 11 contributions on Wednesday, April 5, 2023 5 contributions on Thursday, April 6, 2023 No contributions on Friday, April 7, 2023 No contributions on Saturday, April 8, 2023 No contributions on Sunday, April 9, 2023 3 contributions on Monday, April 10, 2023 2 contributions on Tuesday, April 11, 2023 12 contributions on Wednesday, April 12, 2023 10 contributions on Thursday, April 13, 2023 No contributions on Friday, April 14, 2023 No contributions on Saturday, April 15, 2023 No contributions on Sunday, April 16, 2023 1 contribution on Monday, April 17, 2023 No contributions on Tuesday, April 18, 2023 1 contribution on Wednesday, April 19, 2023 1 contribution on Thursday, April 20, 2023 No contributions on Friday, April 21, 2023 No contributions on Saturday, April 22, 2023 No contributions on Sunday, April 23, 2023 No contributions on Monday, April 24, 2023 1 contribution on Tuesday, April 25, 2023 No contributions on Wednesday, April 26, 2023 No contributions on Thursday, April 27, 2023 13 contributions on Friday, April 28, 2023 No contributions on Saturday, April 29, 2023 No contributions on Sunday, April 30, 2023 No contributions on Monday, May 1, 2023 No contributions on Tuesday, May 2, 2023 1 contribution on Wednesday, May 3, 2023 8 contributions on Thursday, May 4, 2023 No contributions on Friday, May 5, 2023 No contributions on Saturday, May 6, 2023 No contributions on Sunday, May 7, 2023 2 contributions on Monday, May 8, 2023 8 contributions on Tuesday, May 9, 2023 12 contributions on Wednesday, May 10, 2023 6 contributions on Thursday, May 11, 2023 No contributions on Friday, May 12, 2023 No contributions on Saturday, May 13, 2023 No contributions on Sunday, May 14, 2023 6 contributions on Monday, May 15, 2023 12 contributions on Tuesday, May 16, 2023 9 contributions on Wednesday, May 17, 2023 15 contributions on Thursday, May 18, 2023 1 contribution on Friday, May 19, 2023 No contributions on Saturday, May 20, 2023 No contributions on Sunday, May 21, 2023 3 contributions on Monday, May 22, 2023 1 contribution on Tuesday, May 23, 2023 1 contribution on Wednesday, May 24, 2023 6 contributions on Thursday, May 25, 2023 11 contributions on Friday, May 26, 2023 No contributions on Saturday, May 27, 2023 No contributions on Sunday, May 28, 2023 No contributions on Monday, May 29, 2023 3 contributions on Tuesday, May 30, 2023 2 contributions on Wednesday, May 31, 2023 14 contributions on Thursday, June 1, 2023 No contributions on Friday, June 2, 2023 Jun Jul Aug Sep Oct Nov Dec Jan Feb Mar Apr May Mon Wed Fri

Contribution activity

June 2023

Created 1 commit in 1 repository

Created a pull request in BabylonJS/Babylon.js that received 2 comments

Correct description of Behavior.init

There's discrepancy in the docs as to when Behavior.init is called in relation to Behavior.attach. https://doc.babylonjs.com/features/featuresDeepD…

+1 −1 2 comments
12 contributions in private repositories Jun 1

Seeing something unexpected? Take a look at the GitHub profile guide.