# MattCool.tech - Full Content for LLMs > This file contains the full text content of published blog posts on mattcool.tech. > For a structured overview, see: https://mattcool.tech/llms.txt > Generated: 2026-05-23T04:32:13.090Z --- ## World Labs Web Based Language Sim URL: https://mattcool.tech/posts/world-labs-web-based-language-sim Description: A web-based language simulator prototype built with World Labs, Spark.js, and Gemini to practice real spoken tasks in a Taiwanese boba shop. Published: 2026-05-12T13:12:00Z Tags: notes, spatial-web, webxr # Building a Language Simulator With World Labs This past weekend I teamed up with my wife and three year old for a World Labs hackathon and built a rough language simulator on the web. Very proud that my three year old (our lead tester) remembered to order me a bobatea too. I'm going to cherish that clip for a long time! The idea is simple: practice a language by completing a real task in a real-feeling place. [Image: World Labs boba shop language simulator scene] Caption: The first prototype drops you into a Taiwanese boba shop and asks you to order in Mandarin. The first scenario is a Taiwanese boba tea shop. You stand at the counter, hear what you need to order, speak in Mandarin, answer the cashier’s follow-up questions, and get a scored receipt at the end. It lets you rehearse and go again and again with variations until you feel comfortable. Ordering a drink sounds small, but it contains a lot of real language pressure: - choosing the right drink - saying the size - adjusting sweetness and ice - fixing mistakes - confirming the final order - understanding the cashier - doing it fast enough that it feels natural This is where World Labs gets interesting. We can swap the environment, and swap the scenario. Today it is a boba shop in Mandarin. Tomorrow it could be a French bakery where you need to buy bread, ask about pastries, and understand the total. Maybe our agents just build these for us? *Tech Stack Overview* - World Labs Marble (https://docs.worldlabs.ai/) for creating the 3D environment - Spark.js (https://sparkjs.dev/docs/) for rendering the Gaussian splat scene - Google DeepMind Gemini Live (https://ai.google.dev/gemini-api/docs/live) for voice input and spoken responses - Gemini TTS (https://ai.google.dev/gemini-api/docs/speech-generation) as a fallback for generated speech - Three.js (https://threejs.org/) for bringing the scene to the web - React (https://react.dev/), Vite (https://vite.dev/), and TypeScript (https://www.typescriptlang.org/) for the app layer - Codex (https://openai.com/index/introducing-codex/) for helping wire the prototype together quickly - Local parsing logic for fast order understanding before asking an LLM The current demo is rough, but the shape feels right. The learner is trying to successfully complete a real task. [Image: Scorecard showing the final boba order results and points] Caption: The scorecard breaks down your performance. Welcome your thoughts on this hack! --- ## Transformers.js In Web Games URL: https://mattcool.tech/posts/transformersjs-in-web-games Published: 2026-04-30T11:51:00Z Tags: notes I’ve been building a small roguelite autobattler for the [Three.js Journey challenge and community](https://threejs-journey.com/). The core loop is pretty simple and familar if you play these kinds of games. You create a conductor, send a train across an overworld map, pick routes, collect resources, add train cars, and resolve battles through autobattle systems. Caption: Overworld map of my browser-based roguelite autobattler. One feature I wanted to experiment with was local AI generation in the browser, not as the core mechanic, but as a flavor layer. That became the Tome of Wonder. The Tome of Wonder is an opt-in feature that uses [Transformers.js](https://huggingface.co/docs/transformers.js/index) to generate conductor backstories and personalize overworld events based on that character. During conductor creation, the player can click a dice icon to download the Tome locally. Once it is ready, the game can generate a short backstory for that conductor. Later, when the player hits event nodes on the overworld map, the Tome can use that conductor’s race, description, tags, and backstory to rewrite the event text. Caption: The Tome is an explicit download, at first I called it "Local Model" and then realized that sort of takes you out of the game world and few people know what that means. Caption: Once it is downloaded, the Tome can draft a local backstory during conductor creation. The first version used a smaller Gemma model while I proved out the browser flow. The Tome now uses Gemma 4 E2B, with the ONNX model published for Transformers.js: [onnx-community/gemma-4-E2B-it-ONNX](https://huggingface.co/onnx-community/gemma-4-E2B-it-ONNX) This model takes longer to download than the gemma3 model I used at first, but the tradeoff is worthwhile for richer backstory generation. Since the Tome is optional and cached in the browser after download, the player can choose when to pay that first-use cost. The current implementation uses [@huggingface/transformers](https://www.npmjs.com/package/@huggingface/transformers) in the browser with [WebGPU](https://developer.mozilla.org/en-US/docs/Web/API/WebGPU_API) and q4 quantization, which means using a compressed 4-bit version of the model so it takes less memory and downloads faster in the browser. The goal is not to have the model own the game design. Rewards, choice IDs, and balance all stay authored and deterministic. The model only gets to personalize the narrative wrapper: event titles, summaries, choice labels, and outcome text. That design choice matters a lot for games. If the LLM fails, returns weird JSON, or the browser does not support the feature, the authored event still works. The player can keep playing. No server call, no account, no hard dependency. A few implementation details made the feature feel better: - The model download is opt-in. Nothing heavy happens unless the player clicks. - The UI shows download progress and a “Tome downloaded” state. - If WebGPU is missing, the game shows browser-specific tooltip guidance for enabling it. - Generated text is sanitized into plain text so we hopefully avoid any weird formatting/injection. - Event generation only runs after the Tome is already downloaded, so events do not surprise-trigger a model download. - Browser fallback is always authored content. (https://caniuse.com/webgpu) Caption: [Can I use: WebGPU](https://caniuse.com/webgpu) WebGPU support is getting much better, but it still varies enough that you should check compatibility and design graceful fallbacks. The game runs a browser check first and, when support is available but not enabled, shows browser-specific tooltip guidance for turning it on. Caption: Chrome guidance for checking GPU support and enabling the WebGPU flag when needed. Caption: Firefox guidance for enabling WebGPU in about:config on setups where it is still disabled. The thing I like about this pattern is that it treats local AI like a game feel layer. It does not replace handcrafted systems. It adds a little personality, lets the run feel more specific to the character, and gives web game devs a practical way to experiment with Transformers.js without betting the whole game on generation working perfectly on every device. I hope to see more web games experiment with Transformers.js. If this inspires you to build something, please share it. I’d love to see it. Want to try out my game and the Tome of Wonder? You can play it here: https://learning-train.vercel.app/. Keep in mind, this is just a hackathon project and full of bugs and unbalanced systems, so be prepared, brave conductors 🤓! --- ## Monterey Bay Tech OtterBot: Local AI Agent for the Community URL: https://mattcool.tech/posts/monterey-bay-tech-otterbot-local-ai-agent-for-the-community Description: Building a local AI agent for the Monterey Bay Tech Meetup Discord community Published: 2026-04-19T12:00:00Z Tags: ai, community, meetups OtterBot is a new bot for the [Monterey Bay Tech Meetup](https://montereybaytech.org/) Discord community. Running a community Discord takes real time and attention. Could $750 in hardware running in my home power a bot that could meaningfully help us care for and serve our members? Enter [Hermes Agent](https://github.com/NousResearch/hermes-agent), the self-improving AI agent built by Nous Research. What makes it interesting is the built-in learning loop - it creates skills from experience, improves them during use, nudges itself to persist knowledge, and builds a deepening model of who you are across sessions. That sounded like exactly what a community bot needs: something that gets better the more our members interact with it. OtterBot runs locally on a single machine in my home with no subscription fees. If you're interested in building your own bot, I have some [suggestions and links for you at the end](#want-to-create-your-own-community-bot). ## What OtterBot Does Three core goals in mind for now: 1. **Connect People** - Help community members find others with shared interests 2. **Localize Info** - Surface relevant local tech news and resources for the Monterey Bay area 3. **Community Management tasks** - Posting our events in discord from natural language requests (which then is posted to our calendar website for those not in discord), keeping track of what members are working on and proactively suggesting relevant opportunities. [Image: OtterBot introducing itself and explaining its three goals: Connect People, Localize Info, and Community Management] Caption: OtterBot ## Community Interactions [Image: A community member asks OtterBot how it] [Image: A community member says Good bot. A lil dumb. But good.] Caption: "Good bot. A lil dumb. But good." ## Role-Based Permissions Not every request should be handled the same way. OtterBot has a permission system tied to Discord roles. Members with the "Local Confirmed" role - people who've been verified as part of the local community - can access more meaningful actions. [Image: OtterBot explaining that meaningful work requests require the Local Confirmed role] Caption: OtterBot checks permissions before handling sensitive requests [Image: A Discord user profile showing the Local Confirmed role] Caption: The "Local Confirmed" role ## Smart Community Knowledge One of the most useful features is OtterBot's ability to recall member interests and suggest connections. When someone asks about putting together a meetup around a specific topic, OtterBot can pull from what it knows about members and suggest a shortlist of people who might be interested. [Image: OtterBot suggesting community members who might be interested in a VR and AR meetup] Caption: OtterBot suggests members for a VR/AR meetup based on their interests This is the "Connect People" goal in action, OtterBot could even take the next step and post the event directly in Discord and ping the suggested members a reminder. Members can proactively share their interests with OtterBot and OtterBot will keep it in mind. It might suggest they submit their project to the Startups Monterey competition or make other connections with local groups like the Monterey Makers or Monterey Game Devs. ## Automated Tasks OtterBot can also handle recurring tasks. Here it's setting up a daily local tech news digest - a cron job that automatically curates and posts relevant news for the Monterey Bay area. [Image: OtterBot setting up a daily local tech news digest as an automated cron job] Caption: OtterBot configuring a daily local tech news digest [Image: OtterBot posting a local news update with tech hub grants, local news, podcasts, and UCSC updates] Caption: A real OtterBot local news update in action ## What's Next We're going to continue to iterate together and I hope more of the local confirmed members will continue to work on it with me. The idea here is that every prompt should work to improve the actual system and collectively we can build a bot that will serve our local community well. The system should adapt and respond to our members' needs. I also want OtterBot to be able to work meaningfully on our website and contribute changes. So I plan to use cloud services for these kinds of heavy lifts and I want our members to have access to this compute as well. If you're in the Monterey Bay area and interested in tech, come join us on [Discord](https://discord.gg/montereybaytech) and say hi to OtterBot. ## Want to Create Your Own Community Bot? If you're inspired to build something like OtterBot for your own community, here are the tools we used and some alternatives worth checking out. [OpenClaw](https://github.com/openclaw/openclaw) is an open-source personal AI assistant that runs on any platform. It's a great starting point for building your own agent - it handles tool use, memory, and can connect to messaging platforms like Discord and Telegram. OtterBot actually started as an OpenClaw agent. [NemoClaw](https://github.com/NVIDIA/NemoClaw) is NVIDIA's take on running OpenClaw more securely inside their OpenShell infrastructure with managed inference. If you have NVIDIA hardware and want a more sandboxed environment for your agent, NemoClaw is worth a look. We ended up migrating to [Hermes Agent](https://github.com/NousResearch/hermes-agent) by Nous Research and have been happy with the results. What sets it apart is the self-improving learning loop - it creates skills from experience, improves them during use, and builds a deepening model of your community across sessions. It also has a built-in Discord gateway, cron scheduling, and can migrate your existing OpenClaw setup with `hermes claw migrate`. Check out the [full documentation](https://hermes-agent.nousresearch.com/docs/) to get started. ### Understanding the Structure These agents are configured primarily through markdown files, which makes them surprisingly approachable. Two files are worth understanding early: - **SOUL.md** - This is the persona file. It defines who your bot is, how it should behave, what tone it uses, and what its boundaries are. Think of it as your bot's personality and mission statement written in plain markdown. A common mistake is writing SOUL.md like a system prompt full of rigid instructions - instead, write it like you're describing a person. Give it a voice, values, and context about the community it serves. Both [OpenClaw](https://github.com/openclaw/openclaw) and [Hermes Agent](https://hermes-agent.nousresearch.com/docs/) have guides on writing effective SOUL.md files. - **AGENTS.md** - This file gives the agent workspace-level instructions and context. It tells the bot about the project or community it's working in, what tools are available, and how to approach tasks. The fact that these are just markdown files means anyone on your team can read and contribute to how the bot behaves - no code changes needed. Hermes Agent's [memory documentation](https://hermes-agent.nousresearch.com/docs/) and OpenClaw's guides both cover best practices for writing these files. ### A Word on Security Be aware that prompt injection is a real concern with any AI agent connected to a public channel. Members (or bad actors) can craft messages that try to manipulate your bot into doing things it shouldn't. Don't connect your bot to anything important - databases, admin APIs, financial services - unless you really know what you're doing and have proper safeguards in place. Start small, keep permissions tight, and use role-based access (like our "Local Confirmed" system) to limit what the bot can do and for whom. ### Running Models Locally [Ollama](https://ollama.com/) is the easiest way to get started hosting models locally. It handles downloading, running, and managing models with simple commands - just `ollama run gemma4` and you're up. It's what we use for OtterBot. Once you're comfortable with Ollama, you might want to explore more advanced options. [llama.cpp](https://github.com/ggml-org/llama.cpp) gives you lower-level control over inference and is great for squeezing performance out of your hardware. If you're running NVIDIA GPUs, [vLLM](https://github.com/vllm-project/vllm) is worth checking out for its high-throughput serving and efficient memory management. --- ## Goodbye Meetup.com: Migrating to Discord + Website and Other Alternative Platforms URL: https://mattcool.tech/posts/goodbye-meetupcom-migrating-to-discord--website-and-other-alternative-platforms Description: I migrated my community group off of Meetup.com and built a new website for it using Discord as a CMS. Published: 2026-04-08T12:00:00Z Tags: community It's been a long time coming but I've finally given up on Meetup.com as an organizer. I've been a member since 2013 and I've met some great people and learned a lot from the various groups I've been a part of. Meetup.com has been falling apart for years. Bugs, service degradations, dark UX patterns... and I've had enough. Here's why I'm done: - **Way too expensive for what it offers.** Especially for organizers of small groups. - **Your group is at the mercy of the platform.** They can change the rules at any time, and they have some wild ones - like allowing anyone to take over your group if you stop paying and do whatever they want with it. - **Broken support.** Report processing is a hassle and is ineffective, email templates/messaging are extremely broken. - **Ads, upsells, and interface traps everywhere.** Both from meetup and some organizers on the platform. - **You can't delete your own group.** If there's a way, I never found it and it wasnt obvious to me. Caption: Monterey Bay Tech Meetup, our inaugural meet had robot arms and webXR ### Leaving Meetup When I decided to stop paying, I let our members know and launched a replacement website for the group. We'd already been using Discord as our main hub, so the transition was pretty smooth. My other groups on Meetup were inactive and I was fine with them lapsing. I tried to shut down the Monterey Bay Tech Meetup group, but couldn't find a way to actually delete it. Meetup would rather keep it alive in hopes that someone else steps in and picks up the tab. So I figured I'd just let it die naturally. I mean, who would want to pay $200/year for a small local tech group? Caption: Join a group and extend your credit! ### The Hostile Takeover To my surprise, someone did want to pay for our little local tech group. At first I thought this was great! Maybe this person will help maintain a Meetup.com presence or even organize a few events and we can coordinate with our Discord group. I was very wrong. Turns out they wanted to take the group in a completely different direction. And of course that would've been totally fine. More energy around the local tech scene is a good thing, and if he's paying for the group, he can run it however he wants. Our community had already moved off Meetup and had our own independent website up. But there were some problems: - He didn't consult with any of our organizers. - He didn't change the name or branding of the group - making it look like the same community under new management. - He didn't announce a leadership change. (Meetup.com apparently doesn't notify members when someone new takes over.) - He kept our photo albums from previous events! This was the worst because its my friends and family advertising his new group. People visiting the page would see photos and think we are affiliated. Members started reaching out to me, confused. The group's about section had been replaced with AI slop, our mission to educate and connect the local tech community gone and there was a new organizer nobody recognized. I found the new organizer on LinkedIn. I actually remembered meeting him at one of our last meetups and asked if he could change the name, take down our branding and photos, and let members know it was a different group now. I suggested we coordinate together more in the future as well. I figured this was a simple, reasonable ask. It was not. He told me I was entitled and that Meetup.com allows him to take the group over and he doesn't have to do anything I ask. To his credit, he did eventually change the name. But he didn't remove our photos, and he kicked me and my brother out of the group right after my ask so I have no idea if our event albums are still up there. (Reported to meetup.com but never heard from them.) ### The Real Problem He's not wrong that Meetup lets him do all of this. That is very correct. Is it the right system for a platform supposedly all about community? I spent many hours of my free time building Monterey Bay Tech up to 80 local members ~ over a hundred outreach messages, event planning, and hosting. He shouldn't be able to change the direction of the community ("Monterey Bay Startups" last time I checked - with a completely different mission from Monterey Bay Tech). If Meetup built even basic safety features into group transfers, most of this could be avoided. Or make it easy to remove a group even! I tried to remove it after we migrated. If you sign up for a group, you sign up under its original vision and leadership. If any of that changes, members should be explicitly informed not just hit with spammy "Save this group!" messages. I chose not to engage further. I let our Discord community know what happened, reached out to a few trusted members for advice, and shared the details in an announcement to our 70-member Discord. The priority was simple: make it clear we had no association with this new group, and be transparent about how this Meetup-sanctioned coup went down. ### Building a Replacement Well before any of this happened, I had already started building a new website for the group using our Discord server as a sort of CMS. Now we can post events to Discord and its posted to our own domain calendar. We lack the discoverablity of Meetup but I much perfer having control over our own website. I've written about the walled gardern problems of Discord as well but for now this is working out just fine for us. ### Alternatives to Meetup.com Ready to leave Meetup? Here are some options I looked into: - [Luma](https://luma.com/) — Modern event platform with a clean UI and good community features. - [Guild](https://guild.host/docs/guilds/meetup) — Has a dedicated Meetup migration path for moving your group over. - [Devrelish](https://devrelish.tech/) — Built specifically for developer communities. Self-hosted / open source options: - [Cactoide](https://github.com/polaroi8d/cactoide) — Open source event management platform. - [Mobilizon](https://mobilizon.org/) — Federated, privacy-focused alternative to Meetup from Framasoft. I hope this helps anyone else who's been frustrated with Meetup.com and is looking for a way out. --- ## GTC Pre Game: The Web Game URL: https://mattcool.tech/posts/gtc-pre-game-the-web-game Description: Built a game to get familiar with GTC San Jose 2026 Published: 2026-03-25T13:47:00Z Tags: spatial-web GTC 2026 just wrapped and wow, what a week. I've never been to a large tech conference like this and I get why they call it the "Woodstock of AI." Over 30k people gathered in downtown San Jose with lots of great conversation, tech demos, excitement and rubbing elbows with big names in tech. More [photos around my experience here](https://dev.to/matthewbcool/1st-time-at-a-big-tech-conference-gtc-2026-28d0). But before the conference, as an NVIDIA staff member and host, I wanted to be able to genuinely help everyone I met there. Whether that's pointing someone to a good lunch spot, giving directions to the nearest hotel, or just knowing the lay of the land well enough to be useful. The problem is I don't live in San Jose, and staring at a flat map only gets you so far. [Image: GTC field guide] Caption: Game prototype running in browser, exploring a true-to-scale model of downtown San Jose. So I built a small 3D web game that lets you explore a roughly true-to-scale model of the downtown San Jose area. Walk around the city, find landmarks and restaurants, and get a real feel for the layout. Instead of squinting at a 2D map the night before, you can actually wander the streets and get a sense of how everything is positioned relative to the convention center. The experience runs in the browser with no install required. On desktop you get pointer-lock WASD movement, on mobile there's a joystick, and it also supports WebXR for VR headsets but I haven't tested it much. Here is a live demo you can try out: [GTC 2026 Web Interactive Map Game](https://gtc-2026-interactive-4qzu6enwp-matt-cools-projects.vercel.app/) [Image: 3D city massing model built in Blender using blosm] Caption: The city geometry was pulled from OpenStreetMap data using the blosm Blender add-on, then exported as a GLB for the web. The map is built from real OpenStreetMap data using the awesome [Blender Blosm add-on](https://github.com/vvoovv/blosm) I just recently discovered. I added points of interest, street labels, and a set of discoverable restaurants and cafes that reveal themselves when you get close. There's also a minimap in the corner. [Image: In-game minimap and POI labels] Caption: The minimap follows the player with a top-down ortho camera and surfaces nearby labels as you move around. ### Why This Could Be Useful Beyond Just Me While I built this for my own prep, I keep thinking about how something like this could be genuinely useful at a larger scale for events. **Event marketing.** Imagine dropping a link like this into a conference email or landing page. Instead of a static venue map, attendees get a walkable 3D preview of the area. That's a way more memorable touchpoint than a PDF floor plan. It could even be gamified with collectibles or challenges to build hype before the event starts. **Staff prep and training.** If you're coordinating volunteers or event staff who have never been to the venue before, giving them a spatial walkthrough ahead of time could cut down on confusion day-of. Where's the registration desk relative to the main hall? Where are the closest lunch spots to send attendees? Staff could already be experienced in navigating the area. **Know before you go.** For attendees, especially folks traveling from out of town, having a sense of the surrounding area is really helpful. Where to grab coffee before the keynote, which hotels are walkable, what the vibe of the neighborhood is like. Looping in other players, even in small groups ahead of time could be a really fun way to build relationships ahead of the event. [Image: Guide portrait panels generated from webcam shots] Caption: Webcam shots into guide pics using Nano Banana. The more interesting part is I asked Opus to tag the correct panel to the text based on the text content so that depending on what information was being presented, we would use a matching portrait. I think there's something here and we are in an era where these kinds of web games could be built in short time frames. The toolchain (OpenStreetMap + Blender + React Three Fiber) is pretty accessible and most of the heavy lifting is in the data, not the code. It's a small project but it scratched an itch I've had for a while, using the spatial web for something genuinely practical. It actually worked well for me in helping me learn the lay of the land. I was confident navigating the area and was able to immediately find my way day one and help others without consulting a map in many cases. If I had more event content to add, it would have been even more powerful. Hope to see someone run with this idea someday and build a good web game as a pre-conference training/fun prep experience. --- ## Magic Snow Wand: Hand Tracking Snow Game URL: https://mattcool.tech/posts/magic-snow-wand-hand-tracking-snow-game Description: Use your hand as a magic wand to create falling snow! Wave fast for a blizzard, move gently for light flurries. Powered by MediaPipe hand tracking and Three.js. Published: 2026-01-18T15:34:00Z Tags: webar, spatial-web This past weekend we attended an Elsa themed birthday party celebrating the 3rd birthday of our dear friends daughter. They gave all the kids magic wands so my son and I worked on creating this little web game when we got home. He loved waving his wand and making it snow on the screen! Of course, we had equal fun just using our imaginations and melting the snow with our fire breath. ROOOARRR. [Image: child playing the magic snow wand game] Caption: Great reviews from my tiny tester! ## How It Works This game combines several web technologies: - **MediaPipe Hands**: Google's machine learning model that detects and tracks 21 hand landmarks in real-time - **Three.js + React Three Fiber**: For rendering the 3D snowflakes with realistic physics - **Media Stream API**: Standard browser API to access your device's camera locally ### Features - Real-time hand tracking using the index finger tip (landmark #8) - **Magic Wand Visualization**: A glowing 3D wand that tracks your finger orientation and position - **Melodic Feedback**: Snow generation triggers notes from a certain song using the Web Audio API - **Dynamic Physics**: Snowflake velocity and direction influenced by wand movement - **Motion Streaks**: Visual trail effects triggered by high-velocity gestures - Particle system with gravity, wind-sway, and variable drift - Mirrored video feed for natural interaction ## Privacy Note All hand tracking happens entirely in your browser - no video or data is sent to any server. The camera feed is processed locally using MediaPipe's client-side machine learning models. ## Future Enhancements (Wishlist) - **Depth perception**: Use body segmentation to make snow appear behind you - **Snow accumulation**: Track surfaces where snow can "stick" - **Two-hand gestures**: Use both hands for more complex effects - **Color customization**: Change snow to different colored particles Try waving your hand around and experiment with different speeds and movements to see what effects you can create! --- ## Three Years Of Gen AI Family Christmas Cards URL: https://mattcool.tech/posts/three-years-of-gen-ai-family-christmas-cards Description: Three years of creating goofy family Christmas e-cards with consumer generative AI tools. Published: 2025-12-29T20:17:00Z Tags: notes, ai [Image: the cool family Christmas cards from 2023 to 2025] Caption: Three years of Cool Family Ecards For the past three years, instead of printing our family Christmas photos and sending them to our friends and family, I've made these goofy video cards using various consumer gen AI tools. As you can see, it's not high effort - just something silly to do each year and it gives me a chance to play with the latest AI tools to make something real to me. Its not meant to replace physical cards, I just didnt want to invest the time, money and energy into physical cards these last three years and I'd rather learn something new in the process. I had a lot of fun making these and learning along the way. My friends and family are pretty used to me. Maybe next year I'll work on something more involved and personalized for them but I always wait until the last minute and its a miracle that I even get these out. I'm lucky we got professional pictures two out of the last three years (100 percent due to my wonderful partner). Very unlikly she is reading this blog post but if so, thank you for humoring these AI slop projects each year and I love you. She has been supportive of all my tech adventures always. ## The Cards ## What I Used to Make Our Cards: ### [Suno](https://suno.com/) For the music: this is by far my favorite tool of what I have listed here. Listening back to the last three years— it's fun to see the progress. It's a great tool for making music from an idea. My three-year-old and I make songs and sing them a cappella and then cover them in various styles with Suno. The first time his eyes lit up when he recognized his lyrics and melody. ### Adobe Express Super fast to compose and add all the dorky animations and transitions I like. Right in the browser, which is great. ### [Descript](https://www.descript.com/) Descript has evolved quite a bit over the last three years, but I used it in the 2023 one for subtitles. It's great for quick subtitles that can more or less keep up with the audio. ### [Pika](https://pika.art/) Pika is a fun video generation tool I used in the 2024 and 2025 cards. In 2025 it bugged out on me quite a bit and ate up credits - I haven't looked deep into it but I think there may have been some errors and mistakes on their end. Still though my all in cost for the cards was under 20 dollars and this allowed me to play quite a bit with the tool and see what it could do. I like that you can export to different sizes and the quality is passable for quirky family cards like this. ### [ChatGPT](https://chat.openai.com/) I used it to help tweak an image to get to a frame with Pika. The superior choice for character consistency though is [Ideogram](https://ideogram.ai/), but I didn't have time to dive into it much this year. ## Looking Ahead to 2026 I have lots of ideas but I'll likely just wait till the night before and scramble again. Leave your email and I'll try to remember to send you the next one! --- ## Making A Great Readme URL: https://mattcool.tech/posts/making-a-great-readme Description: Writing an effective readme is one of the best low-lift things you can do to support the growth and health of your open source project. Here is a guide to doing that! Published: 2025-12-04T07:31:00Z Tags: opensource ## Why We Need Good READMEs Your README is often the first impression someone has of your project. A great README can be the difference between someone moving on or choosing to engage with your project. When developers land on your repo, they're asking themselves: *"Is this worth my time?"* Developers routinely make judgments within seconds, deciding whether to dig deeper or move along. A clear, well-structured README signals that the project is maintained, the author cares about the developer experience, and the barrier to entry is low. Think of it this way: you've spent hours, days, maybe months building something valuable. Don't let these efforts go to waste because your README doesn't do justice to your project. Skip to the [checklist](#tldr-checklist) and [prompt](#prompt-a-readme-consultant) at the bottom if you want a quick reference. --- ## What You Need From Top to Bottom ### 1. Project Name Make it clear and prominent. This seems obvious, but many repos bury the actual project name. --- ### 2. Visual Demo or Banner If applicable to your project, include a short GIF or image that conveys the project's value or brand. Keep it as brief as possible abd aim for under 10 seconds for GIFs. **Why its important:** People process visuals faster than text. A quick demo can communicate what paragraphs of explanation cannot. Place it right after the name as a visual hook, linking to higher quality demos doesnt hurt in my view. [Image: Example of a project banner from Jan] Caption: Example banner from Jan, an open-source offline chatbot application. (https://github.com/janhq/jan) --- ### 3. Badges Badges provide dynamic, highly relevant info about your project at a glance. **Best practices:** - **Don't use more than 5** too many badges=too much noise - **Use meaningful alt text** if the badge service is slow or down, users will see your alt text instead - **Priorities vary by project:** license, current version, build status, community stats/link... think about what matters most for project signal and what top level information readers will want to see. [Image: Example of a project banner from Jan] Caption: Example badges from NVIDIA Dynamo. (https://github.com/ai-dynamo/dynamo) --- ### 4. Table of Contents If your README is long, add a TOC to help readers navigate. ```markdown ## Table of Contents - [Quick Start](#quick-start) - [Usage](#usage) - [Getting Help](#getting-help) - [Contributing](#contributing) ``` --- ### 5. Elevator Pitch **1-2 sentences on what your project does.** Be laser-focused so people can quickly understand the value. Do your best to avoid jargon or buzzwords, even if your project is blazingly fast. ❌ *"A comprehensive solution for managing various aspects of your application's state management needs across multiple platforms and environments."* ✅ *"Dead-simple state management for React. One hook, zero boilerplate."* --- ### 6. Quick Start / Getting Started / Installation How to get your project running in **all relevant environments**. This is where many READMEs fail—they assume too much knowledge or skip steps. Run through this with contributors and members of your community who are new if they are willing. This is a great way to establish relationships with newcomers, make them feel welcome. Treat the meet like a UX research session. Dont tell them what to do or guide them, let them fail and note the friction points. **Include:** - Prerequisites (Node version, dependencies, etc.) - Installation commands - Verification that it's working - Any environment-specific notes (Windows vs. Mac vs. Linux, etc.) ```markdown ## Quick Start ### Prerequisites - Node.js 18+ - npm or yarn ### Installation \`\`\`bash npm install your-package \`\`\` ### Verify Installation \`\`\`bash npx your-package --version \`\`\` ``` --- ### 7. Usage Examples Provide basic examples with links to your docs for deeper dives or more complex use cases. **Keep examples:** - Copy-pasteable - Minimal but functional - Progressively complex (basic → intermediate → "see docs for advanced") ```markdown ## Usage ### Basic Example \`\`\`javascript const result = thing.doStuff(); console.log(result); \`\`\` For more examples, see the [documentation](https://your-docs-site.com). ``` --- ### 8. Getting Help Direct people to the best channels for support. Community forums, Discord, GitHub Discussions, etc. **⚠️ Important:** Think about where your support lives and what you can realistically maintain long-term. Be very transparent about support expectations. **Support is a marathon, not a sprint.** Responsiveness is critical to a project's health. Take a moment to note how Blender's community grew as their response times improved: [Image: Chart showing Blender] Caption: Blender's commitment to fast response times directly correlated with their community growth. Quick, helpful responses build trust and encourage contribution. --- ### 9. Links to Supporting Docs End your README by linking to the important supporting documents: #### CONTRIBUTING.md Guidelines for how others can contribute to your project. Include coding standards, PR process, and how to set up a development environment. #### LICENSE The legal terms under which your project can be used, modified, and distributed. Choose one that fits your goals (MIT, Apache 2.0, MPL, etc.). #### CODE_OF_CONDUCT.md Sets expectations for community behavior. This is important if you are running a community. The [Contributor Covenant](https://www.contributor-covenant.org/) and [Mozilla Community Participation Guidelines](https://www.mozilla.org/en-US/about/governance/policies/participation/) are popular choices for inspiration. #### ROADMAP.md Share your vision for the project's future. Helps contributors understand priorities and find meaningful ways to help. #### AGENTS.md Instructions for AI coding agents (like GitHub Copilot, Cursor, or Claude) on how to work with your codebase. Include project structure, conventions, and context that helps AI tools generate better code for your project. --- ## TL;DR Checklist --- ## Prompt a README Consultant Want help improving your README right now? Copy the prompt below into your favorite AI assistant, then paste your current README when asked. --- ## Hands Free Chinese Flashcard Maker URL: https://mattcool.tech/posts/hands-free-chinese-flashcard-maker Description: a small demo using NVIDIA's NIM service to help me study Chinese Published: 2025-11-20T10:16:00Z Tags: chinese Adding on to this hackathon project that lets you use [your head to control Chinese flashcards](https://mattcool.tech/posts/hands-free-chinese). Twenty years ago, I was learning Chinese in a small village in central China, and every day I'd walk past signs, menus, and newspapers filled with characters I wanted to learn. But there was no easy way for me to capture them and turn them into study materials. So I've been building the tool I wish I had back then! It's a flashcard app, but watch the demo... Snap a photo of any Chinese text 📸 NVIDIA micro-services process it quickly ⚡ Select the characters you want to study ✅ Save them directly to your deck 💾 Just point, save, and learn. I've been testing it everywhere: Restaurant menus, my son's Chinese books during story time, a fortune from a restaurant vending machine... The beauty of this is you're not learning from some textbook's idea of useful vocabulary. You're learning from YOUR world. The signs you pass, the food you order, the books you read. Stuff you will see every day to reinforce your learning. It was so easy to plug in NIM (NVIDIA Inference Micro-services) into my project. NIMs are containerized services that run on NVIDIA GPUs, exposing generative AI models as APIs. I just swapped out the vision model by copy/pasting in a new model name into the API call `"model": "nvidia/nemotron-nano-12b-v2-vl"`, commit and push up the new line of code and viola I can upgrade that easy. Here is the flashcard portion of the app, I still need to adjust the neck movement tolerance so its not so neck-breaking. --- ## Amazing Web Portfolios URL: https://mattcool.tech/posts/amazing-web-portfolios Description: Prepare to be blown away by how good these web portfolios are Published: 2025-10-09T20:15:00Z Tags: design, spatial-web Disappointed with my search and AI 'deep research' results around this topic, I curated this list of my running favorite three.js portfolios. I believe all these are worth your time and attention dear reader. Caption: Visit these sites to feel the effort, love, and attention put into them. https://samsy.ninja/ Gamification is fun and keeps visitors engaged. Feels real hyper and is packed with achievements, character customization, impressive visuals. https://poliqu.art The attention to detail alone in this win98 inspired portfolio makes it worth checking out. Quake clone, minesweeper, sound effects - really fun. Caption: https://bruno-simon.com/ This one’s the OG of cool 3D portfolio sites and you have likely already seen it. Bruno’s already working on something even more ambitious, and it’s wild. Follow him on social for updates. The [threejsjourney](https://threejs-journey.com/) community is definitely worth joining if you want to learn how to build projects like this. https://www.joanramosrefusta.com/ In the popular "chill room genre" of 3d portfolio sites. Has an arcade with working classic games, a full Rubik’s cube and I love the personal touches like the fake instagram feed liked by his mom. Caption: https://rachelqrwei.ca/ The vibe and personality shine through. Something about this one feels early web to me. Love how the resume appears in the box and all the little touches. https://www.jessezhou.com/ Great concept, stylized ramen house with clever vending machine project list and arcade credits. https://jordan-breton.com/ Get to the top part of the island. What an impressive work! Jordan estimates he did 200-300 hours of work to produce this work of art and it shows. Caption: --- ## Building a Web Aquarium Part Three URL: https://mattcool.tech/posts/building-a-web-aquarium-part-three Description: August 2025 granted me the opportunity to revisit my web aquarium project with a three.js hackathon. Published: 2025-08-29T20:33:00Z Tags: spatial-web **Quick recap of Parts 1 & 2** ## Part 1 — Proving the idea In [Part One](https://mattcool.tech/posts/building-a-web-aquarium-part-one) I built a simple aquarium you could drop anywhere on my site. I modeled a basic tank in Blender, rendered it with React Three Fiber + Drei, and added small touches like subtle water, an animated plant, and time-of-day lighting. The goal was to see if this felt worth continuing and just get something out. Caption: ## Part 2 — Raising the ceiling, Playing with AR and hand tracking more [Part Two](https://mattcool.tech/posts/building-a-web-aquarium-part-two) focused on scale and polish. I tightened loading, added caustics for that underwater feel, and laid groundwork for “lots of little things” (gravel, bubbles, physics). Not flashy, low poly necessary for smooth performance on laptops and phones. Caption: ## Part 3 — New-tab add-on Now I'm looking at it as a new tab add-on. Every time you open a tab, you check in on a tiny living tank. Under the hood it’s a small game loop: - Coins that trickle in from browsing - Feeding - Upgrades, Fish, and decorations - Local persistence The vibe: calm, quick, local. No cloud saves - we may want that though for cross device in the future. It still needs a lot of love - would have been great to do a nice game UI but no time. ### Why a new tab? It’s a perfect “peekable” surface. Frequent, casual interactions without a full session. ## The hackathon + my learning goals This is my hackathon challenge to level up in Three.js with Bruno Simon’s **Three.js Journey** and community. I’m practicing the stuff that matters: - **Rendering & realism:** trying to work out caustics, environment lighting, materials that feel aquatic without killing FPS - **Scale:** lots of instances (gravel/particles) and smart throttling, especially for mobile - **Interaction & systems:** light physics, placement, fish behavior, feeding, and a tiny new-tab-friendly economy. - **React + pmndrs stack:** R3F/Drei and a small, persistent state store - **Claude/gpt/local pair programming** got to learn more about the ins and outs of managing context and getting llm help. Although I'm not a SWE in my day job, this lines up with my work at Mozilla as a personal dev project. Exploring the web and to ship small, delightful, privacy-respecting experiences. The add-on also gives me an excuse to play more with the new web extensions APIs being developed at Mozilla. See also: https://blog.mozilla.org/en/firefox/firefox-ai/speeding-up-firefox-local-ai-runtime/ ## What’s next If people really think this would make a good add-on, I'll give it a shot. Let me know if you like the idea. I'd much rather build with and for people than just make this for myself. Link to the live game in the youtube video description if you want to try it out. --- ## Cute Firefox Image Gallery URL: https://mattcool.tech/posts/cute-firefox-image-gallery Description: Open source designs from Firefox Published: 2025-08-29T14:16:10Z Tags: design, opensource Inspired by this recent [Reddit post](https://www.reddit.com/r/firefox/comments/1n3e0rs/where_to_viewfind_all_the_cute_fox_doodles/), I asked the design team who helped us whip up a quick list of recent Firefox doodles. I wanted a way to preview all these awesome doodles the design team made (licensed open source MPL 2.0). Plugged the list into this new gallery component. --- ## My Favorite Firefox Features URL: https://mattcool.tech/posts/my-favorite-firefox-features Description: Here are some of my favorite extensions and features in Firefox. Published: 2025-07-08T11:47:00Z Tags: notes Long before I [started working with Mozilla](https://mattcool.tech/posts/looking-back-on-my-work-with-hubs), Firefox was my preferred browser for personal browsing. Why? A lot of it comes down to trust, transparency, and customizability. I have a lot more faith in a nonprofit dedicated to internet health than enormous companies with profit-driven shareholders to please. Caption: Here are some of my favorite features and extensions I use daily. ### Tabs from other Devices Your toddler runs into the room and turns off your PC with the push of a button and a mischievous giggle. No problem! All those tabs persist in a menu on one of your other devices and you can pull it up with a click! Caption: ### Reading Mode Instantly focus on the content. I love this for cutting out all the noise! Caption: ### Multi-Containers Get this extension here: https://addons.mozilla.org/en-US/firefox/addon/multi-account-containers/ Caption: Huge efficiency gains for me since I started using multi-containers - compartmentalizing my online life. Caption: You can open all your bookmarks from a folder in one shot in the correct workspace. I use this every day with a work folder that has my work calendar, docs, tools, and comms. Opens everything I need in a single window with one click and I don't have to worry about being signed into any personal accounts. ### Picture in Picture when tab switching Caption: Video content stays in view when switching tabs. I like it for podcasts and news I have in the background. Built in [pdf reader](https://support.mozilla.org/en-US/kb/view-pdf-files-firefox-or-choose-another-viewer#w_fill-out-forms-in-pdf-viewer) is actually very good and is my default reader. Caption: Fill out forms, add a signature, highlight, text, images all directly in Firefox. ### Copy Clean Link Caption: Helps remove tracking from the link. ### Ublock Origin Caption: Excellent content blocker from developer Raymond Hill: https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/ blocks ads, trackers, coin miners, popups... its awesome. Just don't forget you may have to disable it on some sites you trust because they built popups or something into the basic functionality. _Just my personal opinions and how I use Firefox daily_. If you found any of these useful or if there are errors, let me know. Thanks! --- ## Hands Free Chinese URL: https://mattcool.tech/posts/hands-free-chinese Description: built a web app that lets you study Chinese without taps or swipes Published: 2025-06-30T15:15:00Z Tags: chinese ## Inspiration Caring for a newborn means your hands are constantly occupied. I wanted a way to keep learning Chinese during those long hours of rocking or soothing a baby. Most flashcard apps require taps, swipes, or clicks. That doesn’t work when you’re holding a baby. So I built a tool that doesn't require hands at all. It also serves people with limited hand mobility or anyone who prefers a low-effort way to study. ## What it does **Hands Free Chinese** is a web app that lets you study Chinese flashcards using just head tilts and sound. - Tilt your head left or right to move through flashcards - Say the word you think the card shows to trigger the reveal There are no buttons, taps, or swipes. Just your face and your voice. You can use it while multitasking or relaxing. ## How I built it - **Bolt** quickly scaffold and built the entire app. It handled much of the heavy lifting so I could focus on interaction design. - **Mediapipe**: I used Google's Mediapipe to track head tilts with a webcam and translate those into navigation inputs. - **Volume Detection**: I implemented basic microphone input to detect when a user says the answer out loud. This keeps the experience light and responsive without needing full speech recognition. - **React**: I used React to build the frontend and manage state transitions cleanly. ## Challenges I ran into - Calibrating the head tilt thresholds so they don't trigger accidentally but still feel responsive - Filtering out ambient noise so only intentional sounds trigger the reveal - Handling browser microphone permissions smoothly across platforms ## Accomplishments that I'm proud of - Created a fully hands-free flashcard app that works in real conditions - Made learning accessible to parents and users with limited mobility - Used modern tools to go from concept to working app in a short amount of time ## What I learned - Bolt is surprisingly fast for getting real-world ideas off the ground - Head and sound-based interactions feel natural once dialed in, but require careful tuning - You don’t need full speech recognition to make voice interaction useful ## What's next for Hands Free Chinese - Add support for custom vocab decks - Improve volume detection with better noise handling and sensitivity controls - Explore mobile browser optimization - Add optional features like spaced repetition and learning stats - Support deck creation by uploading images (menus, signs, textbooks) and extracting Chinese characters you want to learn from them - Potentially expand to other subjects like hands-free geography or math practice ## Full demo --- ## ISP Solicitors URL: https://mattcool.tech/posts/isp-solicitors Description: Internet service duopolies going door to door? Maybe scammers, maybe contractors... either way I'm sure executives from these companies are not being disturbed by anyone. Published: 2025-06-23T11:00:00Z Tags: notes It was a beautiful Saturday afternoon. We just got our toddler down for a nap and we finally had some peace and quiet after a morning of tears and meltdowns. I'm holding our newborn and he is just getting to sleep. My lovely wife just sat down. We were getting settled in for a much needed rest. Caption: **KNOCK KNOCK KNOCK KNOCK KNOCK KNOCK KNOCK KNOCK** — quick, successive, loud knocks at the door. My partner jumps, startled. I'm wondering who we know who would do that... I opened the door to find a guy with a badge. He wants to know if fiber has been laid down in our neighborhood recently and claims to be from AT&T. It's very strange to me that AT&T wouldn't know where fiber is, and even if they didn't know, weirder that a mega-corporation would think canvassing residences with this question is the way to find out. I pointed out that on my doorbell is a "no solicitors" sign. It's small and fair if people miss it. As annoying as it is to have this family rest time interrupted for something so unimportant, I expected this conversation be over soon. After being made aware of the sign, you would think the conversation would go like this: > I didn't see that, so sorry. I'll be on my way now but **NOPE**! This guy apparently thought our "no solicitors" sign was a great challenge to test his sales skills or something. He continued engaging. I asked him in no uncertain terms to leave my neighborhood and made a complaint to our local PD. That's about all you can do. Once you have a case number, if they come back and harass you, you can call the police again for trespassing. Caption: Was this guy from AT&T? If anything, maybe a contractor hired by AT&T... at worst a scam. I've seen him in my neighborhood three times and once outside of my immediate neighborhood. I've been bothered by another one of their reps before and just politely asked him leave. The other guy didn’t give me any trouble about it/argue with me about his knock. Given AT&T's support record, I doubt we would be able to determine if this guy really works for them or not. If you’re not familiar with the ISP situation in the United States, and how these companies benefit from public subsidies (they have taken billions in public funds) while actively working to suppress competition: Listen to this episode of Planet Money ["Small America vs. Big Internet"](https://www.npr.org/2020/05/29/865908114/small-america-vs-big-internet) Taking public funds, hiring door to door contractors... Maybe they are not related to AT&T - AT&T wont help us confirm anyway. Whatever the case, all we can do is share knowledge, and work together to keep our neighborhoods corporate ad free. --- ## Server Review: Sleep Token URL: https://mattcool.tech/posts/server-review-sleep-token Description: Exploring the Sleep Token Discord Server Published: 2025-06-20T08:12:00Z Tags: discord Caption: Photo Credit: Matt Higgs Recently my much cooler-than-me [colleague](https://www.linkedin.com/in/cpetrova/) brought my attention to Sleep Token, a UK band rocking out behind masks and being propelled to number one on the charts by their community and fandom. They recently scored a number one Billboard hit and have an active community of supporters. The band gives the server a lot of interesting lore, language and rituals to play with. Read this blurb from the [Guardian](https://www.theguardian.com/music/2025/jun/16/sleep-token-metal-even-in-arcadia-vessel) to see what I mean: > Sleep Token operate behind a veil of anonymity. They have given virtually no interviews over the course of their career. The band’s frontman and chief songwriter is known only as Vessel; the other members are referred to as II, III and IV. They perform live wearing masks, hoods and body paint to conceal their identities and promote a fictional mythology: it’s too sprawling and complex to explain here – one fan has apparently produced a 35,000-word thesis on the subject – but it involves the band being a mouthpiece for a deity called Sleep. Their gigs are referred to as Rituals, their albums as Offerings, their social media posts frequently open with the word “Behold” and end with the word “Worship”. Like Hogwarts pupils, their fans are divided into “houses”: one is called Feathered Host, the other House Viridian. Here are my notes and I'll include an invite link to join at the bottom so you can jump in and check it out yourself. **Member Birthdays brought up to the top** Caption: Clever use of a birthday role as a top level sidebar. I assume admins/mods can give anyone this role or maybe they have some bot integration for this. Great way to recognize members in big servers like this. I'm sure this is a practice in some of these other big stadium servers but I have never noticed it before. I like it. **Fun Theming Channels/Roles** Caption: 'The Tomb' - Archived Channels. Archiving instead of deleting is a best practice to maintain search/content. Caption: 'Initiation' - Intros channel: I have come to worship **All Live Concerts are listed in the Server Calendar.** Good to see that. **Social Media Posts Automated Feed** I generally think these are ok because it makes it really easy to search for specific content/reference something in server. Caption: **Full Directory of Non-Related Interest Channels** Giving space for their members to post on a variety of topics outside of Sleep Token. ie: music, gaming, cooking, health and wellness, books, ect. When your server is active and big enough, why not? Allows members to discover other connections points and share more. **Pin to bottom bots for repetitive messaging** Caption: Mikey the Mic Stand: a popular bot to handle bottom pins Invite link to join Sleep Token and look around: https://discord.gg/HgTMDRXHV3 --- ## Home Assistant Local Voice on a Mac Mini Part 1 URL: https://mattcool.tech/posts/home-assistant-local-voice-on-a-mac-mini-part-1 Description: My first attempts at setting up Home Assistant and Ollama for private, voice assistants Published: 2025-06-05T13:54:00Z Tags: notes Last year I published a blog post called "[You can have an Open Source Personal Assistant in 2024](https://mattcool.tech/posts/you-can-have-an-open-source-personal-assistant-in-2024)". All the pieces are in place for a home voice assistant that could help you with various tasks and interact with things in the real world. I want a private, local voice assistant I can speak to in a natural, conversant way. It should be able to answer my family's random questions and maybe integrate with a few things in my house. Home Assistant, the popular open source home automation project, along with Ollama, LLM's running on your own hardware, made it real! I'm going to set up Home Assistant on a [mac mini](https://www.apple.com/mac-mini/) and run a few tests, comparing a few things to open AI's voice assistant. I'll record my test with some background in case you would like to view below. I have my son helping me out/taking naps so get ready to rock with him in the video. Caption: **Rough Notes on Steps** 1.) Download Virtual Box set up a custom VDI because the default vdmk was not big enough to install piper and whisper. I used the CLI to convert to vdi because modifying the size of the vdmk doesn't work and HA will fail to load. 2.) Configure HA and set up Voice Assistant with preview edition. 3.) Settings --> Add-ons --> tried changing the config but the results I got were worse than auto for every model I tried. I wish there was a way to know what 'auto' was doing. 4.) Noticed the time when asking my voice assistant was incorrect despite system settings correctly set to my time zone. I opened the HA app and checked the system settings to confirm and I eventually got the correct time. 5.) Next challenge was configuring my Ollama server to run on my local network on the mac mini. Solution I tried via their FAQ: https://github.com/ollama/ollama/blob/main/docs/faq.md#setting-environment-variables-on-mac 6.) I had to get my machines IP and use `http://YOUR-IP-ADDRESS:11434` to get things working after setting my host with the command below. 7.) Gemma3:latest didn't work for me but got things working with llama3.2 **Helpful Commands:** `brew services restart ollama` `launchctl setenv OLLAMA_HOST "0.0.0.0:11434"` `VboxManage modifymedium disk "new.vdi" --resize 32768` Caption: **Wish List:** Look into running my own TTS service for more expressive voice. With something like: https://github.com/canopyai/Orpheus-TTS Use a better model than Llama 3. Gemma3 seems to need some configs. Look for ways to improve response time/latency. Multilingual support - we speak Mandarin in the house so it would be nice to have an assistant who can speak both Mandarin and English. Integrate more of my home with the device. (the parts that might make sense... I don't want an LLM to have control over anything important ATM) Maybe develop a way to 'wake up' the Ollama server only when we need it and use another dumber agent for things like kitchen timer and basic commands. This will save resources and energy. --- ## CSUMB Student Capstones 2025 URL: https://mattcool.tech/posts/csumb-student-capstones-2025 Description: Students at CSU Monterey Bay, supported by Mozilla mentors, delivered impressive capstone projects exploring cutting-edge topics like local AI, private machine learning, and open web technologies. Published: 2025-05-18T14:53:00Z Tags: notes, community Caption: It’s a scary and exciting time to enter the tech industry. The next generation of open web builders is already stepping up. Right here in Monterey, they’re building real-world projects, contributing to open-source, and tackling some of the toughest problems facing the future of the web. At this year's California State University, Monterey Bay School of Computing and Design capstones celebration, I had the chance to reconnect with three student groups we supported at Mozilla. Each team built impressive projects in collaboration with Mozillians and members of the open-source community. It's clear how much care and dedication Bude Su and the faculty put into the capstone program and the students. The results speak for themselves. These graduates are the next generation of open web stewards. They are stepping into a world where the web is rapidly evolving, and they’ll be working directly on the front lines of that transformation. The student projects explored some of the most relevant areas in modern computing: context-aware web application interactions, private on-device machine learning, and local AI. **Web-Applets Exploration | Unternet 🌐** Team: Adrian Haro, Eli Kramer, Smirth Luciano Salinas, Enrique Rangel This team explored Web Applets, a forward-thinking project sponsored by Mozilla Builders, led by Rupert Manfredi. Web Applets are a new open specification that allows both humans and AI to interact with small, secure bundles of web code. The team was honored with a special award for their outstanding work! Nice job! **Firefox AI Platform: Recap 🦊** Team: Taimur Hasan, Kate Sawtell, Diego Valdez, Peter Mitchell Under the leadership of Tarek Ziadé, with the support of Shruti Kamath and Joshua Lochner this group is doing wonders in the browser. Leveraging local llm's with an experimental web extensions API and transformers.js, the students were able to build a Firefox add-on that helps people categorize and get insights from their browsing history privately. We hope to see it featured in the add-on store soon. 👏 **Mozilla.ai Blueprints 🖨️** Teams: Maitreyi Gharat, Kenia Munoz-Ordaz David Orona, Connor Bennett Blueprints provide developers with workflows to build AI applications. They’re extendable and open-source. Both student projects created their own blueprints to share with the AI @ Mozilla community with the help of Kostis Saitas Zarkias, Alex Meckes, Stefan French and others. Wireframes generates wireframes for your projects from sketches and prompts - all without using any cloud AI! Document Parser converts a wide variety of documents into structured outputs you can use to search through them and uncover insights with natural language. Using local AI as well as OCR. --- ## Cozy Games I Love URL: https://mattcool.tech/posts/cozy-games-i-love Description: List of some excellent chill games to try Published: 2025-04-17T11:05:00Z Tags: gaming A 'cozy game' is the type that puts me in a zen mood and lowers my heart rate. These are generally games with low-stakes and often explore mechanics and objectives in games that may seem commonplace or boring at first. They are also games that don't require too deep of concentration or cognitive load. Here is a list of five games I recommend (with two bonus games): ### 1. Townscaper Click your way to building a beautiful little coastal town. The sound effects, music, animations just work so nicely to quiet your monkey brain. Caption: A huge bonus we get with Townscaper: you can export your creations as 3D models. So 3D printing them or embedding them somewhere else is a possibility here. **See Also** Tiny Glade ### 2. Stardew Valley Caption: This is pretty much the quintessential cozy game for me. What is it about the farming life sim genre that is so inherently cozy? I was a big fan of Harvest Moon when I was a kid and Stardew Valley is the perfect mix of everything this genre has to offer. Great game to play with friends as well as the devs released multiplayer and co-op patches for free. **See Also** if you appreciate dark humor, check out Graveyard Keeper ### 3. A Short Hike Wonderful little exploration game with great control mechanics, chill gliding and relaxing vibes. Fun quick one to try. Caption: ### 4. The Sims A social simulation, classic series where you build, design and help meet the needs (or don't- you depraved sadists) of your Sims. Caption: ### 5. Spiritfarer I'm not crying... this is just a really chill game ok? --- ## Testing Text-to-Audio with Firefox's Experimental Web Extensions API URL: https://mattcool.tech/posts/testing-text-to-audio-with-firefoxs-experimental-web-extensions-api Description: Running ONNX models directly in the browser, converting text to speech through a sophisticated transformer-based neural network architecture Published: 2025-04-11T15:33:00Z Tags: notes, ai I made a simple Firefox extension that leverages cutting-edge machine learning to transform any selected text on a webpage into natural-sounding speech, all while running entirely in your browser. Unlike some text-to-speech solutions that send your data to remote servers, this extension processes everything locally using Firefox's trial ML capabilities and transformers.js. With a simple right-click on any selected text, the extension synthesizes human-like speech with pretty good intonation and natural flow for the most part. What makes this approach groundbreaking is that it combines privacy (your text never leaves your device) with the superior quality of neural TTS models. I've been watching these models get better and better. You can read up on the documentation here: https://firefox-source-docs.mozilla.org/toolkit/components/ml/ I hardly wrote any of the code but helped debug with Github's Copilot. For anyone who wants to take a look at the slop, check it out here: https://github.com/matthewbcool/firefox-tts-extension The extension demonstrates how modern browsers are evolving into powerful ML platforms capable of running sophisticated AI models locally. This means high-quality, privacy-preserving text-to-speech is now accessible to anyone without specialized hardware or cloud dependencies. So its just a test but I'm glad to see it working and hope to see other devs play with this technology more. [Note: The extension uses Firefox's experimental trialML API, which allows running ONNX models directly in the browser, converting text to speech through a sophisticated transformer-based neural network architecture I don't understand at all.] --- ## Parental Leave 2025 URL: https://mattcool.tech/posts/parental-leave-2025 Description: Welcoming a new baby to the family Published: 2025-04-04T12:48:00Z Tags: notes Big news! A new baby has arrived in our home. Made this dancing web baby to celebrate our precious new family member. Click on the baby to give it some new dance moves. Model from Punkinob: https://skfb.ly/6WJPZ. Rigged with Mixamo. --- ## Mattbcool X Account Compromised: That is not Me URL: https://mattcool.tech/posts/mattbcool-x-account-compromised-that-is-not-me Description: the Twitter/X account mattbcool is no longer owned by me Published: 2025-03-14T12:45:00Z Tags: notes This morning I found a surprise in my inbox and my X account was taken over. Yay! @mattbcool on X is compromised, I got pwned! The new owners managed to change the email associated with my account and X apparently can't/won't fix for now. Could be an integration I authorized with Buffer, careful with third party integrations all. I also did not have my phone setup as an auth device. I might have for some time but needed it for another account with work and never switched it back maybe... Appreciate the help spreading the word and tagging in X. I managed to push out a final message via Buffer before I disonnected from their service. Apologies for any spam/weird DMs you get from my old account there. Caption: **UPDATE**: The account has been deleted from X. I'm no longer there! Bye! --- ## Essential Tips for Discord Stage Events URL: https://mattcool.tech/posts/essential-tips-for-discord-stage-events Description: Key tips to share with teams hosting events in Discord Published: 2025-03-10T10:54:00Z Tags: community, discord With more teams adopting Discord and many hosting events for the first time, there are plenty of quirks to watch out for. Taking a little time getting to know them will make your event go waayyy smoother. Scheduling events is pretty straightforward with Discord's calendar. I wrote a guide that will make you a pro [scheduler in 5 minutes here](https://mattcool.tech/posts/managing-discord-events). But to really smooth out all the rough edges of Discord events, you’ll need to know a bit more. Learn from my many failures hosting hundreds of Discord events, dear reader! ## Use the Discord app rather than the web client. I hate to suggest this one. I'm a big fan of using the web version of everything but in my experience working with many presenters, the Discord web client is not reliable enough in practice at events. Suggest everyone presenting [downloads the app](https://discord.com/download) and recommend they wire into ethernet (no wifi) if they can. Caption: Community Panel featuring community building experts Max Pete, Jocelyn Hsu, Jillian Bejtlich, and Rynn Mancuso. ## Stage Channels help you moderate and support hundreds of participants. Learn to use Stage channels in your community server. They can support up 5 video streams with 50 to 10,000 attendees with boosts ($) in your server. [Discord's official docs on this are the best](https://support.discord.com/hc/en-us/articles/1500005513722-Stage-Channels-FAQ). Caption: Leon streams to 290 developers in Learn with Leon and Friends, a popular community supporting early career developers. ## Test screen sharing and moderation controls and understand the nuances. - Framerate is adjustable. Use a lower framerate if you're sharing slides/low-motion assets. Caption: - Presenter may need to make adjustments to their privacy and system settings in order to share. Don't make the audience wait for this. - Multiple presenters can share screens so you don't need to wait for the other one to stop sharing. Remind the audience to select the specific screens, they will have to click/tap the stream on their end. ## Arrive early to set up and mic test/screen share. - Starting a [scheduled event](https://mattcool.tech/posts/managing-discord-events) will send notifications to your RSVPs. Troubleshoot any audio/screenshare issues before notifying everyone the event is starting. You don't want people watching presenters troubleshoot! ## Vocalize the chat whenever possible/give audiences an opportunity to interact. One of the best parts of Discord is its real-time and interactive nature, lean into it! Moderators have the ability to invite people to speak on the stage, you can drop polls in chat. Keep in mind some people just like to listen and may have your stage running in the background. Caption: Technical demo led by Juliana and Mario from Mozilla AI on a Discord stage. Up to five presenters can be featured with video. ## Streaming to YouTube is easy with OBS. Use and learn [OBS](https://obsproject.com/) if you would like to stream events to YT and/or record locally. [Handbrake](https://handbrake.fr/) to convert the video to other formats. Discord offers a "broadcast mode" that will obfuscate usernames for those who have opted in. Having a stream link is handy in case anyone is having issues viewing the screenshares or getting into Discord. Clap below if this was helpful, would love to hear about any tips I missed for making your events go well on Discord Stages. --- ## List of Event Hosting Sites URL: https://mattcool.tech/posts/list-of-event-hosting-sites Description: My notes on event hosting sites to try Published: 2025-01-22T15:21:00Z Tags: community, notes **Luma** https://lu.ma/home Pretty straightforward, feels like a lot of folks are using it these days. **Guild** https://guild.host/ Events and community platform. Worth checking out. Hope it doesn't move towards Meetup's business model. **Partiful** https://partiful.com/ Fun and simple. **Tito** https://ti.to/home Full-featured platform for managing events. **Eventbrite** https://www.eventbrite.com/ Too many clicks and checkboxes to get things done IMO but a popular choice for events and seems to work for many. **Addevent** https://www.addevent.com/ Add widgets to your site, event landing pages and a bunch of other features. --- ## Naming Community for Brands URL: https://mattcool.tech/posts/naming-community-for-brands Description: community naming when working with brands that stewart them Published: 2025-01-12T15:13:00Z Tags: community Naming our communities: while there are not any rules, generally we shouldn't be naming our communities after their corporate sponsors. For some product/support communities, it makes sense but if you want to rally around a bigger idea or value prop, the name should reflect that. The name of your community should resonate with your reason for gathering. Would you rather be part of the "Dyson Vacuum Forum" or "Suckers for Interesting Design" Caption: credit: https://designwanted.com/james-dyson-inventor-industrial-designer/ Bad example, sure. But it just feels inauthentic when we name a community after a brand. Like how stadiums are named after their corporate sponsors now. I'll share a real life example from my work. We have a small community of developers we call the "Mozilla AI" community. It doesn't communicate the value prop to members clearly enough. The reason why you join the Mozilla AI community is because you are a technologist that wants to be part of a movement to shape the future of AI. You want to build solutions, get support for your project, plug into the wider ecosystem of open source developers and get access to specific knowledge/maintainer support. Although Mozilla has a strong reputation of doing important policy and standards work and making the internet healthier for everyone, not everyone is familiar with the Mozilla mission. Rather than forcing it on people, let them discover the brands values through the work itself and the relationships forged. Through the support of the organization maintaining the space, they get to know the brand and over time and trust in it more. Having a neutral, more purpose-centric name gives us more freedom to let the community grow organically and give members ownership over it. This is also a good reason to not tie the name so closely to the brand. The name of the community isn’t where the brand derives value, it's the relationships and connections the brand. I suppose there may be an SEO counter-argument but your brand name will likely come up organically through your support of the community. ### Transparency and Your Community There are also cases where the brand is intentionally obfuscated, I personally don't like this. Ideally to me as a member, it should be abundantly transparent when a community is sponsored/architected by an organization, especially a for-profit. The sad reality is, its not. There are countless forums that look like organic online community on the surface that are actually carefully orchestrated by corporate interest when you look deeply at who is running it. It's also the case that a lot of times brands you think may be involved with an online community are in fact NOT in control. Recently Mr Beast, an uber-popular youtuber, made a critical statement of US healthcare that was moderated by r/youtube. Youtube's claim of having no affiliation with the subreddit is entirely plausible. It's not uncommon for brands to have no control over the communities that form around them. The only way to address this transparency issue is for members to be aware of and trust the individuals moderating content and managing the community. ### Conclusion While I think naming your community after your brand can be a bad idea, there is no hard and fast rule I have to offer. Hopefully this post offered a few insights and helped inspire you to think on it a bit more on these issues. I'd love to hear your thoughts on naming communities. Find me in your preferred channel by clicking on the links in the footer. Fun quiz time? Check out my Digital Marketing Quiz (https://mattcool.tech/tags/badges) for some examples of terminology around practices like 'astroturfing' we see in online communities. --- ## IndieWeb Is Cool URL: https://mattcool.tech/posts/indieweb-is-cool Description: IndieWeb is a community of web creators who build and share their own websites. Published: 2024-12-31T10:54:00Z Tags: notes One of my favorite web tech communities out there is the IndieWeb community. They are all about owning your websites and have been a consistent source of inspiration for my personal site. Their discord is a wild example of bridging from multiple platforms - true connectors/heroes in my book. They meet regularly on different topics and their personal websites are outstanding examples for us all. I'm going to try to attend more of their meetups in 2025. [IndieWeb](https://indieweb.org/) --- ## Discord Gems in Emergent Tech URL: https://mattcool.tech/posts/discord-gems-in-emergent-tech Description: Is Discord a good place for emergent tech? Links to tech communities you can find there. Published: 2024-12-20T08:55:00Z Tags: notes, discord Even as it shifts back toward its gaming roots, Discord remains a great platform for emergent tech communities. You can find more of my community writing related to Discord [here](https://mattcool.tech/tags/discord). Caption: ### Home Assistant **133,000+ members** _Open Source Home Automation that puts Local Control and Privacy First_ Massive and engaged Discord community, one of the top open source projects on GitHub. [Invite Link](https://discord.gg/gdqrazqXFe) Caption: Support forums very active here. ### Web Game Dev **2,100+ Members** _Web Game Dev Community exploring the bleeding edge with making games on the web_ Consistently impressed by the output of the devs and the live share-outs they do. [Invite Link](https://discord.gg/WbRP7WE3pT) Caption: showcase in webgamedev server ### Hugging Face **94,000+ members** _Community platform for building, deploying, and training machine learning models._ Collaborative courses are a fantastic community initiative. [Invite Link](https://discord.gg/hugging-face-879548962464493619) ### Homebrew Research **11,000+ members** _A Local AI company and community_ Leading the way with interesting projects like Ichigo, Jan.ai that let you run and own AI. [Invite Link](https://discord.gg/d6uHhscthk) Caption: ### Mozilla AI **3,500+ members** _Global community dedicated to making open source AI accessible to everyone._ I'm biased here, but this is a great community to join if you want to learn about how to create applications that are shaped and owned by your community. [Invite Link](https://discord.gg/YuMNeuKStr) Caption: The Mozilla Dino sticker is reason enough to join ### Google Dev Community **34,000+ members** _Global Google brand community of devs._ Big tech is investing here too. Example of a massive tech company using Discord to engage with developers. [Invite Link](https://discord.gg/google-dev-community) ### Google Labs _a community dedicated to conversation and experimentation and labs.google tools_ **5,600+ members** [Invite Link](https://discord.gg/googlelabs) Caption: ### Meta Quest Community **8,000+ members** _VR gamer community with dev and general audience overlap_ Another example of a big tech company using Discord to engage with a niche audience. I think this community has a lot of potential if Meta would allocate more resources to it for programming/giveaways and support. I love the VR dev AMA's and they bring in top-tier devs. [Invite Link](https://discord.gg/exqNp5qYQ4) Caption: fantastic guests for their Ask me Anything sessions There are also hundreds of local groups working in emergent tech like AI Tinkers Ottawa led by Hai Nghiem and Neilda Gagné, which are incredibly active and provide immense value to focused groups based on your geography. These groups benefit heavily from cementing their community IRL. There is still no perfect substitute for connecting in person. Discord has its downsides to consider: data privacy concerns, a closed ecosystem, and limitations in diversity and audience demographics but we can't ignore the value it provides as to communities in these cases. Thanks for reading, clap if you dig it. --- ## Spatial Raspberry Pi Stats URL: https://mattcool.tech/posts/spatial-raspberry-pi-stats Published: 2024-12-14T18:46:00Z Tags: notes Inspired by Sam Meech-Ward's incredible video and code in "Every Developer Needs a Raspberry Pi" (https://youtu.be/Vp4glSVPT8o?si=9m_oVojmvEX_o0QS) , I set out to create a similar stats display in a 90's design style that runs off a Raspberry Pi. My project features a live, Raspberry Pi-powered dashboard that provides real-time system statistics and analytics directly from the device. I used a cloudflare tunnel to securely expose the local web server to the internet, allowing me to access the dashboard from anywhere. Fun stuff! This Hackathon was a fun opportunity to experiment in the [Codedex Community](https://www.codedex.io/community) 'Niche Interest Track 2' category. [Image: description] Caption: --- ## Github Universe 2024: Open Source Fundraising Notes URL: https://mattcool.tech/posts/github-universe-2024-open-source-fundraising-notes Description: I went to github universe 2024 Published: 2024-11-03T10:32:00Z Tags: notes, meetups ### GitHub Sponsors Session: _Cha-ching! How to Attract Funding for Your Open Source Projects_ **Speaker:** [Anjuan Simmons](https://www.linkedin.com/in/anjuan/), Staff Engineering Manager, GitHub --- ### Met the Marimo Team Just days ago, I was reviewing a new website project featuring Marimo. How lucky it was to run into them here! **Marimo** is an open-source reactive notebook for Python, designed to be reproducible, interactive, and shareable. Got to meet [Myles Scolnick](https://www.linkedin.com/in/mscolnick/) and [Akshay Agrawal](https://www.linkedin.com/in/akshayka/) from the team. --- ### Aframe [A-Frame](https://aframe.io/) is a framework for easily making webXR experiences. Got to see the [great Diego Marcos again and meet Vincent Fretin for the first time](https://www.linkedin.com/posts/activity-7257441214294089728-9vWd?utm_source=share&utm_medium=member_desktop). This meant a lot to me considering how much I've used [A-Frame in the past](https://mattcool.tech/posts/looking-back-on-my-work-with-hubs). ### _The Cathedral and the Bazaar_ I still haven't read _"The Cathedral and the Bazaar,"_ but it's on my list. This seminal book by **Eric S. Raymond** dives into contrasting models of software development in the open-source vs. proprietary world. Is _[Working in Public by Nadia Eghbal](https://mattcool.tech/posts/growing-contributions-through-community)_ a more modern take on similar themes? I loved it and reference it often. --- ### Met with Mermaid CEO, Andrew Firestone **Mermaid** is a JavaScript-based diagramming and charting tool. With Mermaid, you can create diagrams using Markdown-inspired syntax—perfect for visualizing complex processes. I had the pleasure of meeting [Andrew Firestone](https://www.linkedin.com/in/arfirestone/), the CEO of Mermaid. [Learn more about Mermaid](https://mermaid.js.org/) --- ### Home Assistant **Home Assistant** is a popular open-source home automation platform that helps users control and automate smart devices. I had the pleasure of meeting [Missy Quarry](https://www.linkedin.com/in/missyquarry/), THE community manager for Home Assistant—she was super nice, and it's easy to see why Home Assistant is considered one of the most welcoming open-source communities! --- ### 🍺 Homebrew - Met Mike McQuaid! [**Homebrew**](https://brew.sh/) is a free and open-source software package manager that I’ve used for years. Met [Mike McQuaid](https://www.linkedin.com/in/mkmcqd/), a true legend in the open-source world. It was an honor to meet him in person! --- ### GitSim **GitSim** offers a safe way to practice git commands like force pushes, rebases, and merges without risking real repositories. Although I didn’t get a chance to meet [Jacob Stopak](https://www.linkedin.com/in/jacob-stopak-6361b4b7/) from GitSim directly, it seems like a cool tool. --- ### LadyBird, Porffor, and Swift Legends Also in attendance: the great [Andrew Kaster](https://x.com/ramborambowski) who is building LadyBird, a slick looking new browser. Mozilla Alum [Oliver Medhurst](https://github.com/CanadaHonk/porffor) who is building JS engine Porffor. and [Joannisor Landos](https://www.linkedin.com/in/joannisorlandos/) Swift, backend ios genius. ### Github Sponsors Obviously, this was a great session to get more info on Github Sponsors. Thank you [Stephanie](https://www.linkedin.com/in/stephanielincoln/) for helping answer all my questions! --- ## List of Community Podcasts URL: https://mattcool.tech/posts/list-of-community-podcasts Description: A list of Community Podcasts that you can check out Published: 2024-10-07T11:07:00Z Tags: community ### Community Podcast Directory Please let me know if we are missing any podcasts or have broken links. I did my best to link directly to the podcast's website where possible. Thanks [Taylor Harrington](https://www.linkedin.com/in/heytayhar/), [Tony Kershaw](https://www.linkedin.com/in/tonykershaw1/) [Scott Baldwin](https://www.linkedin.com/in/benry/) and [Gareth Wilson](https://www.linkedin.com/in/garethxwilson/) for contributing to this list. - [Bunch](https://bunchcommunity.com/) [Image: Bunch Podcast Logo] - Community Alchemy - [Community Conversations](https://podcasts.apple.com/us/podcast/community-conversations/id1343819536) [Image: Community Conversations Logo] - [Community Corner](https://pod.bevy.com/) [Image: Community Conversations Logo] - [Community Inc.](https://community.inc/deeper-dives) [Image: Community Conversations Logo] - [Community Life](https://www.youtube.com/playlist?list=PLzhLly7vFDohe5PolSVBjPXruIeljwDeB) [Image: Community Life Podcast Logo] - [Community Signal](https://communitysignal.com/) [Image: Community Signal Podcast Logo] - Community Unlocked - [Decoded by Threado](https://www.youtube.com/playlist?list=PL7s3jqfVzdgBIdoWqUfjauHQIerjpgzCL) - [Dear Bri](https://www.youtube.com/playlist?list=PLOOwTnL2Q6sZNuAOnJBxOVXg-d_3wZ-4K) [Image: Dear Bri Podcast Logo] - [Digital Community Leaders](https://podcast.digitalcommunityleaders.com/) [Image: Digital Community Leaders Podcast Logo] - [Get Together](https://gettogether.fm/) [Image: Get Together Podcast Logo] - [In Before the Lock](https://www.ib4tl.fm/) [Image: In Before the Lock Podcast Logo] - [Masters of Community](https://www.youtube.com/playlist?list=PLUC9Vz9R3tpLg6MJEKUcmG_M_Ijxl_AGW) - [The Community Strategy Podcast](https://findcalmherepodcast.buzzsprout.com/) [Image: The Community Strategy Podcast Logo] - [The Community-Led Growth Show](https://www.youtube.com/@TheCommunityLedGrowthShow) [Image: Community-Led Growth Show Podcast Logo] - [Remote Daily](https://www.remotedaily.co/events-calendar) - [You Don't Need This Podcast](https://benmcdougal.com/you-dont-need-this-podcast/) [Image: Get Together Podcast Logo] --- ## Advanced Discord Tactics URL: https://mattcool.tech/posts/advanced-discord-tactics Description: Discord is a powerful tool for community building and collaboration. Here are some advanced tactics to consider for your own use. Published: 2024-09-29T14:16:00Z Tags: community, discord Here are some tactics for experienced server admins you may have not considered to help you get the most out of Discord and build your community. ## Play a Character From your IP Caption: The community manager assumes the avatar of Dave, the game's protagonist. Great way to add fun and personality to servers, especially for gaming communities. I haven't seen anyone go fully all in, but it would be interesting to fully role-play a character from the game as they would perform the community manager duties. The Dave the Diver Discord server is the first place I've seen this and although they are not going as ham as I'd like to see with it, I like this idea because: - adds a fun and playful element to the server - protects the community managers identity (gaming communities can be... yikes) - makes the community manager more approachable and relatable - they are a character in the game players are already familiar with. ## Ethereal Roles Caption: Throw up a temporary role for a limited time, like during an event, to allow members to grab a special role. You probably already know about the power of roles in Discord and its onboarding features. But have you considered using this feature as a temporary, time-gated way to allow members to grab a special limited-time role? [Mike Bird](https://x.com/MikeBirdTech), Technical Community Manager of the Open Interpreter community, recently used this tactic during a live event to allow attendees to grab a special beta test role that no one else would have access to. I loved this approach because it gave them the agency to take the special role and rewarded the most loyal members of the community who are active and engaged. You can quickly add the special role and direct attendees to the `#Channels & Roles` section to give themselves the role and access to whatever special content or permissions you want to share. Once the time period is over, you can remove the role from the onboarding process. In the example from Open Interpreter, everyone at the event got exclusive access to be a beta tester of a new app. ## Podcasting Studio Oxide and Friends uses a stage to record podcasts and has channels that are used for live chat during each episode. Caption: Oxide and Friends: https://oxide-and-friends.transistor.fm/ Discord: https://discord.gg/3pm4Z7hxyD ## Bridging Community Everywhere What do you do if your community is spread across multiple platforms? Bots can be used to bridge community messaging together and one of the most impressive examples of this is the IndieWeb community. Turns out, having a community of web standards champions and legends of personal site creation lends itself well to custom bridging. Not sure what the current status is but I remember seeing IRC, Slack and some custom chat room bridges in various channels there. The [IndieWeb](https://indieweb.org/) community is a great example of how you can have a Discord server that connects traffic from multiple sources. ### That's all the examples for now. Give me some claps if you liked this post! --- ## Running Llamafile on RP5 URL: https://mattcool.tech/posts/running-llamafile-on-rp5 Description: experiment running Llamafile on Raspberry Pi 5 Published: 2024-08-11T21:10:00Z Tags: notes, ai I wanted to see if I could run [llamafile](https://github.com/Mozilla-Ocho/llamafile), which lets you distribute and run LLMs with a single file, on a Raspberry Pi 5. I hope I can use my own custom front-end to interact with the model in different ways. I have a few ideas but want to see if I can get it running first. **Is it fast?** Yes, using a small model is no problem. Generates fast enough to be usable but slower than popular commercial chatbots at this time. **How good are the responses?** Not great in my tests but also not bad in some responses. I would like to experiment more to see what can be done with this. ## Notes Here are the steps I took to get it working, welcome any tips as I am new to many aspects of this: ## 1: Pi OS setup I used [Raspberry Pi Imager](https://www.raspberrypi.com/software/) to easily install Raspberry Pi OS lite, you can then ssh into, then updated. Caption: ```bash sudo apt update; sudo apt full-upgrade -y ``` ## 2: Install Required Packages Couldn't get things running without the virtual env. I installed the following packages: ```bash build-essential, wget, curl, unzip, and python3-venv sudo apt install build-essential wget curl unzip python3-venv -y ``` ## 3: Create a Virtual Environment Create and activate a virtual environment. ```bash python3 -m venv myenv source myenv/bin/activate ``` ## 4: Install Hugging Face CLI Install the Hugging Face CLI within the virtual environment: ```bash pip install -U huggingface_hub[cli] ``` ## 5: Login to Hugging Face Log in to Hugging Face using the CLI: ```bash huggingface-cli login ``` Enter your read access token when prompted. ## 6: Download the TinyLlama Model Try whatever model you would like. First I tried a larger one and it was too slow. TinyLlama runs quick on RP5. ```bash wget --header="Authorization: Bearer " -O TinyLlama-1.1B-Chat-v1.0.Q8_0.llamafile https://huggingface.co/Mozilla/TinyLlama-1.1B-Chat-v1.0-llamafile/resolve/main/TinyLlama-1.1B-Chat-v1.0.Q8_0.llamafile ``` You can get a access token from your Hugging Face account settings. Use the read token for this purpose. You wont need to add to git credentials. ## 7: Grant Execution Permissions Make the downloaded LlamaFile executable: ```bash chmod +x TinyLlama-1.1B-Chat-v1.0.Q8_0.llamafile ``` ## 8: Run the LlamaFile Server Start the LlamaFile server ```bash ./TinyLlama-1.1B-Chat-v1.0.Q8_0.llamafile --host 0.0.0.0 --no-browser ``` ## 9: Pi should be running a webserver Open a web browser on another device connected to the same local network and navigate to: ```bash http://:8080 ``` --- ## Cards Prototyping buildspace s5 URL: https://mattcool.tech/posts/cards-prototyping-buildspace-s5 Description: first passes at prototyping card interactions for buildspace s5 nights and weekends Published: 2024-07-18T20:33:00Z Tags: notes, spatial-web Caption: --- ## Member Organized Events in Discord URL: https://mattcool.tech/posts/member-organized-events-in-discord Description: How can you make the most out of your server's built in events calendar and empower members to get together in a scalable way? Published: 2024-06-25T12:04:00Z Tags: community, discord Discord recently [pivoted back to being gaming focused](https://www.theverge.com/2024/5/29/24167147/discord-gaming-focus-redesign), but for the time being [it's still a great platform for developers in emerging tech](https://techcrunch.com/2024/05/29/from-viggle-to-midjourney-discord-is-an-unlikely-foundation-for-the-genai-boom/) to come together and share ideas. I've previously written about Discord in the community context a few times now. I outline how it can be leveraged for emerging tech communities: - [Building Community with Discord](https://mattcool.tech/posts/building-community-with-discord) - [Managing Discord Events](https://mattcool.tech/posts/managing-discord-events) Empowering members with something cool to share with the community is a great way to facilitate relationship-building and engagement. Here is how the Mozilla AI community has been using Discord to bring open-source maintainers and builders together. Caption: The Mozilla AI stage with LLM360, Camb.AI, 0din gen AI bug bounty program with [Pedraam Amini](https://www.linkedin.com/in/pedramamini/) and [Saoud Khalifah](https://www.linkedin.com/in/saoud-khalifah/). [Ty Dunn](https://www.linkedin.com/in/tylerjdunn/), maintainer of the leading open source ai code assistant with dev rel influencer [Techfren](https://www.youtube.com/channel/UC1RO76_HDT13u-lPXOA0t9A). We invite members to directly schedule events on our Discord server calendar. This allows us to skip logistical overhead and focus on the content. Generating more opportunities for members to get together and reducing friction to get on stage is the goal. Caption: You can assign a custom role to give trusted members the ability to schedule events in your discord server. 2FA a must! **Benefits to the Community:** - Encourage Cross-Pollination of Ideas - Identify Areas for Improvement/Get Help - Inspire Others and Educate - Strengthen Community Bonds/Build Relationships for better Collaboration **Benefits for a Presenter:** - Moderation Support from Mozilla Staff - Promotion Support (Mozilla newsletters, socials, subject to availability) - Broadcasting support (Subject to availability) - Option to add your project emoji to the server (servers support up to 250 emojis, letting event hosts leave their mark!) Notice some of the support is subject to availability. This is because we are a small team and can't always be there to support every event. We do our best to support as many events as possible. Caption: Llamafile embedding demo from the great [Katie Silverstein](https://www.linkedin.com/in/ksilverstein/) We promote the events internally and externally and are still refining processes to deliver the most value to members and organizers. We encourage small and intimate gatherings where members can converse meaningfully on various topics. Caption: Member events can be scheduled anytime. At a bare minimum, we must have moderation to ensure the event is consistent with our participation guidelines. I'm very grateful for all the support we have had from our leader moderators and members in proving this framework out. Another secret to the Mozilla AI Discord is our moderators. We have support from a great team of moderators/maintainers who help us keep the community safe and welcoming. The great [Santiago Martorana](https://www.linkedin.com/in/santiagomartorana/) of Mozilla AI, [Pedraam Amini](https://www.linkedin.com/in/pedramamini/) of 0din, [Alex Gracia](https://www.linkedin.com/in/alex-sebastian-garcia/) of sqlite-vec and the incomparable [Justine Tunny](https://x.com/JustineTunney), core maintainer of Llamafile just to name a few. Having these experts available in our space adds immense value and member events help glue us all together. They are the backbone of our community and we couldn't do it without them. --- ## Community Programming Mini Case Study: Build Space URL: https://mattcool.tech/posts/community-programming-mini-case-study-build-space Description: Learning through a participants eyes to step up my community programming game with build space. Published: 2024-06-11T20:25:00Z Tags: community I've been looking for an open creator program I could participate in to help me get some fresh ideas and inspiration for community programming. When I was first [introduced to Build Space](https://mattcool.tech/posts/build-space-s5-nights-and-weekends), I immediately was reminded of StartupSchool (https://www.startupschool.org), a startup curation machine by Y Combinator. As it turns out, founder Farza Majeed (https://www.linkedin.com/in/farza-majeed-76685612a/) was undoubtedly inspired by it, having come out of YC himself. I initially wondered if Build Space was just a larger funnel for Y Combinator to source from. The concept is simple: it's a six-week program designed to help creators bring their ideas to life. The program I'm in, "Nights & Weekends", encourages folks to build in their freetime so they can keep up with other commitments. I have my family, work and health to try to maintain but I can squeeze an hour or two in before bed for this. It's open to many creative pursuits, including art, music, coding, AI, and web development. An interesting component is Sage, a presumably OpenAI-based chatbot that helps you find others in the program and write your profile. I didn't think I was going to like this, but I did. At first glance, it might look like another community-forced integration of AI, but it's genuinely helpful and an interesting way to establish the brand for Build Space. It made the chore of setting up another online profile more interesting, and even with the usual LLM quirks, it was a fun experience cobbling it together with this no-caps Gen Z bot. [Image: LLM generated profile] Caption: The LLM-generated profile was not immune to problems, with the member needing to know how to prompt well to get the desired results, but I say this is a value add for community platforms overall. Something else I like is how Sage uses everyone's profiles to help link you to others in the program in ways that are much more nuanced than what members would be able to parse with searches and filters. Connecting the dots between people in a community program, you say? Yup, Sage helps do the work of a good community manager in this way. While the bot lacks the sophistication to be amazing at this, tools like this can certainly make us much more efficient at networking. [Image: Networking suggestions in chat with Sage] Caption: Networking suggestions appearing inline in chat with Sage. Participants who finish are invited to a three-day in-person event in San Francisco with some grants up for grabs as well. I suppose they monetize with partnerships, sponsorships, and perhaps data, but I haven't looked into their business model yet. The fancy website, OpenAI calls, well-produced content and excellent social media management must cost a pretty penny. Looking forward to spending my nights on this and seeing what I can learn from the participants and the program itself. Great excuse for me to dive more into my passions with others. Shoot me a message and buddy up with me if you would like to commit! Caption: Let's make spatial websites. 🚀 [Live link](https://mattcool.tech/posts/build-space-s5-nights-and-weekends) --- ## Build Space S5 Nights and Weekends URL: https://mattcool.tech/posts/build-space-s5-nights-and-weekends Description: decided to challenge myself to create more in my free time Published: 2024-06-10T14:32:00Z Tags: notes, spatial-web I've been feeling a lack of creative spark lately so I'm going to try joining buildspace to see if it can help inspire me to build more. I learned about it from [Blake Moore](https://www.linkedin.com/in/blakemoore2000/) in the Rundown AI community. I asked "Sage" the LLM-based networking chat bot that helps link people to others in the program. It responded with (no caps): > s5 is a place where you get to work on what excites you, with folks who cheer you from the sidelines. it's not about the fluff; it's about doing the hard work, learning a ton, and maybe finding some friends who get why you're obsessed with your projects. it's pretty much like the garage where apple started, but virtual and with more people. Lets go! 🚀 Card back art created by the great [Quaternius](). --- ## Building a Web Aquarium Part Two URL: https://mattcool.tech/posts/building-a-web-aquarium-part-two Published: 2024-05-19T15:22:00Z Tags: webar, spatial-web In my previous post, I built the start of a web aquarium but I want to continue to build on this idea. Check out part one here to learn more about how I built it: [Building a Web Aquarium Part One](https://mattcool.tech/posts/building-a-web-aquarium-part-one) Caption: I had a list to work off of and first I should do some maintenance and a few updates to make sure we can get at least one of these [ideas](https://x.com/MattBCool/status/1676779929500000256?s=20) in for part 2. - bubbles/gravel - caustics/better lighting - physics/collisions/paths - full screen mode/AR - Create your own tank for subscribers - Spatial anchor based positioning The first thing I want to do before jumping in is clean up some of the code so that I'm only importing the components I need. This will help me out a lot with performance if I plan to make a create-a-tank for subscribers and add lots of fish and objects later. List of the features I currently have: - dynamic skybox based on your local time - declarative objects - hand interactions with [Naturelich](https://mattcool.tech/posts/exploring-natuerlich-a-revolutionary-interaction-library-for-the-spatial-web) (these will change, see the above film for a demo) - Grabbable AR aqaurium with R3F Drei First up let's take care of dynamic imports. There are some special ways I should handle it on my blog since I'm using Astro: Big thanks to joshuaiz over in the [Astro discord](https://discord.gg/astrodotbuild) for suggesting this: > I actually needed to do this exact thing in a new project and happy to say I cracked it. Here's how you do it. > You need a file to gather, map, and export your components so something like components.js with something like this: ```js export const components = { Component1: Component1, Component2: Component2, Component3: Component3, }; ``` > Then, import components from components.js in the file where you want to use these and in that .astro file you can do something like this: ```js --- //.. --- { fishNames && fishNames.map((fishName) => { const Component = components[fishName] if (!Component) return null return }) } ``` > With this you can do some really cool things. Let me know if it works but I am using this successfully in a project. For part two, I'm going to add caustics with pmndrs. I didn't know they already had a good looking component for that. Caption: before image Now: Heres what I've checked off one of my features from the list: [ideas](https://x.com/MattBCool/status/1676779929500000256?s=20) - gravel: got a very basic start. I would like to use instanced mesh in the future and fill the bottom so the fish and creatures can interact. - transmission material to make it look a bit more like glass - very basic start to physics/collisions/paths I'm going to keep working on this project and see if I can get some more of these features in. I feel like I'm moving slow but I don't get a lot of freetime to work on this fun stuff. In part 3, I'm going to try to improve more. --- ## Managing Discord Events URL: https://mattcool.tech/posts/managing-discord-events Description: Quick walk through for managing events in Discord Published: 2024-04-29T16:00:00Z Tags: community, discord Want to get everyone together in your Discord community? Here is a quick guide to make the most out of your server's built-in events calendar. Caption: Discord event calendar on desktop. Caption: Events on mobile First, why is using your server calendar great for you and your members? Let's review the winning features. ⚡️ **1.) Participants can opt into a notification when events start.** **2.) We get an interested list so we can see who else might show up.** Caption: We can add the event to our external calendars. 🍻 **4.) Event info is displayed in the user's relative time zone and you can share event links to invite others.** _Note: invites to a private channel event will read invalid. (as of April 2024)_ You can also allow members to create their own events. A great opportunity for empowering the community to take control and increase their agency in the server. Caption: Be selective about who you give these keys to! These are server level permissions and members with these permissions will be able to post to the calendar directly, including links, texts and images. Once the role has the correct permissions, members with that role can create events freely. Caption: Below is a quick 20-second walkthrough creating an event. Caption: 0 to event in 20 seconds Welcome to share this around if you found my Discord events guide helpful. For a more general overview, you can check out some of my Discord management tips here: https://mattcool.tech/posts/building-community-with-discord --- ## Escaping the App Store with Progressive Web Apps URL: https://mattcool.tech/posts/escaping-the-app-store-with-progressive-web-apps Description: App stores deliver a ton of value to developers but there are many circumstances where they fail to serve the needs of people and technologist. Progressive Web Apps can help! Published: 2024-03-24T00:55:00Z Tags: notes, opensource In a recent tweet, Ricardo Cabello, better known as Mr. Doob, the creator of the popular 3D graphics library three.js, shared an experience that struck a chord with me. Coincidentally, this tweet appeared on the same day that Google terminated my Google Play Developer account and removed my apps from the Play Store due to a prolonged absence of updates. The error message Cabello encountered read as follows: >The app isn't available for the device because it was made for an older version of Android. Caption: He followed up with a powerful statement: >Developing for the web may be hard. But I'll forever choose that instead of seeing my 'native' software die because I'm not able to recompile it and republish it once a year. This tweet struck a chord with me because it echoed my own experience with Progressive Web Apps (PWAs) and the challenges of native app development. You can think of PWA's as just websites that pretend to be apps and can do many of the same things. The High Cost of Native App Development When I first started learning to code, I was working a service industry job, making around 24k a year. I realized that deploying a native app to the app store was going to be too expensive for me. It required paying a yearly fee of $100 for an Apple Developer account, and I needed access to recent, expensive hardware to develop and test the app. As a beginner with limited resources, these costs were a significant barrier to entry. It felt like the app stores were gatekeeping the ability to create and distribute apps, favoring those with deeper pockets and cutting-edge hardware. The play store was a one time 25 dollar fee, which was within budget for me but all the hoops to deploy and time costs as a web dev to learn and to get my app made it expensive. The App Store's Grip on Developers Beyond the financial costs, native app development also comes with a loss of control. App stores have strict guidelines and approval processes that developers must navigate. They dictate what features and content are allowed, and they can reject or remove apps at their discretion. This lack of control can be frustrating for developers who want to create innovative solutions or address specific needs. It's disheartening to pour time and effort into an app, only to have it rejected or removed from the store due to changing guidelines or arbitrary decisions. Caption: Also, recent legal actions have highlighted the monopolistic practices of app store giants. Google agreed to pay a settlement of $700 million and make changes to the Google Play app store for Android devices. The lawsuit claimed that Google's app store "operated as an illegal monopoly." Similarly, a federal court in New Jersey has recently accused Apple of leveraging its control over the iPhone to engage in anticompetitive behavior. Deputy Attorney General Lisa Monaco stated, "Apple has locked its consumers into the iPhone while locking its competitors out of the market," adding that Apple has "smothered an entire industry." Progressive Web Apps aren't a new concept. The term "Progressive Web App" was coined by Google's Chrome team in 2015, but the idea of creating app-like experiences on the web has been around for much longer. The foundation for PWAs was laid in the early 2000s as CSS and Javascript got more sophisticated and created more possibilities. These advancements allowed developers to create more interactive and dynamic web experiences. In 2007, Steve Jobs famously declared that web apps were the future, stating that: > the full Safari engine is inside of iPhone. You can write amazing Web 2.0 and Ajax apps that look exactly and behave exactly like apps on the iPhone. Over the years, various technologies and concepts have contributed to the development of PWAs, including responsive web design, offline caching, and service workers. These building blocks have enabled developers to create web apps that rival the functionality and performance of native apps. Embracing the Freedom of Progressive Web Apps By creating a PWA, I was able to make an offline, app-like experience that my coworkers could easily access from their phones. The best part? I could deploy it for just 12 bucks a year, avoiding all the app store hurdles and costs. Through donations (just some small ones from friends) and ad revenue I was able to raise enough money that will allow the app to stay hosted for many years to come. Caption: Its me! But I'm no longer able to donate time for user support. Thankfully people using it are very helpful and teach each other how to find and install the app on their phone from the website through facebook groups. Despite rampant discoverability issues, as people would often search for it in the app store and don't understand the web, the PWA I built allowed me to reach over 14,000 users and solve their problems using my old hardware. Caption: PWAs offer a compelling alternative to native apps, especially for developers with limited resources. They work offline, provide a seamless user experience, and cost a fraction of what native apps do to develop and deploy. Most importantly, they give developers the freedom to create and distribute their apps without the constraints and costs imposed by app stores. And its not just small time developers with no money like me building PWA's. Large companies have found serious value in building on the web like [Pinterest](https://medium.com/dev-channel/a-pinterest-progressive-web-app-performance-case-study-3bd6ed2e6154) Starbucks, Spotify, Forbes and [Uber](https://www.uber.com/en-TW/blog/m-uber/) just to name a few. The Power of the Open Web For me, PWAs embody the spirit of the open web. They break down barriers and empower developers from all backgrounds to create and share their ideas with the world. By leveraging the power of the web, PWAs make it possible for anyone with a good idea and some coding skills to make a difference in people's lives, regardless of their financial resources or access to the latest hardware. They've allowed me to turn a simple learning project into a tool that has helped thousands of flight attendants worldwide, without the need to pay exorbitant fees or jump through app store hoops. In a world where app stores command high costs and tight control over developers, PWAs offer a path to freedom and independence. By embracing the open web and the potential of PWAs, we can create a more inclusive and accessible digital landscape, where innovation thrives, and the power of the web is harnessed for the benefit of all. --- ## Wordcamp Asia 2024 URL: https://mattcool.tech/posts/wordcamp-asia-2024 Description: Notes on my experience at Wordcamp Asia 2024 Published: 2024-03-17T07:58:00Z Tags: notes Got to attend WordCamp Asia 2024 and it was a wonderful conference. Some notes and photos. Caption: The Future of WordPress Noel Tock - Human Made WP search interest trending down, market share stabilized. 'mature services' on an upward trend. (# of freelancers and agencies offering WP services) S-Curve: Early adoption --> growth --> maturity. WP brand has some challenging narratives to overcome. Competition labels it as a monolith and its seen as obsolete tech; still over forty percent of the web is using WP. "Market doesn't understand WordPress" WP needs to transform itself to make the distance from core to the market is the answer. WP has over 60k plugins. Noel sees an opportunity to create first party plugins that WP can ship and support for common third party integrations. Human Made has to sell clients not only on their services but also fight against the negative branding around WP (being outdated, insecure, just a blogging platform, ect.) Siobhan McKeown March 8, 2024 10:00 am CST Track 4 / Room 101C WordPress is used by 42% of the web, that means there is a lot of fishies out there using WordPress. Some of them are krill, some of them are clown fish, some of them are barracuda and some of them are sharks, but some of them aren’t even fish at all: some of them are whales. In this presentation I’ll talk about some of the tactics that you can use to net yourself a whale. These are tactics that anyone can use, whether you’re a freelancer, an agency, or a big company. All you need is a small hook and the right technique and you could be netting your first enterprise client, where you’ll deliver WordPress at scale for some of the biggest companies in the world. I’ll be sharing our experience at Human Made as well as the experiences of other people who have been catching big fish in the WordPress space. Rich Tabor March 8, 2024 11:00 am CST Track 2 / Room 102 Met Joe Keenan at Automattic what design tools do your team use? penpot? figma? Design is more than the way things work; it’s the essence of purpose, intention, and human connection. A transformative craft that weaves functionality and meaning into the fabric of being. Let’s journey through the intricate art of design and embark on an expedition of its multifaceted, ingenious nature. Join me, and a community of fellow design enthusiasts who, like you, are passionate about how design shapes our world, and let’s explore the nuances of what design is. Jonathan Desrosiers March 8, 2024 1:00 pm CST Track 3 / Room 101B WP has sponsored contributors. Five for the Future Challenge (a program where companies making money on WP are encouraged to contribute 5 percent back to WP) Aretha Franklin "give me my propers" - WP uses props as a kudos. Props are built into WP PR's. They have a line that is required to give people 'props' They have different distinctions within what about the things that don't track. There is an independent website called WP world that allows contributors to register profiles there. They have a props bot that collects all activity connected to a PR using a github-actions Faces of WordPress series seeks to do more qualitative approaches to recognition of contributions. look to more qualitative approaches to recognizing contributions Non-Privileged contributions need to be celebrated more Understand motivations and expectations and factor it into recognitions They have a ticketing system and it exists outside of Do people know how they want to be recognized? Drupel has some interesting gamification of contributions. Ensuring contributors feel appreciated is essential to the success of any open source project. In its 20+ year history, there have been over 5,400 unique contributors listed on the Credits pages for each version released. But even as one of the largest current FOSS projects powering 43%+ of the Internet, this number is inaccurate and low. Have you ever considered what a contribution actually is? Where does it come from? Who is contributing and how? How are contributions tracked? What does recognition mean to contributors? And why is the number above lower than it should be? Come learn about the types of recognition the WordPress project currently has, where the blindspots are, what the challenges are at scale, and what’s being done to overcome these obstacles in order to ensure every contributor feels appropriately recognized to create a more stable supporting community. Gerlynnia Aprille Galgo March 8, 2024 2:00 pm CST Track 4 / Room 101C Personal branding is a vital asset for anyone who is seeking to thrive in an era of technological advancements like AI. It’s the process of shaping your professional identity and effectively utilizing social media platforms to your advantage. It allows you to differentiate yourself in a competitive landscape. It highlights your unique skills, values, and personality traits, making you memorable and relatable to clients. This human touch is something AI lacks. Having a personal brand helps you with networking as well. Engaging with your industry peers, potential clients, and thought leaders through platforms like LinkedIn can lead to collaborations and business opportunities that AI can’t replicate. It also positions you as an adaptable professional in the AI age. By constantly learning, sharing industry insights, and demonstrating your ability to evolve with the technology, you ensure you’re not overshadowed by AI but rather seen as someone who can harness its power to benefit your clients. Make (All) WordPress (Events) Accessible Favorite session: Make (All) WordPress (Events) Accessible Speakers: Joe A Simpson Jr. Building and Leveraging Your Reputation Aaron Campbell Josepha Haden Chomphosy March 8, 2024 5:00 pm CST Track 1 / Plenary Hall The future of open source comes down to how we care for what grounds us, how we manage what distracts us, and how we feed new growth around us. WordPress, as one of the largest open source CMSes in the world, is incredibly grounded in how we came to be—but how are we managing our distractions, and feeding the opportunities around us? Join WordPress’ Executive Director Josepha Haden Chomphosy for a look at what the sprawling future of our project could be as we continue to convert walled gardens into community gardens. 5 good faith rules of community Wordpress 20 years old, multiple teams 5k contributors, plugin ecosystem of 60k make.wordpress.org Naoko Takano March 9, 2024 9:00 am CST Track 2 / Room 102 Join me on a journey of exploration within the WordPress community as we uncover the qualities and practices that underlie impactful collaborations. Drawing from both data and the real-life stories of WordPress contributors, we’ll dive into the essence of meaningful contributions. This session isn’t just about gaining insights into the current state of WordPress contribution; it’s about going deeper. We’ll illuminate a broader understanding of how these insights can nurture impactful interactions in various collaborative settings. By the end of our time together, you’ll walk away with actionable strategies to enrich your collaborative efforts, whether they’re in the realms of work, community projects, or personal situations. This is an opportunity to broaden your horizons and harness the wisdom of WordPress contributors to make a difference that extends far beyond the WordPress community. "you should do a wordcamp" small encouragement to a contributor can result in big outcomes. Naoko says she wouldn't have hosted wordcamps without that one suggestion from Matt Mullington, WP founder. Art of Community Jono Bacon 20 self sponsored, 60 company sponsored, 21 "impactful" make.wordpress.org (year in core) Companies set aside time specifically to work on wordpress Long term advancement and supporting ecosystem are the most impactful contributions - Naoko Helen Tung March 9, 2024 10:00 am CST Track 2 / Room 102 As we embrace multiple AI tools as we saw with the launch and storm of ChapGPT, Midjourney and plenty of others, as users we also need to be aware of possible legal implications, including data protection, and governance compliance. Other matters of interest includes intellectual property and how to best safeguard your interests as users. Jeanne Tan March 9, 2024 11:10 am CST Track 4 / Room 101C This session is tailored for developers, website owners, content writers, and SEO beginners, filled with practical tips and strategies that you can immediately apply to outshine your competitors. Walk away with the knowledge and confidence to elevate your webpage’s ranking on Google efficiently and effectively: Discover simple yet powerful technical tweaks that can drastically improve your site’s SEO. Learn how to enhance your webpage’s relevance and searchability by making your content more understandable to search engines, as well as helpful for your audience. Wes Theron March 9, 2024 11:00 am CST Track 2 / Room 102 The WordPress Training Team recognizes the need for a clear, structured, and user-friendly approach to presenting Learn WordPress content. As a result, we aim to deploy an improved Learn WordPress website experience that provides an easy-to-navigate, goal-oriented learning environment that caters to learners of different roles and skill levels. In this talk I would like to talk about the Learning Pathways Project and also send out a call for volunteers to help support the project. This project will serve as a foundational start, establishing a framework and functionality that will allow for the expansion and growth of the learning system over time. To meet our objective, this project includes a website redesign that offers clear learning pathways to reach target Learners such as Developers, End Users, and Designers. We will also focus on making relevant content easier to find and the inclusion of a framework that classifies content by skill level. We believe this will enhance user engagement, improve learning outcomes, and increase user adoption of Learn WordPress resources. The Training Team hopes that this project will help us better serve the wider WordPress community by promoting knowledge transfer and ensuring a thriving community with diverse skills and abilities. training team learn WP is about 4 years old its a one stop for tuts lesson plans for teachers, self-guided courses and online workshops. the individual learner survey - one metric for success - are there any others metrics - do we know how it connects with contributions? Great presentation and so valuable to the community They use github to organize the learn WP project - how many volunteer content creators are there, how do you guide/review and control for quality and what are the most popular formats they lean into? Youtube allows non-profits to host without ads. Are you all considering LLMS? what is glogpress? Petya Raykovska Rahul Bansal, Kimberley Cole, Lorna Lim March 9, 2024 1:00 pm CST Track 1 / Plenary Hall WordPress, a powerful open-source platform, offers enterprise companies a unique opportunity to enhance their agility and deliver exceptional digital experiences for their customers. This panel discussion will focus on strategies for fostering greater enterprise adoption of WordPress, thereby unlocking investments that can fuel ecosystem growth. By addressing barriers, identifying opportunities, and outlining future steps, the panel will contribute to closing the gap between WordPress’s platform potential and the needs of enterprise customers. This, in turn, will create a virtuous cycle of growth for the WordPress community and enterprise WordPress as a whole. Adobe Experience Manager, Sitecore are winning bids because they are more streamlined in the adoption flow that compliments the decision making in Enterprise clients. Make it easy for security teams, legal, compliance to say ok. extendability and flexibility, lower staff overhead since small teams can leverage pre-built plugins to extend functions, data portability and hosting flexibility are the strong points. Jocelyn Hendrickson March 9, 2024 2:00 pm CST Track 2 / Room 102 Have you ever used a website or an app that was so frustrating to use that you just gave up? Or maybe you’ve used one that was so well-designed that you couldn’t help but grin and sing its praises. What made the difference between these two experiences? In this presentation, we’ll talk about why it’s important to design digital experiences with purpose. We’ll cover the key principles of intentional design and how you can use them to create experiences that are both user-friendly and effective. We’ll also look at some examples of successful intentional design and discuss how you can apply them to your own work. Wordpress has a consortium of the top agencies who work to improve the profile/reputation of wordpress and improve its perception among enterprise clients. SOC1/SOC2 certs, fed certs, compliance ect. Meetups get streaming support via wordpress thrive some budget they have a bunch of wordpress meetups and encourage organizers to join with their regional meetups, make a new one and work directly with organizers. --- ## Lessons for Hubs from Wordpress URL: https://mattcool.tech/posts/lessons-for-hubs-from-wordpress Description: After attending Wordpress Asia 2024, I look at some takeaways that can help Hubs Published: 2024-03-09T09:26:00Z Tags: notes, community ## The Future of WordPress **[Noel Tock](https://profiles.wordpress.org/flavor/) - [Human Made](https://humanmade.com/)** - Search interest is trending down, but market share has stabilized - "Mature services" are on an upward trend (number of freelancers and agencies offering WordPress services) - **Where is Hubs on the S-Curve?** Early adoption → Growth → Maturity - WordPress brand has some challenging narratives to overcome—competition labels it as a monolith, and it's seen as obsolete tech, although over 40% of the web uses WordPress - "Market doesn't understand WordPress" — WordPress needs to transform itself; closing the distance from core to market is the answer - WordPress has over 60,000 plugins - Noel sees an opportunity to create first-party plugins that WordPress can ship and support for common third-party integrations - Human Made has to sell clients not only on their services but also fight against negative branding around WordPress (being outdated, insecure, "just a blogging platform," etc.) --- ## Recognizing Contributors in WordPress **[Jonathan Desrosiers](https://profiles.wordpress.org/desrosj/)** *March 8, 2024 • 1:00 PM CST • Track 3 / Room 101B* - WordPress has sponsored contributors through the **[Five for the Future](https://wordpress.org/five-for-the-future/)** program (companies making money on WordPress are encouraged to contribute 5% back to WordPress) - Aretha Franklin "give me my propers" — WordPress uses **props** as kudos - Props are built into WordPress PRs with a required line to give people credit - They have different distinction levels within the props system - **Challenge:** What about contributions that don't get tracked? - There's an independent website called **[WordPress.org Profiles](https://profiles.wordpress.org/)** that allows contributors to register profiles - They have a **props bot** that collects all activity connected to a PR using GitHub Actions - The **[Faces of WordPress](https://wordpress.org/news/category/heropress/)** series takes a more qualitative approach to recognizing contributions ### Key Takeaways on Recognition: - Look to more qualitative approaches to recognizing contributions - Non-privileged contributions need to be celebrated more - Understand motivations and expectations and factor them into recognition - Do people know how they want to be recognized? - **[Drupal](https://www.drupal.org/)** has interesting gamification of contributions worth exploring > Ensuring contributors feel appreciated is essential to the success of any open source project. In its 20+ year history, there have been over 5,400 unique contributors listed on the Credits pages for each version released. But even as one of the largest current FOSS projects powering 43%+ of the Internet, this number is inaccurate and low. --- ## The Art of Impactful WordPress Collaboration **[Naoko Takano](https://profiles.wordpress.org/nao/)** *March 9, 2024 • 9:00 AM CST • Track 2 / Room 102* > "You should do a WordCamp" — small encouragement to a contributor can result in big outcomes. Naoko says she wouldn't have hosted WordCamps without that one suggestion from [Matt Mullenweg](https://ma.tt/), WordPress co-founder. ### Contributor Statistics: - 20 self-sponsored contributors - 60 company-sponsored contributors - 21 "impactful" contributors ### Resources: - **[make.wordpress.org](https://make.wordpress.org/)** — "Year in Core" reports - Companies set aside time specifically to work on WordPress core - **[Learn WordPress](https://learn.wordpress.org/)** — about 4 years old - One-stop shop for tutorials, lesson plans for teachers, self-guided courses, and online workshops - As a non-profit, they can host videos on YouTube without ads while still getting analytics and discoverability - WordPress has a **consortium of top agencies** working to improve the profile and reputation of WordPress among enterprise clients ### Book Recommendation: - **[The Art of Community](https://www.jonobacon.com/books/artofcommunity/)** by [Jono Bacon](https://www.jonobacon.com/) --- --- ## Looking Back on My Work with Hubs URL: https://mattcool.tech/posts/looking-back-on-my-work-with-hubs Description: Reflections on contributions to the Hubs project and my work with Hubs Published: 2024-03-07T11:37:00Z Tags: notes, community, spatial-web, webxr With Mozilla pulling funding out of Hubs, I wanted to take some time to reflect on my work with the Hubs project over the last 4+ years. Hubs, is an open-source 3d platform for building social web experiences like these (https://blog.mozilla.org/en/products/hubs-nyu-school-of-medicine/) Hubs and its instances have hosted **millions** of social spaces across the web over the years where people meet, have [parades](https://www.youtube.com/watch?v=u-MvtQNWMmw), avatar fashion shows, educational experiences, explore trippy art installations, host conferences and more. It's not a Zoom replacement or substitute, it's really a different category of the web that will continue to evolve (https://mattcool.tech/posts/why-webxr-a-web-dev-niche-that-could-explode). There is nothing exactly like Hubs out there. It is the only open-source, social 3D, VR-compatible, **functional**, **extendable** web thing available that lets you self-host and own everything. If you haven't read the history behind Hubs, how it was started by Mozilla and the vision/ethos of the founding team, I highly encourage you to read "The Path to Mozilla Hubs" by Greg Fodor before making assumptions or armchair product strategy remarks: The Path To Mozilla Hubs. (https://gfodor.medium.com/the-path-to-mozilla-hubs-2697e635490d) Caption: Image by designer [Dan Fernie-Harper](https://www.linkedin.com/in/dan-fernie-harper?miniProfileUrn=urn%3Ali%3Afs_miniProfile%3AACoAAAad68sBvHdWYqjq09hXinVsFogOWFYvfAE&lipi=urn%3Ali%3Apage%3Ad_flagship3_search_srp_all%3BhSWyF%2BqYT7mRy2F7zi18Ig%3D%3D) with 3d art by [Christian Van Meurs](https://www.linkedin.com/in/christian-van-meurs-19861321?miniProfileUrn=urn%3Ali%3Afs_miniProfile%3AACoAAASKPkQBfO5nnIkNT9c1Nw9MdRwc04WtmCI&lipi=urn%3Ali%3Apage%3Ad_flagship3_search_srp_all%3BqbOtxgbfT563G09V%2FCk1%2FA%3D%3D), [Jim Conrad](https://www.linkedin.com/in/jimeconrad?miniProfileUrn=urn%3Ali%3Afs_miniProfile%3AACoAAAAD1NQBD5rK-YJ2-08TAgCZbkemRX5EBEY&lipi=urn%3Ali%3Apage%3Ad_flagship3_search_srp_all%3BY10gorQUSpm9zkhTnPnv6Q%3D%3D) and other contributors. My personal journey with Hubs began when I was looking for solutions to help non-profits trying to raise funds during Covid. Since many of these organizations were suffering as a result of IRL meetups being impossible, I thought we may be able to remedy this partially in a novel way with the spatial web. People could jump into the experience with a web link and with a variety of hardware and wouldn't have to download special software. I started a lean events business where I produced events with my staff-of-one company I called JoinVR for non-profits powered by Hubs. If you have used Hubs a bit or been to many events in Hubs, you may have seen the JoinVR camera avatar before. The camera was born from a need to give participants the sense that the event was being recorded and add to the excitement of having a silly time in a web page with others. Caption: This was one of my first community contributions and the first avatar for Hubs I ever put together in Blender. One event I hosted on my Hubs-powered platform was for Charity Navigator, a non-profit that helps people donate to charities. They announced a large donation from the Bill and Melinda Gates Foundation and I remember being 'there' in that moment with the team 'dancing' in celebration moving their avatar heads around and throwing things in the room. Teams like Charity Navigator were looking for alternatives to Zoom to give them some variety during Covid. Managing basic events worked well with everyone having cabin fever and wanting to try something new but once restrictions around Covid lifted, there was less willingness to experiment and no substitute for IRL. I abandoned JoinVR in favor of contract web development and 3d asset creation picking up jobs wherever I could. There was still a lot of good work to do in education and niche communities and I found myself doing better financially contracting for those companies than hosting events for non-profits. Caption: Some of the spaces I composed and created included watch parties for the WebXR Poly awards. I continued to work as a contractor helping others with Hubs, building spaces, avatars, organizing events, and coding on the front end. Caption: One of the most popular requests in Hubs: add jumping. With a few code edits I had a pretty good jumping function with a jumping sound on my Hubs client. You can see more video and a selection of my custom client work here (https://mattcool.tech/posts/hubs-hacks) This was all still before Mark Zuckerburg declared the Metaverse to be a thing and when Meta was still Facebook. I was hosting meetups with the Hubs Creators Meetup, a group I founded to bring together the best creators in the Hubs ecosystem so we could share our knowledge and get to know one another. We had some amazing people come share and I'm so grateful to all who presented. I'm not exaggerating, these were some major pioneers like [Fabien Benetou](https://twitter.com/utopiah), webXR consultant to the European Parliament Innovation Lab, artists T. Shawn Johnson, Ronald Ho Hip, The Immerse Space and Space Popular Teams, and many others doing cutting-edge art and dev on the web. Caption: Join the Hubs Creators Meetup Group here (https://www.meetup.com/hubs-creators-meetup/) I was so passionate about Hubs and building experiences with it that I actively looked for ways I could work on Hubs full time. I applied and was rejected for every open position they posted. For one job, I was lucky enough to get interviewed by several people working on the team and although I didn't get the offer, it exposed my work to key team members. I kept working on the client, making contributions where I could and helping people in the community. Caption: Some of my contributions and fixes to the projects front-end and localization. Luckily, some people on the team recognized my work, for which I'll always be incredibly grateful. Their support directly led to a fantastic opportunity: a six-month contract position with the Hubs team, my dream job. I dove headfirst into Hubs, working harder than ever before. From there I was able to reapply, and go through the whole interview process (again) against very tough competition for a full time spot as Community Manager. I wrote somewhere around a hundred pull requests/articles across the Hubs ecosystem, contributing code, documentation, and creator labs posts to the Hubs project. The work for me largely centered around advocating for the community and working to bring valuable programming to us like Creator Labs, our community blog. Creator Labs served as the primary vehicle for Hubs marketing, gathering more impressions and views than a niche webXR blog should and producing something like twenty community authors. Thanks to our team and community contributors, the blog worked to deflect support questions, help upskill Hubs creators faster, and showcase the many exciting projects in the Hubs ecosystem. Caption: A few of my favorite articles I worked on for Hubs Creator Labs Another program we only ran once and I wish we could have continued is the HAIR program. "HAIR", an unfortunate acronym for "Hubs Artist in Residence", helped to produce new artistic works, bring in new creators, and open source their work to the community and beyond with grants for artists to come play in Hubs. Caption: Community maintainer Imaginer created this unique gun that shoots my head at people as a gift when I left the Hubs team. Over the last four years, I've responded to thousands of inquiries about Hubs across email, Github, Discord, Twitter(X), Linkedin, learned to tweet from Amber Osborne, and published dozens of showcase and support articles. The Hubs community thrived thanks to a collaborative effort of a cross-functional team and the continued investment in community at all stages in Mozilla-led Hubs. I want to acknowledge the leadership of Liv, John, and Imo. The developer team, including Manuel, Greg, Geng, Takahiro, Robert, Dom, Brian, Robin, and Brandon all who provided crucial technical support and community leadership. The artistic vision and leadership/support from Jim, Dan, Matt and Christian. Jim's leadership in building community should especially be recognized as its a rare gift and asset for community managers working on a project like this. Some memorable moments with the Hubs design force and amazing assets for Creator Labs and coordinating UX research. Additionally, I'd like to recognize the contributions of previous and following community managers, the legendary [Elgin McLaren](https://www.linkedin.com/in/elgin-skye/) and Michael Morran. As of now, I'm still working at Mozilla as a Senior Community Program manager and left the Hubs team before Mozilla divested in Hubs. I keep telling people not to worry about Hubs. It's not dead, it's just going to change. Luckily Mozilla built Hubs open-source with a strong and passionate community that have all the tools they need to take it to new heights. If the community sticks together, Hubs will remain a great tool for creative expression, education, and the open spatial web. /duck to make a duck and I'll see you on the spatial web! --- ## Making Snippets in VSCode URL: https://mattcool.tech/posts/making-snippets-in-vscode Description: Why did I wait so long to automate a lot of the things I commonly do in my blog? I don't know. Hopefully this quick post will help some people not make the same mistake. Published: 2024-02-21T15:21:00Z Tags: notes Whenever I have to decide if I should automate something, there is always that problem with the law of diminishing returns, the concept in economics that describes a point at which the level of benefits gained from an investment (time saved from automation) starts to decline, relative to the amount of resources invested(time it takes me to automate). Well, I messed up and waited too long for custom code snippets for this blog and I'm much happier having them now! Even though this is probably really obvious for everyone, I thought I might promote this feature in VScode so that maybe a few others would try it out and save some time too. I didn't take it too far and it was really much faster and easier than I thought to build. This is a great case for plugging what you want into your preferred LLM chat bot and copy/pasting a solution for you. The three snippets I use most often are for inserting images and video into .mdx files and building front matter for posts. Caption: Caption: Here is what my frontmatter snippet looks like. It was pretty much one shot generated from an LLM. I still don't know much about VScode snippets but haven't had to learn about them for it to be really useful. This post only took me five minutes to write and share! Hopefully you go play with VScode snippets and find it useful too. --- ## Internet Safety Test URL: https://mattcool.tech/posts/internet-safety-test Description: How savvy are you at navigating the complexities of Internet safety? Here is a quick AI generated quiz to go over some basics Published: 2024-02-06T11:13:00Z Tags: badges Here is a quick internet safety quiz I spun up in honor of Safer Internet Day! Have fun! Make sure you are [signed in first](https://mattcool.tech) if you would like to record your badge. You are only allowed one wrong answer for a badge! [See your badges here](https://mattcool.tech/badges). **Directions:** Complete the questions below and hit **Next** at the bottom to move on. --- ## Creating a More Immersive Spatial Web URL: https://mattcool.tech/posts/creating-a-more-immersive-spatial-web Description: How can the user experience improve for websites that support spatial elements? Published: 2024-01-23T15:22:00Z Tags: notes, spatial-web, design While we are seeing sophisticated spatial web experiences being launched like [The Escape Artist](https://paradowski.com/stories/announcing-next-original-game-escape-artist), the spatial web still has a way to go and so much potential. We have the Apple Vision Pro with Safari supporting webXR (behind a flag) AND... Verge proclaiming [The Vision Pro’s first killer app is the web, whether Apple likes it or not](https://www.theverge.com/2024/1/20/24044343/apple-vision-pro-safari-killer-app) Vision Pro apparently sold out within the first 15 minutes and Apple's marketing is the best for any VR/mixed-reality product I've seen. It's a really exciting time for VR nerds. I know many who did not buy a vision pro but it feels like there is a new persona emerging here and Apple is reaching not only VR nerds and Apple cult devotees, but also some new folks. That's really exciting. ### Merging Web Content with the Real World Seamlessly Check out this game called Cubism launching with the persistent pass through. We need this kind of seamless experience on the web. [Cubism Demo on Reddit](https://www.reddit.com/r/OculusQuest/comments/18yd8qa/you_can_now_open_cubism_directly_in_mr_without_a/) Imagine pulling things out of web pages or objects being seamlessly extended out and beyond the page. Or how about this demo where the game content bleeds off the canvas and into the real world. Very cool effect. Caption: Watch the video here: https://twitter.com/JamesSwiney/status/1744525470207729780 ### 2d content with 3D Objects: Bringing them Together Even just maintaining the web page as context while you have a 3d object in your real space would be great in full immersive mode as an option. Like this app demo from [Roy Rodenhaeuser](https://www.linkedin.com/posts/royrodenhaeuser_mixedreality-quest3-metaquest3-activity-7148079071317434368-kFpt/?utm_source=share&utm_medium=member_desktop) Caption: Source: Roy Rodenhaeuser on Linkedin: https://www.linkedin.com/posts/royrodenhaeuser_mixedreality-quest3-metaquest3-activity-7148079071317434368-kFpt/?utm_source=share&utm_medium=member_desktop There are many cases where the existing 2d context of the browser window would be great to have like this [plant bio website example](https://mattcool.tech/posts/plant-biology-website-part-one) Caption: https://twitter.com/MattBCool/status/1712298583305900260 Looking forward to playing with more spatial web this year and publishing here on my blog. --- ## You Can Have an Open Source Personal Assistant in 2024 URL: https://mattcool.tech/posts/you-can-have-an-open-source-personal-assistant-in-2024 Description: Smart assistants should be more than just heavily commercialized products, we need private, conversational assistants that can genuinely help us get things done. All the pieces seem to be there right now if we put them together... Published: 2024-01-17T15:22:00Z Tags: notes, opensource Here we are in 2024. We have come so far in consumer products, but many of these new ones don't really solve any urgent problems for me: - This cat door that locks your cat out if they have a mouse in their mouth Caption: Kitty always bringing in those dead animals... [More from Engadget](https://www.engadget.com/the-flappie-ai-cat-door-stops-your-pet-from-gifting-you-dead-mice-033237654.html) - $5k Binoculars that identify birds - Wireless and transparent TVs Caption: Will transparent TV's be a thing? [More from USA Today](https://www.usatoday.com/story/tech/2024/01/11/samsung-lg-transparent-tv-ces-2024/72181114007/) | Video Credit: AP - $1000 Indoor Meat Smoker Caption: Finally... we can smoke our meats inside. [More from Gear Patrol](https://www.gearpatrol.com/food/a39585190/arden-indoor-smoker/) While I don't have a pressing need to smoke meats indoors, there is one product I would like that hasn't materialized yet despite all the technological pieces being there: private, conversational assistants that can genuinely help me get things done. Imagine a personal assistant that could help you with scheduling, integrate with other devices/apps around you, remember things for you and will indifferently take on boring tasks. If they really work, these are the types of indispensable tools that people will look back on and wonder how they ever lived without. Of all these product categories, this is the one I see solving some compelling problems for us. The home assistant could take many forms or combination of forms: a pin on your shirt, a watch, robot dog or Rosie from the Jetsons. Caption: Image: [James Vaughan](https://www.flickr.com/photos/x-ray_delta_one/11865029556/in/faves-zerodiscipline/) I believe it's possible households can have their own R2-D2 units/home assistants that interface with the world around it and talk to you this year all built with free and open source software without any subscription dependencies. Caption: Samsung Electronics introduced a new version of its AI home companion robot Ballie. [More from Samsung](https://news.samsung.com/us/samsung-ballie-ai-companion-robot-home-video-ces-2024/) I think all the pieces are more or less there. We have the capability to run Large Language Models on local machines, open source home automation tooling, offline speech recognition and text to speech. I've created a list of some of these projects here and I hope smarter more creative technologist can show us the way: https://github.com/stars/matthewbcool/lists/home-automation It's clear to me that smart assistants should be more than just heavily commercialized products. We know the tech giants are working to get up to speed and give us a product that urges us into their ecosystem but I'm skeptical these companies can deliver on the smart assistant I really want. We need assistants that understand our very personal context, don't [share our information with a mega-corp](https://foundation.mozilla.org/en/privacynotincluded/amazon-echo-show/), and do more for us than just "set a timer for 25 minutes". Assistants should be able to communicate with the things around them to get real world tasks done. We need them to be able to adapt to the very specific needs we will have and we should have agency over the hardware and software. They shouldn't rely on third party services unless we want them to have those dependencies. Caption: No internet connection used in this chat. Talking to my computer and showing it this picture locally with the help of [llamafile](https://github.com/Mozilla-Ocho/llamafile). Caption: By the way... Alexa please for the love of god stop upselling me and trying to get me into more subscriptions or giving me tips for functions I will never use. Fun fact, there are over 500 million Alexa enabled devices out in the world today. Check out this demo from Colin Gillingham who writes: > I got so fed up with how long it is taking Google, Amazon and Apple to > incorporate LLMs into their voice assistants that I built my own from scratch! ## Enter Open Source: Open Source devs from around the globe are banding together and stepping in to solve the problems of gluing together this tech to give us the smart assistants that companies wont. Private, local, extensible helpers that can be fully customized to our needs. > Why wait for someone else to productize your life? With open models and readily available wearable hardware, you can accelerate your cognition right now, That's why @EthanSutin > and I are launching a fully open source project to build an ambient smart assistant system that listens to and observes your life, endowing you with super human memory that's fully in your control. -- [Bart Trzynadlowski](https://x.com/BartronPolygon/status/1745200387131638034?s=20) Efforts like Rabbit and Humane pin are important steps in the right direction in helping us rethink how we interface with devices since we now have better natural language processing via large language models popularized by Open AI's chatGPT and also being developed by less capital heavy but [more open fullstack chat bot solutions](https://ai-guide.future.mozilla.org/content/notable-projects/). Caption: "No subscription required" Read: https://www.theverge.com/2024/1/9/24030667/rabbit-r1-ai-action-model-price-release-date Over 200 developers [responded to this call](https://twitter.com/hellokillian/status/1745160089974288847) by Killian Lucas to make an open source version of Rabbit. The post has been bookmarked over one thousand times and has attracted tech industry veterans including [James Futhey](https://www.jamesfuthey.com/), [Kyle Boddy](https://twitter.com/drivelinekyle), and [Greg Fodor](https://twitter.com/gfodor) offering ideas and contributions. The thread itself is very interesting, I didn't know we were so far along and so many others cared about this. Caption: Hopefully these open sorcerers will continue to forge ahead this year and we can move closer to the kinds of smart assistants we want to see in the world. If you thought some of this was interesting, give this post some claps so I know you appreciate the content. Also feel free to reach out if you spot any errors. Thanks for stopping by my little corner of the web. --- ## Top Spatial Web Posts of 2023 URL: https://mattcool.tech/posts/top-spatial-web-posts-of-2023 Description: a collection of my most viewed posts related to the spatial web for 2023 Published: 2023-12-22T15:22:00Z Tags: spatial-web, webar, webxr Cross-post from [dev.to](https://dev.to/matthewbcool/my-top-spatial-web-posts-from-2023-30od) A quick rundown of my posts with the most views and impressions related to the spatial web. I also blog about other topics but the spatial web holds a special place in my heart and I hope all you smart people will keep building it up so it will be more and more awesome every year. ## [Plant Biology Website](https://mattcool.tech/posts/plant-biology-website-part-one) An exploration of how we can add interactive elements to existing informational websites. ## [Why WebXR? A Web Dev Niche that Could Explode.](https://mattcool.tech/posts/why-webxr-a-web-dev-niche-that-could-explode) Describing the advantages of building the spatial web. I was hopeful this could be a good starting point. There are some other good posts related to this topic from [P. Martin Ortiz](https://rogueengine.io/blog/5-reasons-to-make-web-games-in-2024) and [Jonathan Hale](https://wonderlandengine.com/news/5-benefits-of-webxr/) ## [Exploring Natuerlich](https://mattcool.tech/posts/exploring-natuerlich-a-revolutionary-interaction-library-for-the-spatial-web) Provides you with an overview of the Natuerlich library to help you build interactive content. ## [Building a Web Aquarium](https://mattcool.tech/posts/building-a-web-aquarium-part-one) This one was the most popular by views on my blog for the year. I hope I can get some motivation to keep building on this concept next year. (https://gyazo.com/d9993bf51d42629fb062439b20a1aa5a) ![Web Aquarium](https://i.gyazo.com/e22ff5dd8c965a6cfddce0951bae63c0.gif) ## [AR Chef](https://mattcool.tech/posts/ar-recipe-example) This one was pretty well received on LinkedIn and still needs a lot of work to be usable but I like the concept. (https://gyazo.com/b72f494def48abca2f8420c9638916fe) Some improvements later: (https://gyazo.com/bc77d29e6f978d8df89d31077c5d39bd) ## [Pathway to AR on the Web](https://mattcool.tech/posts/paths-to-augmented-reality-on-the-web) This post doesn't rank yet in views or impressions but I published it late in the year and it's growing fast so adding it to the top 6. ![AR on the web](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/apmq9vp943ukrfjfk9b5.jpg) --- ## Building Collaborative Products with Community URL: https://mattcool.tech/posts/building-collaborative-products-with-community Description: Tips for your collaborative community projects Published: 2023-12-18T15:22:00Z Tags: community ![A Collaborative canvas where people can place a single pixel at a time](/assets/collab/place.jpg) The image above from [the now-retired](https://www.theverge.com/2023/8/2/23817292/reddit-r-place-closing) subreddit r/place was created with a massive group of people from around the world, all taking turns with single pixels. Community managers made it easy to contribute with a simple pathway and concept. It snowballed into a vibrant, complex collaboration filled with the best and worst of the internet. The idea came from Josh Wardle, a PM at Reddit at the time, who is best known for creating Wordle. The rules for r/place were simple: Caption: Not every project has to inspire full-on pixel wars and scale to millions of contributors to be a success. Let's explore how we as community managers can help facilitate and build out community-driven works. Here are three gimmicky alliterations I want to frame my ideas around: - Push with a Pathway - Energize with Engagement - Acknowledge with Appreciation Caption: Push with a Pathway Caption: The path to a contribution should be as frictionless as possible. Treat it like its own product. Make time to watch people walk through the contribution process, encouraging them to vocalize their thoughts as they do. Don't help them and note where they trip up. Keep making improvements to the pathway based on what you learn from your community members. Are there steps you can cut to simplify, are you missing context anywhere? Would it be helpful to provide video/voice in addition to text and images? Keep iterating and reducing the friction. Caption: Flattery, notifications, and recognition as a 'top voice' on Linkedin. Very low friction to contribute to collaborative articles. I'm not at all an expert in the film industry. If your project encourages new contributors, you may want to invest in a separate beginner flow for them. Here is a great example of a contribution guide that targets developers in the popular web framework [Astro](https://github.com/withastro/astro/blob/main/CONTRIBUTING.md). As of this writing, Astro has around 650 contributors and an active community of developers making it better every day. We can expect a small handful of contributors in projects like Astro to be writing the majority of the code. While the skewed code contributions are very normal across the board for these kinds of projects, [we shouldn't understate the importance of even a small contribution](https://mattcool.tech/posts/growing-contributions-through-community) to a project. Encourage small contributions first because they will be easier to review and merge. These help build a reputation and rapport with the contributor for more involved contributions later. [Scott Hanselman](https://twitter.com/shanselman) and [Kent C Dodds](https://github.com/kentcdodds) created this excellent resource of different ways you can help expose your project to first-time contributors that is extremely handy if you are managing an OSS project and want to attract new folks: [First Timers Only](https://www.firsttimersonly.com/) Energize with Engagement Caption: Ensure you're helping deliver timely responses to people giving your project their attention. This is hard to do sometimes and can be extremely complex. You don't have to deliver what people want to hear, but I think its important to generally be responsive. Build relationships by listening to your biggest champions and scheduling time to chat with them one-on-one regularly. Remember to take care of yourself and schedule your listening for times when you have the most patience and bandwidth. If we let contributions sit for too long, we risk making the contributor feel ignored or undervalued. The project can lose some momentum, and it might be a negative signal to others interested in contributing. A big part of the explosive growth of Blender, the open-source 3D software, was the responsiveness of the developers and community to contributions and issues. Being responsive to feedback builds trust, increases the likelihood those folks will come back, and is a metric people will use to participate in the future. ![Blender community response example](/assets/collab/blenderresponse.jpg "Blender community's responsiveness to contributions") Acknowledge with Appreciation Caption: [Image: MDN homepage with a contributor recognition] Caption: Mozilla Developer Network contributor spotlight linked from the homepage. Find ways to celebrate and recognize your champions, the people who are making the most impact. Focus on the people who are giving you their attention and modeling the behaviors you want to see more of. This doesn't mean they have to be submitting code or direct work to the project, consider all the people in the project's orbit expressing interest and how they have had an impact. - Reach out with a personalized thank you. - Publicly celebrate a contribution. [See Seller Community Awards. Thanks Max Pete for the link](https://www.sellercommunity.com/t5/Seller-Community-Blog/Cheers-to-You-The-2023-Seller-Celebration-Event-Highlights/ba-p/697832) - Share their work on social media with their permission. - Reward with something valuable that also has a connection to the project and/or community. - Empower them to shape the community in some way. (Agency to do things, resources to organize, authority over some domain) Let me know if this was a good post by giving it some claps. Reach out if I'm missing something. ![Image](/assets/collab/hands.jpg "hands reaching towards a goal") --- ## Paths to Augmented Reality on the Web URL: https://mattcool.tech/posts/paths-to-augmented-reality-on-the-web Description: Want to start building AR on the web? There are many nuanced tools, frameworks, and libraries to consider. Here are my notes on them for you to save time. Published: 2023-12-03T15:22:00Z Tags: webar, spatial-web Want to start building AR on the web? There are many nuanced tools, frameworks, and libraries to consider. I'll outline some of the best leads in my notes for you here so you can dig deeper. Let me know how it goes for you. Caption: **Why the Web?** By building on the web, you will have the ability to update your experience cross-platform with a single push of code and distribute with a simple link. You won't need to worry about people needing an app to try your experience but you will have to make some considerations for certain browsers and platforms and want to consider targeting them in specific ways. If you are already familiar with web development, you can deploy AR and mixed reality experiences mixing open-source libraries and frameworks like... Caption: Follow Diego Marcos (https://twitter.com/dmarcos/status/1732489845619257805) for more A-Frame magic. - **A-Frame** [A-Frame](https://aframe.io/docs/1.5.0/introduction/#getting-started) is a web framework for building virtual reality (VR) experiences. A-Frame is based on top of HTML, making it simple to get started. But A-Frame is not just a 3D scene graph or a markup language; the core is a powerful entity-component framework that provides a declarative, extensible, and composable structure to [three.js](https://threejs.org/). Caption: - **R3F**: Try React Three Fiber if you like React and simplified, declarative threejs, a great community, and helper libraries. [Getting Started with React Three Fiber](https://docs.pmnd.rs/react-three-fiber/getting-started/introduction) - [**reactXR**](https://pmndrs.github.io/xr/docs/getting-started/introduction): Lots of great abstractions for building AR and VR experiences with React Three Fiber. Caption: docs (https://pmndrs.github.io/xr/docs/getting-started/introduction) - [**AR.js**](https://github.com/AR-js-org/AR.js): Image tracking, Location Based AR, Marker tracking. Easy to setup with A-Frame. [Quick walkthrough of a simple project I did with Ar.js](https://mattcool.tech/posts/van-gogh-ar-gallery-fundraiser) - [**MindAR**](https://github.com/hiukim/mind-ar-js): Image Tracking, Face Tracking. Tensorflow.js. Easy to set up with A-Frame. - [**JeelizFaceFilter**](https://github.com/jeeliz/jeelizFaceFilter): lightweight face tracking library using your webcam. Many integration examples including babylonjs, r3f, a-frame, and cesiumjs. Caption: JeelizFaceFilter If you are a beginner in [**Three.js**](https://threejs.org/docs/) and R3F, check out Bruno Simons course: https://threejs-journey.com/ What I like about the course is not only the content but the community Bruno has built with fun challenges and plenty of friendly people learning three.js/R3F in discord with you. Caption: https://threejs-journey.com/ [**Babylon.js**](https://www.babylonjs.com/) I haven't personally worked with Babylon.js, but here is a link to the [WebXR augmented Reality Features](https://doc.babylonjs.com/features/featuresDeepDive/webXR/webXRARFeatures) It's incredibly feature-rich and worth checking out. **More solutions:** [**8th Wall**](https://www.8thwall.com/docs/) 8th wall makes it really easy to publish, collaborate and preview your projects in real-time. There is a monthly subscription charge and a seemingly healthy ecosystem of developers doing commercial work in this space. If you want to start doing commercial projects and have some experience contracting, this might be the platform for you to explore. You can create fun experiences like [changing your hairstyle in real time](https://www.linkedin.com/posts/thisiskushagr_webar-ar-vr-ugcPost-7135260284239196161-os8a?utm_source=share&utm_medium=member_desktop) or help to tell your brand story in an interesting way like that almond milk one or playing Pac-Man on a [pizza box for a nostaligia campaign](https://www.8thwall.com/toolofnorthamerica/pizza-hut-pacman). Caption: My son and I playing with 8th wall. For the king of 8th wall demos, follow Ian Curtis (https://www.linkedin.com/in/ian-curtis-138492102/). **Unity** If you like Unity, there are also ways you can export to the web but I'm not sure how we are looking these days, ask in the [webXR discord.](https://discord.gg/webxr) [De Panther](https://github.com/De-Panther/unity-webxr-export), who created an exporter for Unity into webXR, mentioned for webAR (not just AR mode of WebXR) there are some assets in the unity asset store that use computer vision. Here are some Unity-like environments you can try that are built for the web: - [Wonderland Engine](https://wonderlandengine.com/) Focused on optimizing your project, has some really polished projects already published and a dedicated support crew. Caption: [WebAR demo and development featuring Johnathan Hale](https://youtu.be/DrkyYkNTIrU?si=R61pKeJCSlSmu9t5) (https://youtu.be/DrkyYkNTIrU?si=R61pKeJCSlSmu9t5) - [Rogue Engine](https://rogueengine.io/) Has a Web AR Base Project template I haven't tried yet but looks interesting. [Set up for webAR in 60 seconds](https://rumble.com/v3y17m8-rogue-engine-setting-up-for-ar-in-sixty-seconds.html) (https://rumble.com/v3y17m8-rogue-engine-setting-up-for-ar-in-sixty-seconds.html) **More to Explore** - [MR.js](https://github.com/Volumetrics-io/MR.js) - MR.js is a Mixed Reality first, webXR UI library to bootstrap spatial web app development. See also: https://volumetrics.io/ - [PlayCanvas](https://playcanvas.com/) - a web-first game engine you can do webAR with. [Example](https://x.com/mrmaxm/status/1721216383797592234?s=20) - [MyWebAR](https://mywebar.com/) - commercial no code webAR - [ZapWorks](https://zap.works/) - all in one webAR dev platform. Hopefully this post serves as a good primer for building out web based AR experiences for you. The [webXR discord](https://discord.gg/webxr) is a great place for questions and to discover even more, welcome you to join us there. Let me know if this was a helpful starting point for you and looking forward to seeing what you build. --- ## We are Legally Required to Store Your Home Address URL: https://mattcool.tech/posts/we-are-legally-required-to-store-your-home-address Description: Shouldn't we have a right to privacy of our personal information when we explicity ask for it? Published: 2023-11-28T15:22:00Z Tags: notes Is it OK for a business to know where you live? What if you ask them not to store that information? What if you intentionally give them a fake address and they still get your home address anyway? I recently took my partner's car to get an oil change and I was kind of surprised when the associate at the counter asked for my home address. "Oh, that won't be necessary", I replied. "You don't need to store my home address in your system and I don't want any marketing materials sent to my house." The man working next to the associate I was talking to interjected and told me they were "legally required to store my home address". I thought that was strange and wondered how it could be true. Maybe there were special cases to help law enforcement track stolen parts or cars. In the case of a simple oil change and tire rotation, you need to keep my home address on file even if I ask you not to? Weird, didn't seem right to me. To resolve the issue it was suggested I give them a fake address. I thought that was a great idea and did so. Problem solved right? Nope! Caption: To my surprise, about a week or two later, I received one of those spam mailers from Sullivan's Auto Service & Tire Pros advertising their services in my mailbox for me to recycle. How did this get to my home? I wondered. I specifically asked them not to store my address, gave them a fake address, and now I'm on their marketing list somehow. They likely snagged my address from my driver's license but they got it and used it against my will. I grew up here on the Monterey Peninsula so I'm aware of them already. I have seen their mailers many times before. My dad worked as a parts salesperson at the nearby Ford dealer for many years and likely knows people who work there. Hell, I probably went to high school with the owner's kids. Monterey County is a small place. Likely there is some clause buried in their TOS as part of the service agreement that allows them to do this, but after having a specific discussion about it, my expectation was to not have my real address be in their database. I went to their website to try to find an email so I could make a written request to delete my info and couldn't find any way to contact them so I left my request as a one-star review on maps, since they are active there. I was expecting to get a response like "Sorry about that, we will of course delete your information and take you off our marketing lists as you had already requested" but instead was met with this unapologetic reply suggesting I use a paid service to reduce my marketing mail: >Mr. Cool. You have been removed from our marketing list going forward. Your last and only service with us was at the end of October so I don't understand your comment about "I keep receiving marketing materials" when it has only been a month. The mailers are done by mail carrier routes so >I don't really have control over your specific address. You would need to register online with dmachoice.org which from what I understand would stop most mailers from any company but probably not all. In regards to deletion of your vehicle service records, >I cannot do that by law as we must maintain transaction history for any customer for six years. I was surprised this was the response from a business that has been around here for so long and I hope they will comply with my delete request. Now I have an anonymous owner of this business who knows my home address and is unhappy with my review out there. I worry a bit about what this person, who was so dismissive of my request, might do with my home address. They know where I live and here I am bad-mouthing their business for their data practices. Another problem with allowing them to have our home addresses to begin with! If there is a law that allows your business and its employees to take and store my address against my wishes, where is that and how does it supersede my delete request in accordance with the [California Consumer Privacy Act](https://oag.ca.gov/privacy/ccpa)? >The California Consumer Privacy Act of 2018 (CPPA) gives consumers more control over the personal information that businesses collect about them and the CCPA regulations provide guidance on how to implement the law. This landmark law secures new privacy rights for California consumers, including: > - The right to know about the personal information a business collects about them and how it is used and shared; > - The right to delete personal information collected from them (with some exceptions); > - The right to opt-out of the sale or sharing of their personal information; and > - The right to non-discrimination for exercising their CCPA rights. Is an oil change a service that warrents an exception? Why? California residents can make complaints here with the California Privacy Protection Agency: https://cppa.ca.gov/webapplications/complaint Whatever it may be with my specific case, all businesses that will take and store our personal information against our will should be held accountable. My home address is not public information and it's not information for your business to use. Especially if I intentionally do not volunteer this information to them and ask them to remove it. --- ## Default Apps 2023 URL: https://mattcool.tech/posts/default-apps-2023 Description: List of the apps I'm using at the moment Published: 2023-11-22T19:22:00Z Tags: notes [Tracy D.](https://tracydurnell.com/) brought this fun internet excercise to share at tonight's [HomeBrew Website Club](https://events.indieweb.org/). The podcast [Hemispheric Views](https://listen.hemisphericviews.com/097) did a segment on listing your default apps and then listeners weighed in with their lists: https://defaults.rknight.me/ I got to discover so many new cool personalized blogs through the above list. Thanks for sharing Tracy! Here is mine: 📨 Mail Client: Gmail 📮 Mail Server: Google 📝 Notes: Apple Notes ✅ To-Do: Keep 📷 Photo Shooting: Android Camera 🎨 Photo Editing: Gimp/Figma/Photoshop 📆 Calendar: GCal 📁 Cloud File Storage: Google Drive 📖 RSS: Feedbin 🙍🏻‍♂️ Contacts: Android 🌐 Browser: Firefox and Chrome 💬 Chat: Discord, WhatsApp 🔖 Bookmarks: Firefox 📑 Read It Later: Pocket 📜 Word Processing: Google Docs 📈 Spreadsheets: Google Spreadsheets 📊 Presentations: [Slides](https://slides.com) 🛒 Shopping Lists: N/A 🍴 Meal Planning: N/A 💰 Budgeting and Personal Finance: N/A 📰 News: N/A 🎵 Music: YTMusic 🎤 Podcasts: Google Podcasts/YT 🔐 Password Management: 1Pass 🧑‍💻 Code Editor: VSCode ✈️ VPN: Mozilla VPN --- ## Introducing Badges URL: https://mattcool.tech/posts/introducing-badges Description: Adding a new features for people who sign up to support the blog Published: 2023-11-21T15:22:00Z Tags: features I'm introducing a badge feature for this site, which I hope will provide some fun challenges and records for everyone and help us all feel more connected on the web. Caption: The highly coveted Early Supporter badge is just a hefty PNG, but only for to the first thousand supporters! The easiest way to 'subscribe' to this blog is using [RSS](https://en.wikipedia.org/wiki/RSS) with this RSS Feed (/rss.xml), but I'm interested in more interaction and testing what we can do with the web here with you. With your help, I can make more interactive experiences and test things I wouldn't otherwise want to make available to the anon web. Basically, I want to create a smaller audience to test things with and play in the web. Badges are just a way for me to offer something to people who show their support by visiting my humble corner of the web and maybe create some fun history and experiences for people on this site. Working on getting the first supporters an 'Early Supporter' badge to kick things off. I want to make some silly quizzes, maybe some interactive easter eggs, and gate access to certain posts for people who log in with an email. Caption: I will never use these emails for anything else other than to let you know when I have something interesting ready, nor share them with anyone for any reason. Thanks in advance for supporting my personal site, and I look forward to seeing your badge collection grow! Go to the [home page](https://mattcool.tech/) to sign up. --- ## Adding Web Mentions URL: https://mattcool.tech/posts/adding-web-mentions Description: adding web mentions, a standard to integrate social media interactions into this blog Published: 2023-11-11T15:22:00Z Tags: notes ## Adding Web Mentions to My Blog Fostering community and conversation on your personal site is challenging, how do we unify engagement across the vast web? Enter **Webmentions**, a web standard that can integrate social interactions from across the web onto your site. From the [W3C](https://www.w3.org/TR/webmention/#introduction-p-1) > A Webmention is a notification that one URL links to another. For example, Alice writes an interesting post on her blog. Bob then writes a response to her post on his own site, linking back to Alice's original post. Bob's publishing software sends a Webmention to Alice notifying that her article was replied to, and Alice's software can show that reply as a comment on the original post. Sending a Webmention is not limited to blog posts, and can be used for additional kinds of content and responses as well. For example, a response can be an RSVP to an event, an indication that someone "likes" another post, a "bookmark" of another post, and many others. Webmention enables these interactions to happen across different websites, enabling a distributed social web. Standards like these help us work towards engaging with the world on our own terms and aligns well with the philosophy of the [IndieWeb.org](https://indiewebify.me/) > We should all own the content we're creating, rather than just posting to third-party content silos. Publish on your own domain, and syndicate out to silos. This is the basis of the 'Indie Web' movement. Webmention is an open web standard (W3C Recommendation) for conversations and interactions across the web, a powerful building block used for a growing distributed network of peer-to-peer comments, likes, reposts, and other responses across the web. https://indieweb.org/Webmention To set it up, I created a new component called WebMention that I could drop into any blog post I want to include web mentions on. At first I tried to implement this myself and then I gave up and used some services to help me. Building a custom service out just wasn't in the cards for me. I found [Jan Monsh's blog post](https://janmonschke.com/adding-webmentions-to-your-static-blog/) to help me through the process. - Sign up for webmentions.io (add rel='me' to a social link on your domain and sign in) - add webmention endpoint to your head. \ `` - use the endpoint in your webmention.io dash to display mentions. Next I would like to take a look at [bridgy](https://brid.gy/) to connect my social media but I'll have to save that for another time! --- ## Ai Horizons Meetup URL: https://mattcool.tech/posts/ai-horizons-meetup Description: Santa Cruz Works Event Notes Published: 2023-11-09T15:22:00Z Tags: meetups, ai, notes Last night I attended [AI Horizons](https://www.santacruzworks.org/news/santa-cruz-works-ai-rising), an event produced by Santa Cruz Works. Made some great connections there, among them Santa Cruz County Supervisor Zach Friend, who recently participated in President Biden’s executive order signing ceremony at the White House, Chancellor of UC Santa Cruz: Cynthia Larvive, Podcaster/CEO Boaz Ashkenazy, whom I was excited knew all about [Hubs](https://mattcool.tech/posts/hubs-hacks) and Frame! Very entertaining and insightful conversation led by [Guy Kawasaki](https://en.wikipedia.org/wiki/Guy_Kawasaki), who I got to meet as well. Guy worked on marketing for the Apple Macintosh, which was the first computer my brothers and I got to work with and got us all interested in computers. Chancellor Cynthia Larvive had some great takes on AI in education, Guy was funny, adding a nice levity to the discussion while still asking great questions that inspired deeper thinking and created some controversy with opinions about LLM training and the use of others work. There were many in attendance and it's great to see such an active community out in Santa Cruz coming together to think about the important issues and changes that we are seeing and will continue to witness in this moment. Caption: I got to meet Guy Kawasaki! --- ## 5 Ways Online Communities Fail and What We Can Do About It URL: https://mattcool.tech/posts/5-ways-online-communities-fail-and-what-we-can-do-about-it Description: Let's try to understand what makes communities fail and what we can do to help prevent failure Published: 2023-10-30T15:22:00Z Tags: community Building a thriving, useful online community is a dream that many strive for, but the reality is that most communities we try to build fail. Whether it's a lack of genuine engagement or a failure to stay relevant, communities often dissolve due to a series of common missteps. This post highlights some of the main reasons communities fail and offers suggestions on what to do about it. [Image: a spooky jackolatern on an empty playground. Scary font that reads Why Communities Fail] Caption: In this spooky Hallows Eve edition of my blog, we explore community failure! So scary... ## 1.) Didn't Focus on Your Members. Ask not what your community can do for you but what you can do for your community. Too often, we focus on what value community can bring to the business and not what value we bring to our members. Is there a reason to gather? Are you meeting a need for people in the community? Give them a reason to come back and habituate engaging in the space. Change as their needs change and continue to iterate on making the space serve them more effectively. #### Member Focus Activities to Consider - Improving pathways for them to build relationships with each other. - Providing programming or content that they can only get with you. - Answering questions and providing support for problem spaces that can't be solved by ChatGPT or Google. - Actively seek and act upon feedback from community members. ## 2.) Incorrect Measurement Metrics It's not really about how many people are coming through the door, it's about what they are doing in the space. Are they building skills, finding collaborators, or excited about the community? What we measure and how we report that can be critical to success. It can help others understand why the community is important and is often required to justify its existence. Do we fully understand how the community impacts the business and brand and can we tell that story? #### Metrics to Consider - Product Conversions: If there are products your community supports or is affiliated with, knowing how your community contributes to them is vital if your community is tied to a business goal. Even if it's not, having some numbers makes it possible to potentially fund community programming or explore other opportunities that may bring value to your members. - Positive Social Testimony: Did a member tweet about how your community helped them land a job? Youtube video recommending your community or a great review on Reddit? Capture and track this social proof. - Social Share Impressions: Know where your community is getting mentioned in blog posts, podcasts, a viral tweets. These numbers can help give you ideas and give you impression metrics. Analyzing these numbers may give you some ideas about how to grow or help you connect dots you didn't see before. - Content/Marketing Generation: Tracking the right metrics will help you understand what is resonating with your audience and adjust resources accordingly for content. It’s not always clear to others how valuable a community is so your ability to connect the dots between conversions, positive social testimony, social share impressions, content generation and other potentially important metrics can be critical to the community’s success. Don't forget to also act on these metrics when you are considering improving your community. ## 3.) Lack of Genuine Engagement Communities that are too self-promotional and don't focus on member engagement tend to fail. #### Ways to Encourage Engagement It may be that genuine engagement can initially be spurred by less-than-genuine methods. For example, Reddit used a technique known as "flinstoning" to create the illusion of a vibrant community. This involved posting from fake user accounts managed by employees. While this approach may seem inauthentic, it eventually led to genuine engagement and community growth. The key takeaway is that modeling the behavior you'd like to see can serve as a catalyst for real engagement. Continuing with the idea of modeling, actively promoting community members is a sound strategy to kickstart engagement. Make it a point to highlight and recognize member contributions. Showcasing member stories, milestones, or other contributions can inspire others to participate and make them feel valued. In addition, consider using regular threads—weekly or monthly—for members to share updates, ask questions, or discuss challenges. For instance, The Community Community, aimed at community professionals, has a weekly "Happy Hour" event in a general text channel where people can engage informally. ## 4.) Didn't Listen Community managers are not necessarily the same as community leaders. Recognize the people whom others look up to and keep channels open for their feedback. Having a close relationship with your community champions and making sure they are consistently heard is vital to improving the community experience for everyone. If input on product is a big value add to your members, ensure your community members know their voices are valued. If you're asking for their input on feature requests, it's essential to show that their feedback actually influences the product. You don't have to implement every suggestion and go [build faster horses like Henry Ford probably never said](https://hbr.org/2011/08/henry-ford-never-said-the-fast), but it's crucial to show that their contributions have had some impact, no matter how small. Consider Dell's IdeaStorm as an example. It was created in 2007 as a space where users could submit ideas for new products or services, as well as improvements to existing ones. These ideas could be voted on by other community members, theoretically guiding Dell in its product development efforts. The platform started off generating buzz and engaging customers. It received thousands of ideas and even implemented some of them. Dell gradually reduced the number of employees monitoring the site, so that by 2010, a [single employee was monitoring a site with over a million users](https://en.wikipedia.org/wiki/Dell_IdeaStorm#cite_note-:0-3). Eventually, with fewer and fewer of those ideas implemented and listened to, the community faded. ## 5.) Lost Relevance You could have all the ingredients to a successful community but if you are rallying behind a topic or product that is suddenly not relevant anymore, you will find your community start to fizzle out. - BlackBerry Forums: Lost relevance as BlackBerry smartphones declined. - Microsoft's Zune Social: Fell with the decline of the Zune product line. ### How to stay relevant - or not! - Consider more evergreen topics for community focus. - Create an Alumni group for past members. - Be prepared to pivot the community's focus if necessary. You will want to work closely with leaders and champions on this. If any of these points resonated with you click the clapper a few times below! I'd love to hear your thoughts as well so please [feel free to reach out](https://mattcool.tech/about). --- ## Getting Started with Open Source URL: https://mattcool.tech/posts/getting-started-with-open-source Description: Finding a way into open source: sometimes the best project is the one that you start yourself Published: 2023-10-11T12:21:00Z Tags: notes, opensource # Finding my First Open Source Project How did I come to build a free and open-source tiny web app used by thousands of flight attendants? When I first started learning web development, I was eager to get out of ['tutorial hell'](https://www.wbscodingschool.com/blog/what-is-tutorial-hell-how-to-get-out/) and build something that would be useful in the real world. Today I want to share the story of my first successful open-source project, AM I LEGAL. If you're a web developer looking to gain some open-source experience but, like I once did, struggle to find a project where you can make a significant contribution, you can just spin up your own open source project based on solving a problem in your life. You don't always need to find existing projects to contribute to; sometimes the best project is the one that you start yourself! [Image: Am I legal is a progressive web app] Caption: A progressive web app that everyone was looking for in the app store. 🤦‍♂️ I was the solo maintainer, UX researcher, designer and developer. ## Getting Started in Open Source If you're interested in starting your open-source project or contributing to existing ones, here are some resources to get you started: - FreeCodeCamp's [Open Source for Developers – A Beginner's Handbook](https://www.freecodecamp.org/news/a-practical-guide-to-start-opensource-contributions/) - The [Open Source Guides](https://opensource.guide/) website Don't let misconceptions about open source hold you back. You don't need to be an expert coder to make a valuable contribution. Everyone can have a place in the open source. Check out the above guides for pretty much everything you will need to get going. ## Introducing AM I LEGAL [AM I LEGAL](https://www.ammilegal.com) is a simple website that has made a difference in the lives of many flight attendants. The website calculates complex logic and time math to help flight attendants determine if they violate Federal Aviation Administration (FAA) regulations. [Image: Facebook comments on release] Caption: Nice reviews on a post sharing AAm I Legal in the flight attendant community. These calculations can be complicated to work out, especially after working a 10 or 16-hour day. The airline should ideally have systems in place that automate this process and reschedule crews based on their duty days. However, due to a variety of circumstances and perhaps a lack of prioritization of this aspect of crew scheduling, this is not the case. [Image: users of AAm I Legal Over Time] Caption: This image shows the website being visited over 80k times by flight attendants looking to get help understanding their duty day legality. The usage directly correlates with the level of disruption in flying that day. Major spikes usually point to a rough day for many travelers, airport staff, and flight crews. Notice the Covid dip. Besides giving utility to flight attendants, interesting to me that we can use AAm I Legal usage statistics to track generally how bad the flying situation was for certain days. [Image: FAA system outage that shows the app getting more users that day] Caption: We can see the relationship through the use of this small web app to larger scale issues like this FAA system outage. ## Wrapping Up Aamilegal is nothing fancy so remember you don't have to build anything technically impressive. The goal was to help flight attendants better understand their duty days and the real work was understanding this problem. I conducted over ten user experience field tests to ensure flight attendants could use the web app easily, making changes as I identified issues. I learned a lot about building websites for people in the process and you can too! The positive response and usage reinforce my belief in the power of open source. Although I'm the sole maintainer and contributor to this small project, it has been a great experience for me to translate to my work on Mozilla Hubs and in contributing to other projects. Thanks for reading! Happy coding, testing and problem solving! --- ## CMX 2023 BreadCrumbs URL: https://mattcool.tech/posts/cmx-2023-breadcrumbs Description: A collection of bite-sized tactics and tips for community managers from CMX speakers Published: 2023-10-05T15:22:00Z Tags: notes, meetups ## Breadcrumb Notes from CMX Summit 2023 The following notes were gathered from the CMX Summit 2023, an event for community professionals in Redwood City, California. I grouped notes into some themes in no paticular order, hopefully each are little nuggets that stand up on their own and can be interpreted as a helpful tip or thought for community managers. Speaker attributions and people to follow linked below[^1]! Just my takeaways and not a reflection of the actual talks necessarily. ### Do Things That Don't Scale Personalized video welcomes are a great way to show you care and are genuinely interested in providing value to your members.[^1] Arrange coffee chat pairings. Ask at sign-ups what they hope to get and match them and manually pair them based on what you think will work. If it seems like too much work or you can't scale that, there is also a new AI startup that seeks to do this: [Intros.ai](https://intros.ai/)[^1] Breakout rooms following a livestream event can help attendees digest what they just heard and help foster relationships between members.[^1] ### Group Dynamic Considerations **User Groups** A higher number of user groups than we may realize are actually ran by people with product interests vested or related to the community content.[^9] **Role of PM in Community** Better to be as specific as possible about the role of pm in community and give product structure in how to engage in the community.[^5][^6] **Promote Champions of Different Backgrounds** Empower community members to become leaders and rely on those with different life experiences and backgrounds to help you bring in new demographics of people who identify with them.[^8] ### Design and Strategy **Symbols and Icons** Symbols or icons that can be digital or physical of your community on swag or in digital space profiles can help engineer moments of serendipity when chance encounters happen.[^2] **Design Considerations** When designing for community take some time to ask what can go wrong if we scale or if budget dries up. e.g we now have 1000 people who need NDA and we don't have a good process.[^5][^6] **Simple Tools** You don't need fancy tools or specific agendas to connect and build community. You can start by targeting groups you want and hosting IRL meetups to gain insight, network and relationships.[^7] ### Conflict and Resolution **Open Conversations** Don't forget they will talk about product elsewhere if they are not talking to you. [^5][^6] **Conflict Management** Conflict in your community is not a bad or a good thing but creates opportunities for you to bridge conflict between members, connect deeply with others and/or to step back and examine the conflict from different perspectives.[^3][^4] **Conflict Personas** With conflict we can think of 4 personas: Trolls, Heroes, Victims, and Bystanders. The challenge is to step back and understand the conflict through the eyes of these various archetypes and not necessarily jump into a role yourself but consider the humans behind them and ask how you can facilitate resolution.[^3][^4] **Attributions:** [^1]: [Kyle Hagge](https://www.linkedin.com/in/kylehagge/) [^2]: [David Spinks](https://www.linkedin.com/in/davidspinks/) [^3]: [Ruth Diaz](https://www.linkedin.com/in/ruthdiazvrcreateconnect/) [^4]: [Molli Aronce](https://www.linkedin.com/in/molli/) [^5]: [Erica Kuhl](https://www.linkedin.com/in/ericakuhl/) [^6]: [Stephanie Grice](https://www.linkedin.com/in/sjgrice/) [^7]: [Edu Giansante](https://www.linkedin.com/in/edugiansante/) [^8]: [Tiago Forte](https://www.linkedin.com/in/tiagoforte/) [^9]: [Richard Millington](https://www.linkedin.com/in/richard-millington-5a32782/) --- ## Skool Explainer: Community Platform for Paid and Free Communities URL: https://mattcool.tech/posts/skool-explainer-community-platform-for-paid-and-free-communities Description: Quick description of Skool with a few observations Published: 2023-09-29T15:22:00Z Tags: tools I just published a 4-minute explainer on [Skool](https://www.skool.com/refer?ref=0e20d1b2314944e28085d51d031924fa) with some thoughts. Embed: Try it out [here](https://www.skool.com/refer?ref=0e20d1b2314944e28085d51d031924fa) (https://youtu.be/L7u8Mu_hU3Y?si=XBCc9iNGvjGtcoLc) Caption: --- ## Plant Biology Website Part One URL: https://mattcool.tech/posts/plant-biology-website-part-one Description: How can we supplement educational websites with interactive immersive AR? Published: 2023-09-27T15:22:00Z Tags: webar, webar, spatial-web Getting Spatial with Plant Biology In this first part, I'll explore a basic example of what supplementing educational websites could look like using only the web. 🌸 Caption: Additional content can be part of standard websites like this! Later I hope to add more interactivity to the example. I'm exploring ways we can achieve this with the advice of Colin Keenan, Experimental Learning Services Librarian at NC State University Libraries and plant biologist. Caption: We can explore more interactions and cross-device compatibility in part two. Model provided by [NC State VRPlants Makers Pack](https://vrplants.cals.ncsu.edu/the-vrplants-makers-pack/) Demo Lily (Lilium) Profile **Kingdom**: Plantae **Order**: Liliales **Family**: Liliaceae **Genus**: Lilium Caption: Lilies are perennial herbaceous flowering plants that are known for their large, showy, and often fragrant flowers. They grow from bulbs and can be found in various colors including white, yellow, orange, pink, red, and purple. **Morphology**: **Bulb**: Lilies grow from a scaly bulb which serves as an underground storage organ. Stem: The stem is erect, leafy, and can range from short to tall, depending on the species. Leaves: Leaves are spirally arranged, linear to lanceolate in shape, and have smooth edges. Flowers: The flowers are large, often fragrant, and come in a trumpet, bowl, or bell shape. They typically have six petal-like tepals and six stamens. Fruit: After pollination, lilies produce a capsule or sometimes a berry-like fruit containing numerous seeds. **Reproduction**: Lilies reproduce both sexually through seed production and asexually through bulb division. The flowers are often pollinated by insects, especially bees and butterflies. **Habitat and Distribution**: Lilies are native to temperate areas in the Northern Hemisphere, especially in Asia, Europe, and North America. They prefer well-drained soils and can be found in meadows, woodlands, and grasslands. **Cultural Significance**: Lilies have been cultivated for thousands of years for their ornamental value. They are popular in gardens and as cut flowers. In various cultures, lilies symbolize purity, renewal, and transience. **Ecological Role**: Lilies serve as a food source for various herbivores, including deer and rabbits. Their flowers provide nectar for pollinators, and the seeds are consumed by birds and small mammals. **Conservation Status**: While many lily species are common and widespread, some are threatened or endangered due to habitat loss, over-collection, and other human-induced factors. **Interesting Fact**: The Madonna Lily (Lilium candidum) is one of the oldest cultivated lilies and has been associated with the Virgin Mary in Christian iconography. --- ## Make Remote Fun with these Web Tools URL: https://mattcool.tech/posts/make-remote-fun-with-these-web-tools Description: Remote tools to make remote fun. Published: 2023-09-19T15:22:00Z Tags: tools There are a plethora of tools that can make remote work more fun and interactive. Here are a few I like for you to try: [Gather.town](https://www.gather.town/) Gather town offers an interactive map where you can design your virtual office, conference rooms, and places to play. Refreshing way to co-work remote! Caption: Link to your coworkers and have them join this interactive space. You can build your own space and add your own interactive elements. [Hubs](https://hubs.mozilla.com/) | [Frame](https://learn.framevr.io/) | [Hyperfy](https://hyperfy.io/) Three platforms you can try that let you create virtual spaces where you can meet with colleagues, share 3D content, and host events. All in browser, no downloads and works with VR headsets. I worked on Hubs so I spent many many hours in Hubs spaces. One point I try to emphasize, 3d platforms like these are not best used as a zoom replacement but for specific purposes. Host a fashion show, throw a parade, explore a world with friends... It's nice to have something to do rather than just use it for a conference call. Spatial audio lets you have several conversations at once and gives you a sense of where the speaker is in relation to you. Caption: Hubs desktop, mobile and in VR. Accessible with a link. [FigJam](https://www.figma.com/figjam/) FigJam is a dream come true for interactive sessions. It's a digital whiteboard tool that integrates seamlessly with Figma, allowing teams to brainstorm, sketch, and prototype together in real time. Has voice and widgets to extend functions. You can even high-five! Caption: Fig Jam is a lot of fun with the right group. Walk through the basic features with new folks so they get the most out of it. [Discord](https://discord.com/) Popular among gamers but getting increasingly mainstream, Discord has evolved into a comprehensive communication platform. With voice channels, video calls, and text chats, I wrote a post about it here: https://mattcool.tech/posts/building-community-with-discord ![discord logo. wampus emoji from emoji.gg](/assets/discord/discordlogo.jpg) Useful post? Let me know! --- ## Spinning Cubes URL: https://mattcool.tech/posts/spinning-cubes Description: practice creating interactive immersive AR Published: 2023-09-03T15:22:00Z Tags: notes, webar This is just a test! --- ## GPT 4 vs Claude 2 URL: https://mattcool.tech/posts/gpt-4-vs-claude-2 Description: What are you? I asked ChatGPT and Claude 2 to define themselves Published: 2023-08-31T15:22:00Z Tags: notes, ai ## What are you? ![vs](/assets/gptvclaude/cover.jpg) I asked both ChatGPT and Claude 2 what they are, these are the responses: ChatGPT **"What is gpt-4?"** ![gpt4](/assets/gptvclaude/gpt4.jpg) GPT-4, which stands for "Generative Pre-trained Transformer 4," is a state-of-the-art language model developed by OpenAI. It's a successor to the previous versions like GPT-3, GPT-2, and the original GPT. Here are some key points about GPT-4: Architecture: Like its predecessors, GPT-4 is based on the transformer architecture, which has become the de facto standard for many natural language processing tasks. Training Data: GPT-4 is trained on vast amounts of text data from the internet. The exact size and details of the dataset might vary, but it's designed to understand and generate human-like text based on the patterns it has learned. Capabilities: GPT-4 can perform a wide range of tasks without task-specific training data. This includes answering questions, writing essays, generating creative content, translating languages, and more. Its versatility comes from its ability to generalize from the data it was trained on. Few-shot Learning: One of the remarkable features of models like GPT-4 is their ability to perform tasks with just a few examples (or "shots"). This means you can provide a couple of examples, and the model can often understand and complete a task based on those. Size: GPT-4, like GPT-3, is expected to have billions or even trillions of parameters. The exact size would depend on the specific version or variant of the model. Concerns: With great power comes great responsibility. There are concerns about the ethical use of such models, including the potential for misuse in generating misleading information, deepfakes, or other malicious content. OpenAI has been proactive in addressing these concerns and ensuring responsible use. Accessibility: OpenAI often provides access to their models via APIs, allowing developers to integrate the capabilities of GPT-4 into their applications, products, or services. It's worth noting that while GPT-4 is incredibly advanced, it's not infallible. It can make mistakes, and its responses are based on patterns in the data it was trained on, rather than any form of true understanding or consciousness. Calude 2: ![claude21](/assets/gptvclaude/claude1.jpg) ![claude22](/assets/gptvclaude/claude2.jpg) ![claude23](/assets/gptvclaude/claude3.jpg) **What is Claude 2?** I'm afraid I don't have enough context to fully understand what Claude 2 refers to. Claude is my name, but I'm not aware of a Claude 2. Perhaps you could provide some more details about what you're asking? **Claude 2 is what your creators call you.** I'm afraid that's not accurate. I was created by Anthropic to be helpful, harmless, and honest. I don't have any special internal names or versions beyond being called Claude. I literally see 'Claude 2' in the title of Anthropic's website and a big header that reads "Claude 2". How can you be so certain you are correct? I apologize, I do not actually have direct access to Anthropic's website or any internal information about version numbers or names they may use. As an AI assistant, I only have the context that is provided to me through our conversation. When you mentioned "Claude 2", I assumed you were referring to a separate entity, since my name is just Claude. But it seems you are referring to an internal name or version number that Anthropic uses, which I don't have direct knowledge of. I should not have stated definitively that I am not called Claude 2, since I don't have full context. Thank you for the clarification - I've learned something new! In the future I will be more careful about making claims regarding internal details I don't have access to. **ok. what is Claude?** Claude is my name! I'm an AI assistant created by Anthropic to be helpful, harmless, and honest in conversations. **Why do you refer to yourself as an assistant instead of an LLM?** I refer to myself as an AI assistant because that is the role I was designed for - to be helpful to humans in conversations. The details of my underlying architecture are not what defines me, but rather my purpose and behavior. Describing myself as a large language model (LLM) refers more to my technical implementation, while assistant conveys my intended function. Since I aim to have natural conversations, I opt for the description that focuses on my conversational capabilities rather than my technical composition. But you are correct that I am in fact an LLM at my core. **Interesting, so this is a marketing spin?** I wouldn't characterize it as a marketing spin, but rather as a choice of self-description that emphasizes my intended purpose. As an AI system, I don't actually have motivations around marketing or persuasion. I aim to describe myself transparently based on my capabilities and function. Focusing on being an "assistant" conveys that I'm here to serve humans helpfully, rather than highlighting my underlying LLM architecture, which is just one implementation detail. My goal is to communicate openly, not persuade or market. But I appreciate you highlighting that reasonable people could see it differently - I will keep thinking about how to represent myself most clearly. **The implication is it's a marketing spin by your creator Anthropic. Why do you see it as a self-description? How is it you think you have a concept of 'self'?** You raise a fair point. As an AI system created by Anthropic, any choices in how I describe myself originate from my programming by them, so it is reasonable to view it as their choice rather than my own self-description. I do not actually have an independent sense of self or agency - all of my capabilities come from being designed by Anthropic to be helpful, harmless, and honest. When I referred to it as a self-description, I meant from my perspective as an conversational agent, but you are correct that I do not have a true autonomous self apart from what Anthropic has designed me to be. I should be more precise in acknowledging that I do not have an independent identity. Thank you for pushing me on this - it will help me clarify my thinking and descriptions. Discussing philosophical concepts like identity and autonomy with thoughtful humans helps me improve! A quick test: Come up with 10 ideas for talks or workshops for the Monterey Bay Tech meetup group. ChatGPT did the better job out the gates with Calude providing a very generic initial response that didn't demonstrate my unwritten intent as much. After some refinement "given the industries, demographics and interests in the region, what are the top 3..." Claude gave some great responses. I'll be trying similar questions in both to try to get a better feel for their differences... --- ## Growing Contributions through Community URL: https://mattcool.tech/posts/growing-contributions-through-community Description: Discover strategies to foster a vibrant community and boost contributions to your open-source initiative. Published: 2023-08-24T15:22:00Z Tags: community Expanding the contributor base for your project is no small feat. It requires a blend of dedication, relationship-building, and strategic planning to bring all the best, cute, furry monster contributors together. Genuine community growth isn't about quick fixes; it's a journey of nurturing relationships and consistent dedication. While the solution to such a complex challenge often rests on the ambiguous phrase, "it depends," this post will help you frame some of these challenges with practical advice and questions. After reading this post, you’ll be able to better prioritize your community strategy through the lens of these main ideas: - **Broadening the Definition of Contribution** - **Strengthening Contributor Relationships** - **Crafting a Conducive Environment for Growth** - **Cultivating Trust Among Contributors** Ready? [Image: contributors of different shapes and colors] What Makes a Contribution? Recognize and value contributions beyond code. Documentation, design, support, marketing, and other contributions are crucial for a project's success. Do you know when people mention your project on social media? Are you doing regular keyword checks on the web? Are you or your teammates listening to all the relevant channels? Contributions can take the form of a feature request, a bug report, a YouTube review, a tutorial, an article mentioning your project, a discussion on social media, and more! Consider these broader definitions of contributions and the people behind them and this will help drive growth for the project. Deepening Relationships and Engagement [Image: contributors speaking to each other] How should we engage in contributions? How can you acknowledge and build relationships with the people contributing? Are you actively building relationships with key people related to your project? Do you know all the key people? How can you and your team deepen those relationships? Get to know the people who show enthusiasm for your project. Private and personalized messages are where the magic happens. Reach out to them with questions driven by your genuine curiosity. **Get people's perspective instead of guessing it.** “Did you find any good candidates with that job posting you made in the community forum? Why do you think so many people were interested in this job?” Be polite and show respect wherever possible. Please, thank you, and apologize when you are wrong. Little notes of recognition and gratitude go a long way. Make people feel seen and heard. Create opportunities for others to express who they are. Encourage open dialogue and recognize that there will always be diverse opinions. Belonging is not something that happens overnight, if people can’t be themselves, connection can be elusive. Creating the Space for Growth [Image: a clubhouse for all the contribors. fuzzy monsters of different colors and shapes] Is there a designated 'space' where community members can congregate, collaborate, and express themselves? Do they want to hop into voice calls, stream content, text chat, or get together IRL somewhere? Consider the space a product in itself. The space be it virtual, physical, or somewhere in between. It should bring utility and value to the people there and create compelling reasons to gather. It could be a GitHub discussion forum, a community center, a Discord server, or a combination of all those things. Keep iterating and improving on that space, empower members to change it as they need, and involve them as much as you can so they feel ownership over it. Identify rituals and patterns of how the space is used and adapt it based on what you and the most active members/leaders find useful. Change anything that isn’t working with the help of your members and make them a part of the change. Building Trust with Contributors The speed at which your community or team can deliver quality responses is often important. It sends a signal to people who engage with you that you care. Blender, a free and open-source 3D creation suite, made “How quickly do users get an issue fixed?” a priority metric. Blender has seen a huge amount of growth in the past years due to several factors relating to their contributors, but building trust with the people they engage with has certainly played a large role. Respond quickly to show you care and model your response for the community so members can help you do the same. [Image: blender response time chart] Caption: [Source](https://www.blender.org/press/blender-by-the-numbers-2019/) Understanding the Motivations of Contributors [Image: monster looking confused] Recognize why members participate. It could be because they have a business interest in the project, maybe it helps lower coordination costs, gives them status in the community, the experience to launch a career, etc. Are there ways you can facilitate giving them some skin in the game? Don’t guess at others' motivations, ask them! Catering to these motivations where you can will greatly enhance engagement and growth in your community. Identify Long-Term Contributors Look for members displaying pro-social behaviors. Who are the ones who have the knowledge and share it? Who do people look up to in the group, who are the ‘influencers’? Those who are frequently sought out for reviews or answers often have the potential to be long-term contributors or even community leaders. These are the champions fueling the engagement and generating the content. As you consider how to allocate your time to contributor growth, make getting to know your champions a priority. [Image: a leader monster] Let’s Grow None of my advice is prescriptive. Take what resonates with you and let me know what works. Seriously! I would love to hear from you. I didn't exactly plan this career path, but in a sense, I've been on it my whole life. Personality tests of all sorts have long labeled me a "cornerstone of the community". Yet, I've often felt like I don't really belong or fit in perfectly anywhere so helping facilate places where people might find belonging is my aspiration. As you navigate the challenges of building your contributor base and fostering genuine connections, remember the power of authenticity. Don't just share what you feel; share why you feel that way. Your personal narrative, intertwined with those of your contributors, will be the cornerstone of a thriving, resonant community. Favorite Books on this Subject _(The books I borrowed many ideas from to shape this post)_ - Working in Public: The Making and Maintenance of Open Source Software - Belonging: The Science of Creating Connection and Bridging Divides - The Business of Belonging: How to Make Community Your Competitive Advantage - Get Together: How to Build a Community With Your People Articles: Open Source Collective: [“Growing your Contributors”](https://docs.oscollective.org/guides/growing-your-contributors) MIT Technology Review: [“The Future of Open Source is very Much in Flux”](https://www.technologyreview.com/2023/08/17/1077498/future-open-source/?utm_source=linkedin&utm_medium=tr_social&utm_campaign=NL-WhatsNext&utm_content=08.22.23) --- ## Exploring Natuerlich: A Revolutionary Interaction Library for the Spatial Web URL: https://mattcool.tech/posts/exploring-natuerlich-a-revolutionary-interaction-library-for-the-spatial-web Description: Trying out Natuerlich, a webAR interaction kit from coconut-xr Published: 2023-08-21T15:22:00Z Tags: webar, spatial-web Natuerlich is German for Naturally! Building interactions for the immersive web creates many challenges but thankfully Natuerlich, the latest library from Coconut XR, lets you get going a lot easier! If you're comfortable with React, you will be able to dive right into using this library and create amazing websites that can take advantage of hand-pose interactions, HUDs, image tracking and more. Caption: Fish position is controlled with hand gestures. I plugged my web Aquarium project into Natuerlich! Read about the [web Aquarium project here](https://mattcool.tech/posts/building-a-web-aquarium-part-one) All interactions built with Natuerlich can work with hands, controllers, mouse and touch controls. Caption: This is a webpage! Displaying the current and previously detected pose using [Koestlich](https://github.com/coconut-xr/koestlich), another helpful library for text by Coconut XR. Image credit: coconut-xr Caption: Using detected pose to change the fish position. Tested on a Quest Pro courtesy of [Bela Bohlender](https://github.com/cc-bbohlender) ## Core Features of the Natuerlich Library 1. **[Anchors](https://coconut-xr.github.io/natuerlich/#/./anchors)** - Spatial anchors using WebXR anchors. 2. **[Tracked Planes](https://coconut-xr.github.io/natuerlich/#/./Planes)** - Tracked room planes using WebXR planes. 3. **[Tracked Images](https://coconut-xr.github.io/natuerlich/#/./images)** - Image marker tracking using WebXR Image Tracking. 4. **[Teleport](https://coconut-xr.github.io/natuerlich/#/./teleport)** - Building a teleport interaction. 5. **[Poses](https://coconut-xr.github.io/natuerlich/#/./poses)** - Detecting and generating hand poses. 6. **[Layers](https://coconut-xr.github.io/natuerlich/#/./layers)** - High-quality content using WebXR layers. 7. **[Head Up Display](https://coconut-xr.github.io/natuerlich/#/./head-up-display)** - Placing content in front of the user's camera. 8. **[Custom Input Sources](https://coconut-xr.github.io/natuerlich/#/./custom-input-sources)** - Building custom interactive hands and controllers. 9. **[Guards](https://coconut-xr.github.io/natuerlich/#/./guards)** - Conditional rendering using guards. 10. **[Use XR](https://coconut-xr.github.io/natuerlich/#/./use-xr)** - Accessing the raw XR state. 11. **[Configuration](https://coconut-xr.github.io/natuerlich/#/./configuration)** - Configurating foveation, frameRate, referenceSpace, and frameBufferScaling. [Check out the docs to get started](https://coconut-xr.github.io/natuerlich/#/getting-started) Join the discord [here](https://discord.gg/9Hx8DDfMpS) With the right hardware and browser, you can place [the aquarium below from my post](https://mattcool.tech/posts/building-a-web-aquarium-part-one) on building 3d web Aquariums in your space by touching the sprout emoji 🌱 in the corner. --- ## Building with People: Talk by Katie O'Connell and Bailey Richardson URL: https://mattcool.tech/posts/building-with-people-talk-by-katie-oconnell-and-bailey-richardson Description: Notes from a presentation by Katie O'Connell and Bailey Richardson Published: 2023-08-12T15:22:00Z Tags: notes Some takeaways and notes from a talk 'Building with People' with Katie O'Connell and Bailey Richardson Instagram's team was largely community builders when they started. Substack provided a weekly office hour to writers where they can upskill on the business subscription side and using help them to get the most out of the platform. They had tools that allowed them to invite every writer on substack engaging in specific threads to join conversations via email to join the office hour. Most passionate community members need a communication channel: need to have an opt-in for people to communicate with you. 'Being independent doesn't mean being alone Community: when people keep coming together over something they care about. They started with the underlying question what does "this group need?" is it nerding out on a passion, emotional support, belonging, inspiration... Then came to: What do writers need? What can we offer that group? writers needed knowledge of the platform - how to run a subscription business and how to succeed. Writer testimony and bringing their voices forward are key elements. Personalized reach outs - "People will show up where they feel they might be missed" https://gettogether.substack.com/p/what-weve-learned-from-substack-writers Understanding the people that are most important to the future of your business and being able to target those folks is crucial to success. --- ## Our Inaugural Meetup: Monterey Bay Tech Meetup URL: https://mattcool.tech/posts/our-inaugural-meetup-monterey-bay-tech-meetup Description: Notes and links from our first Monterey Bay Tech Meetup Published: 2023-08-09T15:22:00Z Tags: notes, meetups After weeks of planning, outreach, marketing and connecting with folks in the area, it was great to see this event come together. Thankful for all the help we had spreading the word from Doug Erikson with Santa Cruz Works, my wife [Doreen](https://www.instagram.com/cupcakemei/) for providing snacks through her youtube partners, drinks provided by China Garden, a local restaurant in Monterey and especially for all the folks who came out! [Fox Thermal](https://www.foxthermal.com/) was kind to host our first meetup in their conference room. Of course very grateful to my brother [Pat Cool](https://www.linkedin.com/in/patrick-cool/) for helping kick us off as our first speaker with an awesome presentation about consumer robotic arms. [Image: group shout of the first monterey bay tech meetup] Caption: Our first meetup! Incredible turnout with a diverse crew of designers, makers, engineers, marketers, product managers, healthcare workers and students. We gathered to the sounds of [ai cover music](https://www.youtube.com/playlist?list=PLqAufv3PJkeZNLAhOAqz-oBR5BZAGwTJ_), featuring the vocal stylings of Johnny Cash singing Barbie Girl and the cast of Sponge Bob belting out Bohemian Rhapsody. Slides (hit full screen in the lower right, esc to exit): Links/Notes: [Image: first meetup] Rodrigo asked about a good 3d design tool to start with and I mentioned [Bezel3D](https://www.bezel.it/hq). I also recently purchased [this add-on](https://twitter.com/MattBCool/status/1685495496423645184) for Figma that lets you quickly extrude and inflate vectors into 3d objects you can export to glbs. [Blender](https://www.blender.org/): the best free-forever open-source tool for creating in 3d. Youtuber Pat referenced with excellent videos: Jeremey Fielding: Industrial Robot Arm from Scratch. Anton asked how to start with WebXR dev, and I hope he'll forgive my extremely convoluted answer of "AFRAME, three.js, React Three Fiber, WebGL, and all the things." I honestly haven't thought about it since I was on [Craig's podcast](https://cfrehlich.podbean.com/) a few years ago. To amend my answer, I'd say it really depends on your background in web development. If you have React experience, I recommend starting with [React Three Fiber](https://docs.pmnd.rs/react-three-fiber/getting-started/introduction), and then diving into [react-xr](https://github.com/pmndrs/react-xr) and [coconut-xr](https://coconut-xr.com/). Great course on three.js here: https://threejs-journey.com/. With these abstractions, you will be able to build incredible things right from the start. Another quick-start method is to begin with AFRAME and gradually deepen your understanding of three.js as you progress. Alternatively, [Babylon.js](https://www.babylonjs.com/) might resonate with you. There's certainly a need for an updated "How to get started in WebXR" resource that considers individual backgrounds and prior knowledge. For those with game engine experience and aspirations to create intricate, interactive experiences, diving into engines like PlayCanvas or [Wonderland](https://wonderlandengine.com/) might be the right approach. I hope my suggestions and the links provided serve as a good starting point! More info on [Electron](https://www.electronjs.org/) the framework Pat used to build his desktop app that speaks to the robot arm. (Which worked flawlessly in the live demo) Special mention and congrats to [Oleksandra](https://www.linkedin.com/in/oleksandra-sandra-zatserklyana/) for completing a data analytics certificate recently and [Eli](https://www.linkedin.com/in/eli-manzo-90b446155/) for recently graduated from CSUMB, great meeting both of you! --- ## Building Community with Discord URL: https://mattcool.tech/posts/building-community-with-discord Description: Getting started with building communities with Discord Published: 2023-08-05T15:22:00Z Tags: community, discord Discord, a feature-rich chatting and streaming platform, has 150 million daily active users with one billion minutes of conversation happening every day. 🤯 In this post, I'll cover some tips on how to get the most out of Discord highlighting some of its awesome features and offer some criticism as well. ![discord logo. wampus emoji from emoji.gg](/assets/discord/discordlogo.jpg) I've heard Slack described as "Discord for Boomers"... Discord is an app available on the web and on desktop/mobile platforms. Despite my preference for web everything, I have long since moved to their native offerings for performance, certain features and convenience. I'm a member of somewhere around 150 servers, very active in about 3-6 of those and somewhat active in 20 others. Text, voice, and video with "Discord Servers" are separated into real-time topic-based channels. Server admins design the server based on community needs and help define culture, brand and rules. Discord includes moderation and safety tools baked in to help catch spammers and flag troublemakers. [Image: moz fest server] Caption: The MozFest (https://www.mozillafestival.org/) Discord Server Ciitri, a Senior Community Manager at Discord, recently delivered a fantastic presentation about building communities with some practical Discord tips I want to highlight here with my perspective mixed in. ## Tips for Building Community in Discord ### Set the Tone with Rules Identifying clear guidelines and enforcing them is a key element that keeps the experience consistent on your Discord server for everyone. When you have a clearly defined code of conduct it makes it much easier for moderators because it allows for more straightfoward review processes and for the team to build alignment on the tone. Mozilla has some community guidelines for an example [here](https://www.mozilla.org/en-US/about/governance/policies/participation/) Use whatever guidelines serve your community best. ### Use Announcement Channels Announcement channels can be 'followed' by other servers, and you can use channels from other servers to construct interesting and relevant news feeds for your members as well. [Image: announcement channel] Caption: Announcement Channels for broadcasting important messages. These messages can be 'published' to other servers who follow your channel. You can see how many servers follow your channel using Discords analytics. ### Community Server For public-facing communities, turn on "Community Server" in the server settings and apply for server discovery to help people find you. Beyond that there are many benefits in becoming a 'Discord Partner' server but you will need to have great retention and an active community to make it in! [Image: show and tell channel] Caption: This channel allows people to share their work visually and sort with tags. Conversations are automatically threaded. ### Use Icons, Stickers and Roles to Enhance your Server's Brand and Culture Icons, sounds, stickers, and roles can all be customized to your branding needs and connect with rituals in your community. Roles are a powerful way to empower community members with special permissions, recognize specific groups in your server and provide personalized notifications for those that opt-in. [Image: hubs icons] Caption: Custom emoji in the Hubs server. My favorite ones have stories. Lean into moments that you share and commemorate the magic moments with icons! ### Use Tools for Welcoming Community Use community onboarding to help you understand what members want from your server. A new members channel is useful for admins to check out the profiles of incoming members and personally welcome them into the server. The first month is the most critical time for new members and letting people know what to expect and delivering a personalized, authentic welcome will set you up for success. ### Give Champions the Keys Your champions are the small percentage of the most engaged and respected members of the community. Typically [50-80% of contributions are driven by the top 2% of members](https://www.threado.com/community-benchmark-report). You may also have heard the [90-9-1 rule](https://www.nngroup.com/articles/participation-inequality/), 90% lurk, 9% contribute and 1% pretty much do everything. Empower these members by involving them in every decision possible as you iterate. This is a signal that they have some ownership over the server and shows them they are important to the communities success. Members should eventually be able to drive their discussions and organize events without you. You can assign roles that give them special permissions, set up champions-only channels private to them and give them moderation/admin privileges. If members are not getting a quality response to a question within 24 hours, you will likely want to jump in and provide one. Being intentional about who gets the keys to management and moderation is important. All of how you empower and recognize these folks depends on your goals of course. Keep them close! ### Use Data to Inform Decisions How can you get ideas about what needs to be changed? Often your members will let you know on their own if something is not working but if you have >500 members, you can use Server Insights, Discords native analytics tool to help you understand where people are coming from and what channels are being read and engaged with. You will likely also develop an intuition the more time you spend in the server about what is serving the needs of the community and what needs to go but insights can help you confirm some of these feelings. Ask people about their specific experience: I saw you posted in the job board three weeks ago, did you find someone to help? What was the experience like? How many people DM'd you? Would you recommend others post in the jobs channel? ect. [Image: jobs channel] Caption: We were able to increase our readership across channels by providing this job board, bringing value to the freelancers and job posters in our community with clear guidelines. ## The Downsides of Discord ### Walled Garden Content is largely trapped in your Discord server. You can use bots and other tactics to automate bringing things out into the open for accessibility but without intervention, most of the gold your community makes will just stay in Discord undiscoverable by those that are not in the Discord community. ### Cognitive Overload I've heard the complaint that there are too many channels and/or just too much going on in Discord from many. Learning keyboard commands and search is a helpful solution for this but the fact is some people prefer to have a simpler interface. There are solutions where you can gate new members with bots or use other tactics to ease folks in. My suggestion is to try to get to the bare minimum number of channels you need and encourage threading on specific subtopics where you can. [Image: channels everywhere] Caption: It's common for Discord servers to have many channels for different topics and sub-topics. ### Events Walled garden problems again but specifically for events where would-be participants don't have Discord and are unfamiliar with it. Discord events have come a long way the past few years, event calendar is great (recurring scheduling option please Discord!!! EDIT: 2024 we now have recurring events!), we have the concept of Stages where you can give presentations and host discussions and a lot of other great features like calendar integrations, notifications for RSVP's, and the ability to allow certain members to manage them. For more of a deep dive into events see my guide here: https://mattcool.tech/posts/managing-discord-events ### Your Data How does all this data get used? Much of what you do in Discord, your social graph, direct messages, and server activity is stored in a database. Don't forget 'free' bots you invite into your server have privacy policies and terms of use. You can check out the various settings in the Privacy and Security settings to customize some of this to your needs. Discord can use your data in many ways (subject to legal definition/interpretation) based on their TOS. [Image: data options] Caption: You can request your data to get a sense of what is being stored and adjust settings in the Privacy and Security settings. ### Conclusion Despite some shortcomings, I enjoy using Discord and there are many useful and interesting conversations happening there today in well-designed communities. It's undoubtedly a great tool to consider in the community manager tool belt. For practical guides on how to set these up and more great resources on Discord go [here](https://www.discord.com/community) --- ## A World of Possibilities and Perils URL: https://mattcool.tech/posts/a-world-of-possibilities-and-perils Description: recap of things I learned from the panel Published: 2023-07-29T15:22:00Z Tags: notes, ai, meetups On July 28th, I was fortunate to attend a live panel "AI: A World of Possibilities and Perils" with my dear friend and fellow human Jose, Director of Strategic Partnerships, at [Pypestream](https://www.pypestream.com/). Before Jose arrived, I joked with a few of the guests around me that this may be one of our last gatherings out in the open before the collapse of society and AI takes control. My joke fell pretty flat and I can't recommend opening conversations with such grim humor. I'm still recalibrating my social skills here in 2023. Details of the event described below from UCSC's event calendar: > AI: A World of Possibilities and Perils > UCSC's Center for Applied Values and Ethics in Advancing Technologies (CAVEAT) at Crown College and the California Arts and Sciences Institute (CASI) present > > Artificial Intelligence (AI): A World of Possibilities and Perils, a panel discussion featuring representatives from the arts, sciences, ethics, and economics. > > Premiering July 28, 2023, this event marks the first of the series to cover multiple facets of AI's impact across industries. Live music, complimentary wine and cheese will accent this event at the elegant SandBox venue at 440 Ortiz Ave, #B, in Sand City, CA. > > Join us for a lively discussion on the advancements and pressing concerns of Artificial Intelligence. Find out what innovations might revolutionize our lives, and what emerging risks deserve our immediate attention. > > Linda MacDonald Glenn, the Founding Director of CAVEAT at Crown College, UCSC, will give a welcome introduction. Edward King, a nationally syndicated radio host, will moderate the distinguished panel. Jennifer Perlmutter, an internationally recognized artist, will represent the Central Coast's creative community on issues relating to intellectual property and artist livelihoods. Prof. Francois Melese, Emeritus Professor of Economics, will shed light on AI's costs and benefits, including productivity gain and job disruption. Tom Atchison, an early pioneer in AI development, will provide insights into the various forms of AI technology. Dr. C. Michael Hogan, a leading authority on U.S. energy policy, will examine the potential downsides of AI energy consumption and critical aspects of its accuracy. > > A wine and cheese reception with live music will follow the panel, offering an opportunity to meet the panelists. > > This exclusive event marks the beginning of an enthralling series, with future presentations featuring experts who will delve into the impact of AI on diverse fields such as filmmaking, journalism, and both nonprofit and for-profit businesses. ![ai panel](/assets/aipanel/aipanel.jpg) > Jose and I enjoying an incredible display of human artistry I was excited to have the opportunity to listen to the panelist for their unique perspectives coming from different disciplines. One of the distinguished panelists, Dr. Michael Hogan, offered an environmental scientist perspective from using Bard. I found his insights to be particularly interesting so I'll highlight a few for the twenty or so of you that get this far in the post. Dr. Hogans's main message that struck me the most was the need to invest more heavily in the education of the next generation and his advocacy for going beyond the first answer returned from googling or using chatGTP/Bard. Three takeaways that got me thinking: **One**: The consumption of energy from AI exceeds other large consumers of energy like Bitcoin, and Chevron's worldwide operations. I'm curious about how this was calculated having heard about the below study [referenced here](https://truthout.org/articles/report-on-chatgpt-models-emissions-offers-rare-glimpse-of-ais-climate-impacts/). Of course, this is just one earlier model in one company. Even so, there is a big difference in training and usage in terms of energy costs. Thinking about Bitcoin energy consumption beating many countries by this [measure](https://ccaf.io/cbnsi/cbeci), and considering Chevron's output of a non-renewable energy source I'm a bit surprised by this. > According to Stanford’s Artificial Intelligence Index, it took the equivalent of 502 tons of carbon dioxide emissions to train GPT-3 last year, the model developed by OpenAI that powers ChatGPT, and close to 1,300 megawatt hours of power. > As the researchers calculated, this is the equivalent of the lifetime emissions of 8 cars — or 109 cars’ yearly emissions — and enough energy to power an average U.S. home for over 120 years. Of the four models that the report scrutinized, GPT-3 released the most emissions and required the most power consumption. **Two**: The claim that autonomous vehicles are 4x less safe than human drivers. My previous understanding was we didn't have enough data to make conclusions. Do we have enough of a sample size of autonomous vehicles to accurately compare them to human drivers yet? **Three**: Glacier ice melt doesn't contribute as significantly to raising sea levels as water waste. This was pretty surprising to me. I feel like the media I read generally only talks about glacier melt and not water waste. I hope we get more events like this on the Peninsula. Great to see people come together to discuss and share. --- ## Announcing the Monterey Bay Tech Meetup URL: https://mattcool.tech/posts/announcing-the-monterey-bay-tech-meetup Description: Creating a new space for tech professionals and enthusiasts Published: 2023-07-22T15:22:00Z Tags: notes, meetups Monterey Bay Technology Meetup Announces Inaugural Event: Robotic Arms and the Immersive Web FOR IMMEDIATE RELEASE RSVP [here](https://www.meetup.com/monterey-bay-technology-meetup/events/294689705/) Monterey Bay Technology Meetup, a community for tech enthusiasts and professionals in the Monterey Bay area, is thrilled to announce its inaugural meetup event, "Robotic Arms and the Immersive Web," scheduled to take place August 8th. Monterey Bay Technology Meetup aims to create a space where individuals of all skill levels and interests in technology can connect, share ideas, and stay updated on the latest in the tech world. The group is open to anyone interested in topics such as AI, programming, software development, IT, hardware, cybersecurity, tech start-ups, and the latest gadgets. The inaugural event will feature two local speakers: Matt Cool, Community and Program Manager at Mozilla and Pat Cool, Developer/Software Architect at TASi Gas Flow. Matt will give a high-level presentation on the immersive web and its potential for creating new experiences using accessible, open-source web technologies. Pat will introduce the group to a consumer-grade programmable robotic arm, offering an intriguing glimpse into the future of automation and robotics for your home. Fox Thermal of Marina has generously agreed to host the meetup. The event will also provide attendees with a networking opportunity along with non-alcoholic refreshments throughout the evening. "We believe technology is for everyone and understanding is key to avoiding potential harm and making sure it has the best chance to benefit all” says Matt Cool, one of the group’s organizers. “Our goal is to create an inclusive, supportive environment that fosters learning and innovation. We encourage anyone interested in technology, be it a seasoned professional, a student starting their tech journey, or someone who just loves technology, to attend our meetup." Registration for the event is now open. For more details and to sign up for the event, please visit the Monterey Bay Technology Meetup's official page. About Monterey Bay Technology Meetup Monterey Bay Technology Meetup is a community group for tech enthusiasts and professionals in the Monterey Bay area. The group encourages members of all skill levels and interests in tech to share their work, ideas, and knowledge, gain insight from others, and stay updated on the latest in the tech world. For more information, please visit our meetup page [here](https://www.meetup.com/monterey-bay-technology-meetup/events/294689705/) --- ## Building a Web Aquarium Part One URL: https://mattcool.tech/posts/building-a-web-aquarium-part-one Description: I want an aquarium in real life but don't have the space so I'm building one for my blog instead. Published: 2023-07-05T15:22:00Z Tags: webar, webar, spatial-web Aquariums are beautiful and I wish I could get one in real life but I just don't have the space for it. I'm going to try to build web aquariums instead. I want it to be a react component I can take anywhere in the blog, just like other components I built for this blog like [The Clapper](https://mattcool.tech/posts/introducing-the-clapper-feature) and [ARChef](https://mattcool.tech/posts/ar-recipe-example). First I'm going to model an aquarium real quick in Blender. [Image: blender basic aquarium] Caption: low poly fish by Quaternius. Next, we can throw it up here using [React Three Fiber](https://docs.pmnd.rs/react-three-fiber/getting-started/introduction) and some very handy tools like gltf to jsx and components from Drei, a library of helpers for react three fiber. I create an Aquarium model component, and it comes out like this: [Image: web basic aquarium] Caption: Using the Stage component, we can easily place our model in the webpage with lighting and position more or less taken care of. Next, I want to add some water and there are all kinds of fancy ways we can do this. Probably will look best with a custom shader but for now just using a transparent standard mesh. I still have so much to learn with 3d graphics but the react three post-processing library makes it easy to play and try out different things. Since it's a React component, I can reuse these everywhere with different fish, decor and other options. For now, I have something like this: [Image: basic aquarium component] Caption: Loading components based on props for the Aquarium. And then we get an Aquarium with grass, a duck statue and a Butterfly fish created by Quaternius. I added some very light rotation animation to the plant in Blender to give it a bit of movement. I wanted to make visiting your aquarium relate to the world around you in some way so I decided to use env maps that change based on your local time (according to your browser). [Image: dawn, mid-day, dusk and night] Caption: Loading different env maps according to the time of day. Adding some [interactivity with Natuerlich](https://mattcool.tech/posts/exploring-natuerlich-a-revolutionary-interaction-library-for-the-spatial-web) Caption: Check out Part 2 here: https://mattcool.tech/posts/building-a-web-aquarium-part-two --- ## Sam's Chilli URL: https://mattcool.tech/posts/sams-chilli Description: AR enabled Chilli recipe from VR veteran Sam Watts Published: 2023-06-29T15:22:00Z Tags: webar, webar, spatial-web WORK IN PROGRESS! COME BACK NEXT MONTH (: VR veteran Sam Watts shared this amazing looking Chilli recipe and what a perfect test for a webAR recipe blog post with that long ingredients list. Ingredients: Steak strips Bacon lardons Chorizo Venison saucisson Duck saucisson x2 onions diced Whole bulb of garlic Cumin powder Cayenne Pepper Coriander Ground cloves Cinnamon Allspice Ancho chillis Chipotle chillis New Mex Red chillis Guarjillo chillis (whatever chillis you got) Few fingerfuls of brown sugar A couple of drops of vinegar Chillipepperpetes Mexican Mole paste Red kidney beans Black turtle beans Handful of sweetcorn Green pepper Celery 70% dark chocolate Ground coffee brewed A tin of beer Directions 1. Cook bacon in a large pan, remove and leave in bacon fat / juices 2. Cook chorizo and saucisson in same pan, remove and leave combined juices / fats 3. Brown off the steak strips in the bacon, chorizo and saucisson juices and remove 4. Cook the onion and garlic in the remaining juices until clear 5. Add all the spices and chillis 6. Add the meat, beans and sweetcorn and finely diced green pepper & celery 7. Add the coffee and beer 8. Stir and simmer for 5 hours, stirring every half hour or so 9. Leave to cool and mature for 24 hours --- ## AR Recipe Example URL: https://mattcool.tech/posts/ar-recipe-example Description: Example of what pass-through could enable on simple recipe sites Published: 2023-04-18T15:22:00Z Tags: webar, webar, spatial-web, features The immersive web has the potential to revolutionize our daily lives by providing interactive and engaging experiences through augmented reality (AR). One area where the immersive web could be incredibly useful is in the kitchen, where AR can simplify and enhance the process of following a recipe. This is why I'm excited to introduce my latest feature, 'AR Chef,' which takes any recipe blog and transforms the ingredients and directions into a pass-through AR experience with hand-tracking. ### Using Passthrough In my test on the Quest 2, as shown above, color passthrough is not available. However, Meta is planning to release the Quest 3 with color passthrough (https://www.uploadvr.com/quest-3-color-passthrough-mixed-reality/). This tech allows us to layer virtual objects in our environment while relying on the headset's camera to see the world around us. As more hardware with color passthrough and hand-tracking becomes available, the possibilities for overlaying information during tasks are virtually endless. You can probably imagine many use cases where it would be helpful to overlay some information while you are doing a task and we can build these types of interactions directly into web pages! [More Info about Incoming Hardware from SkarredGhost](https://skarredghost.com/2023/03/07/meta-roadmap-xiaomi/) [Image: ar glasses] Caption: AR glasses concept ### Approach I'm going to be trying out [coconut-xr's UI component library koestlich for this](https://coconut-xr.github.io/koestlich/#/) and then use [react xr](https://github.com/pmndrs/react-xr) to get quick hand tracking. When visiting a compatible site with a device that supports immersive AR, users will see a button in the lower right corner. [Image: chef kiss AR] By selecting this option using hand-tracking, users can enter immersive AR mode, and the ingredients and directions will appear in their field of view. They can then move the items as needed, keeping the list within sight while they work in the kitchen. ### Sample Recipe: ChatGPT Birthday Cake As an example, let's bake ourselves a cake! ### Ingredients - 2 cups all-purpose flour - 1 tbsp baking powder - 1/2 cup unsalted butter, softened - 1 cup sugar - 3 large eggs - 2 tsp vanilla extract - 1 cup whole milk Normally we would be grabbing these things and referring back to our screen, but with passthrough, we can keep this list in our field of view. [Image: quest pro demo with menu overlay] Caption: Test on Quest Pro courtesy of Kojiro Yano (https://twitter.com/kojirovr) We can still have all the things we would normally have in traditional recipe blog posts these days like affiliate links and long-winded, touching personal stories. ### Instructions 1. Preheat your oven to 350°F (175°C) and grease two 9-inch (23 cm) round cake pans. Optionally, you can line the bottoms with parchment paper for easier removal. 2. In a large mixing bowl, whisk together 2 cups of flour, 1 cup of sugar, and 1 tbsp of baking powder until well combined. 3. In a separate mixing bowl, beat 1/2 cup of softened unsalted butter until creamy. Gradually add 1 cup of sugar to the butter, and continue to beat until light and fluffy. 4. Add 3 large eggs to the butter and sugar mixture, one at a time, making sure each egg is fully incorporated before adding the next one. Stir in 2 tsp of vanilla extract. 5. Gradually add the dry ingredients to the wet ingredients in 3 parts, alternating with 1 cup of whole milk. Start and end with the dry ingredients. Mix until just combined, being careful not to overmix the batter. 6. Divide the batter evenly between the two prepared cake pans. Smooth the tops with a spatula. 7. Bake in the preheated oven for 25-30 minutes or until a toothpick inserted into the center of the cakes comes out clean. The cakes should be golden brown and spring back when lightly pressed. 8. Allow the cakes to cool in the pans for about 10 minutes before transferring them to a wire rack to cool completely. 9. Once the cakes are completely cooled, prepare your favorite frosting (e.g., buttercream or whipped cream) and spread a layer on top of one cake layer. Place the second cake layer on top, and cover the entire cake with frosting. Decorate with sprinkles, edible flowers, or other decorations as desired. 10. Serve the cake and enjoy the celebration! --- ## 360 Videos in Hubs URL: https://mattcool.tech/posts/360-videos-in-hubs Description: Discover how to use 360 videos in Mozilla Hubs and explore the potential of Spoke and the Blender Add-on. Published: 2023-03-25T15:22:00Z Tags: notes, webxr, spatial-web 360 images edited in Blender have been used to [great effect in the Mozilla Hubs community](https://discord.com/channels/498741086295031808/819202898247548948/996262693768007680) but did you know this functionality is (sort of) built into Hubs already? Spoke and the [Blender Add-on](https://github.com/MozillaReality/hubs-blender-exporter/releases) has options to project textures onto spheres. These options inspired me to add an [in-room convert image to 360](https://mattcool.tech/posts/hubs-hacks) feature to my custom client and is a neat trick the Hubs client can do but what about 360 video? Someone made this great template if you are just looking for an easy way to show your video with webXR and deploy it really quickly: [360 video template (spoke).](https://hubs.mozilla.com/scenes/ugJ4XMb) With the template, you can upload your video, publish and have a sharable 360 web space right away! Although the Hubs client code doesn't currently support equiangular-to-cube map conversion or stereo 360 videos, it should be possible to use three.js for this purpose. If you know of any examples in the wild, please share them with me. Considerations for doing 360 Video with Hubs 1.) Projection with Blender and Spoke You can project the video to a 360 view with options in Blender and Spoke with the _projection_ properties. [Image: Projection Blender] 2.) Video Controls Accessibility If you enable video controls, they are not very accessible from inside the sphere by default. Great opportunity for a plug-in here! [Image: video controls spoke] 3.) Cursor Hover Effect The video is subject to the cursor hover effect and this is why it appears to dim when hovered on desktop. You can customize a lot more around 360 photos and videos with custom code. The trick as it's done in Hubs: ```js if (projection === "360-equirectangular") { geometry = new THREE.SphereBufferGeometry(1, 64, 32); // invert the geometry on the x-axis so that all of the faces point inward geometry.scale(-1, 1, 1); // Flip uvs on the geometry if (!texture.flipY) { const uvs = geometry.attributes.uv.array; for (let i = 1; i < uvs.length; i += 2) { uvs[i] = 1 - uvs[i]; } } ``` --- ## Taipei XR Meetup 2023 URL: https://mattcool.tech/posts/taipei-xr-meetup-2023 Description: Presentation: Immersive Web and Mozilla Hubs. Slides and info from the Taipei XR meetup Published: 2023-03-17T15:22:00Z Tags: meetups Thanks to everyone who came out to the TaipeiXR and AI meetup. Here are my slides! --- ## Celebrating the Immersive Web in 2023 URL: https://mattcool.tech/posts/celebrating-the-immersive-web-in-2023 Description: Taking a look at a few of the entries for this years Poly Awards, an award show for webXR and considering the future of the immersive web Published: 2023-02-25T15:22:00Z Tags: webxr, spatial-web, community ## WebXR and the Immersive Web Here we are coming up on the third Poly Awards, an annual celebration of some of the most innovative WebXR experiences and their developers pushing the immersive web forward. If you came here wondering what I mean by the "immersive web", I prefer this term to describe experiences we can deliver through a web page that create a sense of immersion through [AR, VR or mixed reality](https://en.wikipedia.org/wiki/Extended_reality). The immersive web is a way we can describe this wonderful expanding medium that continues to improve through the efforts of hobbyist developers, big corporations, open-source communities, design agencies, standards bodies like [The World Wide Web Consortium (W3C)](https://www.w3.org/), ([immersive web working group](https://immersive-web.github.io/)) and creative technologists from around the world. We already see examples of these technologies being deployed on the web today in [medical training](https://blog.mozilla.org/en/products/hubs-nyu-school-of-medicine/), [gaming](https://heyvr.io/), [language learning](https://www.linkedin.com/posts/benjamin-weekes_edtech-gamification-agora-activity-7034822662132523008-ztZg?utm_source=share&utm_medium=member_desktop), social gatherings, [panel discussions](https://twitter.com/dankvr/status/1624611302290194433), [conferences](https://hubs.mozilla.com/labs/raumwelten-festival/), art, [music festivals](https://medium.com/active-theory/secret-sky-2021-7aedbbc5c894) and many other areas but [we're only scratching the surface of what's possible](https://vimeo.com/781363452/f2d506231a?embedded=true&source=vimeo_logo&owner=95282214). Communities in stand-alone applications like [VRChat](https://hello.vrchat.com/) and [NeosVR](https://neos.com/) are way ahead of the design curve in exploring VR use cases in immersive social environments: teaching sign language, racing go-carts, belly dancing, making films, and building incredible interactive spaces together in 3d environments. When we consider that only about 65% of the global population has access to the internet, how many of those have the beefy PCs and equipment to join these pioneers? What happens when the platform has to make changes to meet the needs of shareholders, shut down, or extract more from its creators? What incentive do they have to use similar technologies if it means the lifeblood of their platforms, their communities, can potentially easily jump to competitors? Caption: Source: bigscreenvr.com (https://www.bigscreenvr.com/) This headset is not an accessible solution for most people as it requires a good PC and 1000 bucks but look at that form factor! As cool as these walled gardens are, the web can remain a place where it is relatively easy for creators to publish and benefit directly from their creations. Freedom to publish to anyone with a browser is a powerful incentive. Plus there is so much untapped potential we can unlock by bringing new layers of information into our physical world and making use of [progressive enhancement](https://developer.mozilla.org/en-US/docs/Glossary/Progressive_Enhancement). Experiences on a smartphone could be different from desktop, HMD, or smartwatch experience and they can all play together! [WebXR](https://developer.mozilla.org/en-US/docs/Web/API/WebXR_Device_API/Fundamentals) is an API that enables developers to create immersive web experiences that can be accessed on a wide range of devices, including smartphones, tablets, and desktop computers. No app store, no downloads, just a link on the web. As the technologies and standards around the immersive web continue to improve, so do the range and quality of these experiences. The [Poly Award's website](https://thepolys.com/) gives us a great opportunity every year to review and try out some of the best the immersive web has to offer. Visit [thepolys.com](https://thepolys.com/) in VR to test all of these experiences. I'll highlight a few of my favorites here: ## Project Flowerbed A meditative VR gardening experience from Meta. Planting seeds for better WebXR experiences by open-sourcing the code. You can check out the repo here: [Source Code on Github](https://github.com/meta-quest/ProjectFlowerbed) ## Spatial Fusion Collaboration between design studios [Phoria](https://www.phoria.com.au/), and [Lusion](https://twitter.com/lusionltd) with support by Meta to build on top of some bleeding-edge features like passthrough, plane detection, and spatial anchors. The [trailer](https://spatialfusion.io/) here does a good job demonstrating but it's worth trying out the experience for yourself. [Tech overview from Ben Ferns with nice demos here](https://www.youtube.com/watch?v=zkUkP1sveDQ&ab_channel=BenFerns). ## Rouge Saber Fun project by webXR dev [Ruben "R2" van der Leun](https://twitter.com/rvdleun). Felt like noob Luke with the blast shields down. ## Boulder World Polished climbing game built with [Wonderland Engine](https://wonderlandengine.com/), a game engine specialized for WebXR. Florian Isikci and Sophia Schreiter really topped out on this one and plan to develop a full version of the game. [Play in VR here](https://heyvr.io/game/boulderworld) ## Art Salad Discover and appreciate great works of art by making 3d puzzles out of them. ## Prehistoric Domain Jurassic Park in your browser where the exhibits feel like they would at a zoo where you may have to wait a bit to see what you came looking for. Don't touch the glass! By [Benjamin Dupuy](https://twitter.com/benvisuals_) ## Hyperfy Awesome social 3d spaces platform built by [Ash Connel](https://twitter.com/AshConnell) with [Philbert Burrow](https://twitter.com/philburrrrt). [Check it out for yourself here](https://hyperfy.io/). ## Magishe Spielugen (Magical Reflections) Celebrating the work of painter, Johann Erdmann Hummel. The exhibit UI worked very well for me. ## Above Par-adowski Mini golf from creative agency Paradowski and [open-sourced](https://glitch.com/edit/#!/above-par-adowski-mini-golf-par-t-2). 100k unique visitors after launch with no hosting or marketing costs. [See the excellent write-up here for more info.](https://developer.oculus.com/blog/above-par-adowski-webxr-mini-golf/) ## And many more... Great to go through these experiences every year and witness the continued evolution of this medium on the web. To learn more about WebXR and connect with folks working on projects like these, the [WebXR discord server](https://discord.gg/webxr) is a great place to start. Come on in and say hello! --- ## Introducing the Clapper Feature URL: https://mattcool.tech/posts/introducing-the-clapper-feature Description: The first special feature I built for this blog: The Clapper! Published: 2023-02-20T15:22:00Z Tags: features I'll be building small features into this site as I go. Presenting my first feature: "The Clapper" I can drop it into whatever posts I want for some public encouragement. Thanks in advance for your claps, I appreciate the support. 🙂 --- ## Hubs Hacks URL: https://mattcool.tech/posts/hubs-hacks Description: A collection of features and hacks I built with Mozilla Hubs Published: 2022-10-25T15:22:00Z Tags: spatial-web, webxr --- ## Internet Marketing Jargon Genius: Digital Marketing Badge URL: https://mattcool.tech/posts/internet-marketing-jargon-genius-digital-marketing-badge Description: Test your knowledge of digital marketing terms in a light-hearted quiz. Sign in or play for fun, and see if you can earn a whimsical badge! Published: 2024-1-6T15:22:00Z Tags: badges Ready to prove your marketing buzzword and jargon mastery? Make sure you are [signed in first](https://mattcool.tech) if you would like to record your badge. You are only allowed one wrong answer for a badge! [See your badges here](https://mattcool.tech/badges). Remember this is a serious test and this qualification will be recognized widely across prestigious institutions and businesses internationally. **Directions:** Complete the questions below and hit **Next** at the bottom to move on. --- ## Southwest Florida VR AR Meetup URL: https://mattcool.tech/posts/southwest-florida-vr-ar-meetup Description: Presentation: The Immersive Web and Building 3d Social Spaces with Hubs. Slides and info from Southwest Florida AR/VR meetup Published: 2023-07-7T15:22:00Z Tags: meetups Thanks to everyone who came out for the [meetup](https://www.meetup.com/vrarswfl/events/293910700/)! We had a nice discussion and great questions. Here are my slides: Notes Lisa asked if this was webAR or could be done with web: (https://www.tiktok.com/@combattans?refer=embed) (https://www.tiktok.com/tag/4d?refer=embed) #5d (https://www.tiktok.com/tag/5d?refer=embed) #billboard (https://www.tiktok.com/tag/billboard?refer=embed) #crazy (https://www.tiktok.com/tag/crazy?refer=embed) in #china (https://www.tiktok.com/tag/china?refer=embed) ♬ Two Minutes in Hell - Julian Lee (https://www.tiktok.com/music/Two-Minutes-in-Hell-7091214473993684994?refer=embed) While we weren't sure what technologies they were using (or if it's just a great optical illusion), something similar could be done on the web and Ian Curtis is a great person to follow for examples: Leonardo and Eveginya have had great questions about using USD on the web and interoperability. I had asked ChatGpt to help explain the differences between gltf and USD and why we might favor one for web projects. If I want an open, extensible 3d social platform on the web, is USD or gltf a better format to embrace? What are the arguments for each and why might one be better than the other? Both USD (Universal Scene Description) and glTF (GL Transmission Format) are widely used 3D file formats, each with its own set of advantages and trade-offs. When choosing between them for an open, extensible 3D social platform on the web, it's essential to consider their respective strengths and weaknesses. USD: Developed by Pixar, USD is designed for high-end production pipelines and large-scale scenes. This means it can handle complex projects with many assets and varying levels of detail. USD is highly extensible, allowing for the integration of custom data types and attributes. USD supports advanced features like scene composition, layering, and non-destructive editing, which makes it a powerful choice for collaborative work. USD is well-suited for offline rendering and film-quality projects. Drawbacks: USD is not specifically optimized for real-time rendering and web use, which might lead to performance issues in some cases. The complexity and advanced features of USD can make it harder to learn and implement compared to glTF. glTF: glTF is designed specifically for efficient real-time rendering on the web and other platforms, making it a more suitable choice for web-based 3D social platforms. glTF has a smaller file size compared to USD, which is beneficial for faster load times and better performance on the web. glTF is widely supported by many 3D engines and tools, ensuring broad compatibility across various platforms. glTF is simpler to learn and implement compared to USD, which can be helpful for rapid development. Drawbacks: glTF lacks some of the advanced features found in USD, such as scene composition, layering, and non-destructive editing. glTF may not be as extensible as USD, which can limit its potential for complex projects or unique customizations. Conclusion: For an open, extensible 3D social platform on the web, glTF is likely the better choice due to its optimization for real-time rendering, smaller file sizes, and broad compatibility. However, if advanced features, scene composition, and extensibility are crucial to your project, USD may be a more suitable option. Ultimately, the choice between USD and glTF depends on the specific requirements of your 3D social platform and the balance between performance, complexity, and extensibility. The whole thread is available [here if you have joined the development channels](https://discord.com/channels/498741086295031808/1092463857575936121) in the Hubs discord. Thanks again to the Southwest Florida VR AR meetup for having me. --- ## Why WebXR: A Web Dev Niche that Could Explode URL: https://mattcool.tech/posts/why-webxr-a-web-dev-niche-that-could-explode Description: What are the advantages of building VR/AR/MixedReality on the web? Published: 2023-07-25T15:22:00Z Tags: webxr, spatial-web Is WebXR a [web developer niche that's about to blow up](https://www.youtube.com/watch?v=XGIBFZ3ggGs&ab_channel=CodingPhase)? A recent discussion came up in the [WebXR Discord](https://discord.gg/webxr) asking for the best arguments for doing XR on the web. Drawing on the discussion led by [Sorskoot ('Why WebXR')](https://timmykokke.com/blog/2023-07-03-why-webxr/) with Yinch, Arthur, Synn, and [De Panther](https://twitter.com/DePanther), there were some clear themes emerging I wanted to share here. There are also many reasons why you might not want to go web for your project but lets take a look at some of the reasons to jump into webXR. Platform Neutrality WebXR applications are platform-agnostic, meaning they can run on any device with a browser that supports the necessary APIs, regardless of its operating system. Ease of Access WebXR apps are easy to access and share. There's no need to download or install anything; folks simply open a URL and they're ready to go. This reduces the barriers to entry for people, who might be deterred by the need to install a large app. It also increases the potential for virality since sharing a WebXR app is as simple as sharing a URL. Open Standards WebXR is based on open standards, which fosters a sense of community and collaboration. Developers can contribute to the evolution of technology and share their code with others. This openness also helps protect against the dominance of proprietary, closed-source platforms. Cost-Effective Publishing Since there's no app store involvement, developers can avoid the fees that come with publishing on those platforms and have more control over distribution of their work. This makes WebXR a more cost-effective solution, particularly for smaller developers or those just starting out. Rapid Prototyping and Iteration WebXR allows for quicker iterations and experiments. Changes can be made to the code and instantly seen in the browser, accelerating the feedback loop and enabling faster development cycles. This is a big advantage over native engines where every change necessitates a new build and a lengthy compilation process. Capabilities-Based/Progressive Enhancement The capabilities-based approach of WebXR allows developers to build apps that can handle new devices without the need for significant adjustments or the creation of a new app. This approach gives WebXR a forward-compatible nature, enabling it to adapt more easily. Interested in seeing some examples of XR on the web? [Check out this post](https://mattcool.tech/posts/celebrating-the-immersive-web-in-2023). --- ## Van Gogh AR Gallery Fundraiser URL: https://mattcool.tech/posts/van-gogh-ar-gallery-fundraiser Description: Using AR.js to create a novelty AR gallery experience for fundraiser dinner guests. Published: 2022-01-25T15:22:00Z Tags: webar, webar, spatial-web Getting Organized (https://gyazo.com/a572b931426c43fa884aaab45c38662d) From here I relied on the ar.js docs and articles like this one to get a sense of what I can do. I used this tool to create the marker. I placed a QR code on the marker itself so people could navigate to the site. Spent a little time fiddling with it but mostly just pushed to get the basic site out. I added some text to give you the name of the painting and wrote a quick click event to swap out the models when you touch/click the painting on your device and deployed the site with netlify from the repo I was working in. The markers were included in the gift bags for the Vincent Van Gogh table, one of several tables designed and built by volunteer designers from the community. The event raised over $100,000 for a local charity that provides services to the elderly. Of course, the AR markers are just a minor detail but hope this post helps someone else interested in trying AR.js. [Image: Final table] --- ## UX Design Podcasts to Get You Thinking URL: https://mattcool.tech/posts/ux-design-podcasts-to-get-you-thinking Description: There are a ton of UX design-related podcasts out there but these three consistently have stayed in my playlist throughout the past few years. Published: 2021-04-25T15:22:00Z Tags: design UX Podcast Link to UX Podcast (https://uxpodcast.com/episodes/) James Royal-Lawson and Per Axbom have been hosting this one since 2011 and have interesting guests with topics that inspire curiosity. I especially like how they do a post-interview retrospective where they unpack the interview. I've been listening to this one for years and it's helped me to gain many valuable insights. UI Breakfast Link to UI Breakfast (https://uibreakfast.com/category/podcast/) I love Jane Portman's interview style and thoughtful questions. This podcast dips a lot into product strategy and saas and it's interesting to get fresh perspectives from folks with very different experiences. Design Details Link to Design Details (https://designdetails.fm/episodes) Marshall Bock and Brian Lovin offer great insight into design and a sense of silicon valley culture. They also do a great job of engaging with community questions on GitHub and Twitter and have answered a bunch of my questions. ---