MattMakes3D.com is my personal space on the internet dedicated to 3D printing. It started as a simple print log, documenting the projects I completed, the models I was working on, and showcasing the builds I was most proud of. This helped satisfy my desire to document my hobby. However, as time went on, I wanted to create a platform that highlighted the incredible work of others in the community—often even more impressive than my own. Unfortunately, there was no central place to showcase all this talent.
That realization inspired the creation of MakerDeck. While MattMakes3D.com is a personal initiative, MakerDeck is meant to be a community-focused platform. It seeks to cultivate a space where the entire maker community can unite, not just me.
The first notable feature created with that vision in mind is called Show & Tell.
What Show & Tell Is
The concept is straightforward. If you have printed something worth sharing, simply submit it. Add a photo, a brief description, your username, and, if you’d like, a link to the original model source so others can print it too. That’s all there is to it. No account or profile setup is required. Just share what you’ve created.
On the gallery side, anyone can browse the creations made by the community, discover model links, and gather inspiration for their next print. Currently, we have makers sharing a wide range of items. All submissions are moderated before going live to ensure consistent quality and prevent spam.
How the Moderation Works
When someone submits a form on the site, their submission goes into a database, where all moderation occurs. The team reviews the photo, description, and model link. Once everything looks good, they simply check the "Approved" box to make the submission live on the site.
I added another checkbox labeled "Post to Mastodon." When this checkbox is selected, the submission is automatically picked up and posted to the MakerDeck Mastodon account. This includes the photo, a mention of the maker if they provided their handle, and relevant hashtags. I'll explain how this works in more detail shortly.
The Tech Behind It
The website is built with Astro and hosted on Vercel. I chose Astro because MakerDeck is primarily content-driven, and I aimed for fast, lightweight pages without delivering excessive JavaScript to the browser.
Notion is doing much of the heavy lifting on the backend. Rather than building a traditional CMS or admin panel, I am using a Notion database as the source of truth for all Show & Tell submissions. The Notion API pulls approved entries and serves them to the gallery upon request. This keeps the content pipeline dead simple because the people managing submissions are already living in Notion.
Photos submitted through the form get uploaded directly to Cloudflare R2. I generate a presigned URL on the server side so the file goes straight from the browser to R2 without bouncing through Vercel. The public URL for each photo is stored on the Notion page for that submission, so when the gallery renders, it just pulls the image URL from Notion and serves it from R2's CDN.
For notifications, I have a GitHub Actions workflow that runs every 15 minutes and checks for any newly approved submissions that have not yet been posted to Discord. When it finds one, it sends a message to the MakerDeck Discord server with the photo and the submission details.
The Mastodon integration follows the same pattern. A second GitHub Actions workflow polls Notion every 15 minutes, looking for submissions where Post to Mastodon is checked and where a Mastodon Post ID has not already been written back. When it finds a match, it downloads the photo, uploads it to the Mastodon media endpoint, constructs a status with the maker's details and hashtags, and posts it. Once the post goes through, the resulting post ID gets written back to the Notion page so the same submission never gets posted twice.
I went with GitHub Actions for scheduling instead of something like Vercel Cron because the project is on the Hobby plan, and Vercel's Cron feature requires Pro. GitHub Actions gave us the same result at no cost, and since I already had a workflow file for the Discord notifications, adding Mastodon followed the same pattern.
Where This Is Going
Show & Tell is currently live at MakerDeck.net and is still in beta as we gather early feedback. The submission form is open, so if you've been working on something interesting that you'd like to share, we want to see it!
The long-term goal is to make MakerDeck a community gathering place. Show & Tell is one aspect of that. More initiatives are in development.