Revitalized Meteor Examples: Showcasing what Meteor can do today (BETA)

With Meteor 3.4 introducing the Rspack bundler, modern build optimizations, and full ESM support, our application examples needed a refresh. We’ve revamped the Meteor examples repository to reflect the current state of Meteor and showcase what’s possible with the latest tools.

These examples serve two purposes: help newcomers get started with a solid foundation, and show existing users how to adopt new features like Rspack, modern UI frameworks, and async patterns in real-world scenarios.

All examples now run on Meteor 3.4.1 with Rspack enabled, async MongoDB operations, and modern frontend setups. Each one includes CI/CD with GitHub Actions, linting, and E2E testing with Playwright. These examples ship as part of the Meteor 3.4.1-beta.1 release, and can be easily fetched through the improved meteor create command.

Try Them Out

With Meteor 3.4.1-beta.1, you can now dynamically fetch and create projects from examples directly:

# List all available examples
meteor create --release 3.4.1-beta.1 --list

# Create a new app from an example
meteor create my-app --release 3.4.1-beta.1 --example <example-name>

# Or pull directly from the examples repository
meteor create my-app --release 3.4.1-beta.1 --from https://github.com/meteor/examples --from-branch migrate-examples --from-dir <example-dir>

# After creating, install npm dependencies
cd my-app && meteor npm install

What’s Been Updated

Task Manager

A personal task management app with a dashboard. Track tasks, mark them complete, and see reactive metrics update in real time.

  • Tailwind CSS v3 with standard PostCSS configuration
  • React 19+ with createRoot API
  • Meteor-RPC for type-safe methods with Zod validation
  • shadcn/ui components
  • Reactive dashboard metrics with MongoDB task collections

A solid starting point for anyone adopting Tailwind and type-safe patterns in Meteor.

Notes Offline

A note-taking app that works without an internet connection. Create, edit, tag, and preview notes in markdown, all persisted locally and synced when back online.

  • Mantine UI for the component library
  • IndexedDB persistence via jam:offline for offline-first data
  • Optimistic methods with jam:method for offline queuing
  • PWA service worker integration using Workbox via Rspack (compatible with the official webpack plugin)
  • Full CRUD with auto-save, markdown preview, tagging, and dark mode

A great reference for anyone building offline-capable Meteor apps or exploring service worker workflows with the new Rspack sw.js dev support.

:warning: Identified an issue with meteor run using Rspack HMR: offline mode does not work well in this setup, and a refresh shows a white page. meteor run --production works as expected in the final production experience of the SW web app.
Will try several configs during the beta period to see possible fixes for the example.

Simple Blog

A mini blogging platform with posts, comments, and role-based access control. Authors write, admins moderate, and readers comment, with email notifications on new activity. Contributed by @dupontbertrand.

  • Role-based access control for post and comment management
  • Email notifications with dev-mode preview via dupontbertrand:mail-preview
  • Blaze 3 with Bootstrap 5 and Flow Router
  • MJML for email templating

Check out the live demo and the repository.

Parties

A party planning app where users can create events, invite guests, and RSVP. One of the classic Meteor examples, now fully modernized.

  • Async MongoDB operations (insertAsync, findOneAsync, updateAsync)
  • Blaze v3 upgrade (backward-compatible)
  • Bootstrap 5.3.3 styling

Shows that Blaze apps can smoothly transition to the latest Meteor with minimal friction.

Tic-Tac-Toe

A two-player tic-tac-toe game with real-time moves synced across browsers. Simple, fun, and a clean demonstration of Meteor’s reactivity.

  • React 19 with createRoot API
  • Material UI v7 styling

A lightweight example that demonstrates React 19 and MUI v7 working together on Meteor.

Complex Todos (Svelte)

A full-featured todo app with categories, filters, and validation. Demonstrates how Svelte 5 pairs with Meteor for reactive, schema-validated workflows.

  • Svelte 5 runes replacing Svelte 4 syntax
  • jam:method replacing mdg:validated-method with Zod schemas
  • Skeleton UI v4 with Tailwind CSS v4 and Cerberus theme

Svelte 5 support is made possible through the Rspack build pipeline, which handles the latest Svelte compiler natively. A good reference for the Svelte community looking to use Meteor as their backend.

Common Patterns Across All Examples

A key motivation behind this effort was to resurrect classic Meteor examples, migrate them to Meteor 3 with its async API, and rebuild them to cover more features and real-world functionality. Rather than minimal skeletons, each example now showcases a broader range of what Meteor can do today. Every revamped example shares a set of patterns you can adopt in your own apps:

  • Fully migrated to Meteor 3 with async MongoDB operations and modern APIs
  • Rspack bundler for faster builds, tree shaking, and HMR
  • Modern frontend setups with the latest versions of each framework
  • CI/CD pipelines with linting and E2E tests

What’s Next

These examples are currently in beta alongside Meteor 3.4.1-beta.1. They have been tested and automated tested for rapid validation across versions, but we welcome feedback and bug reports as we move toward the stable release.

Once the current examples are stable, we’ll prepare contribution guidelines so the community can submit their own. If you’ve built something with Meteor that showcases a framework, integration, or pattern not yet covered, we’d love to see it in the future.

If there’s a specific setup or integration you’d like to see, let us know on the forums or Discord.

6 Likes

I’m really glad you took to the forums to announce this. Otherwise this’d just fly under the radar. It’s important to be vocal about what you do, for the benefit of others and yourself.

As for the examples, I really really commend you on the differences between each one. Offline first using @jam packages, Blaze/Roles with @dupontbertrand, React. The difference is stark between each and every example and they don’t overlap at all whilst still showing different ways you can build with Meteor. This goes to show even simple changes, that don’t require great feats of engineering like Rspack or Capacitor to Cordova for instance :sweat_smile: can carry a huge value to the community. You just need a good taste. A lesson on OSS contrition if you ask me. Lots of lessons if you look deep enough actually.

Also, wasn’t there some problem with Svelte? Or it’s now fixed as of Meteor 3.4+? No more GitHub - JorgenVatle/meteor-vite: ⚡ Replace Meteor's bundler with Vite for blazing fast build-times · GitHub?

Is there an Angular example app too? I believe you need another AI skill to keep those examples updated @nachocodoner :smile:

Aight, I’ll seize with the ass-kissing but I just like call out good stuff when it happens no matter how small and also bad stuff too :grin:

GUD JOB!

1 Like

Yes, the idea with examples is to make an effort to offer richer experiences showing what you can do, covering different cases and features, not only from the core but also from community packages out there. It’s also a way for us to get more familiar with them and, at some point, feel more confident about moving ideas to the core.

Also, wasn’t there some problem with Svelte? Or is it now fixed as of Meteor 3.4+? No more meteor-vite?

The Meteor bundler didn’t support Svelte 5 with zodern:melte. With meteor-vite, users have reported it works well on their end. But since this is an official example, I thought it’d be better to stay within official procedures, at least to have a first-class example with Rspack. We can have a separate showcase with meteor-vite anytime. Would anyone more experienced with meteor-vite be willing to help with that?

Either way, the plan is to keep examples as up to date as possible. I’m not sure about plans on the meteor-vite side to support Vite 8, but as far as I know, that’s not the case. It’s still a valid option, but if it’s not maintained, people adopting meteor-vite could fall behind. That’s been another reason to keep the Rspack approach.

Is there an Angular example too? I believe you need another AI skill to keep those examples updated @nachocodoner :smile:

I’ve thought about it and it’s on my list, since I also wanted to review the approach for enabling test specifics in the Angular environment. For those who don’t know, we may not have a rich Angular example yet, but we have an Angular skeleton (meteor create --angular) since Meteor 3.4. When I get back to this, I’ll dedicate time to building a richer Angular example.


As part of the future native work with CapacitorJS, we’ll resurrect the mobile examples. For now we just have an up to date Cordova example, with more coming as part of the future modernization of the native side.

2 Likes

Very cool!

One (minor) question: How come TW v3 for Task Manager, and not v4?

Thank you.

Good catch, I will update it to v4. No specific reason, just many examples to adapt and sometimes forgetting to use the latest version.

2 Likes