Easy Todos – a local-first Meteor PWA with the jam stack

Easy Todos is a local-first Meteor PWA. It’s a simple, yet powerful demo of the jam stack. Together, they produce an instant-feeling app with these features:

  • Local first with server sync
  • Optimistic UI
  • Cached subscriptions
  • MongoDB Change Streams and no oplog tailing
  • One schema to power your Meteor.methods
  • Automatic archiving of deleted docs and easy restoration
  • Eliminates excessive boilerplating for a great DX
  • All this with minimal config

Write less code. Do more.

Here are the key jam packages featured in this demo:

PWA Kit provides the service worker.

Also enjoy that sweet intellisense via minimal JSDoc and without the hassle of ts compilation :slight_smile:

9 Likes

These need to be added to core.

With the recent addition of Roles, I think the only thing Meteor is missing is a standardized job scheduler.

3 Likes

meteor create --jam new-app

4 Likes

Maybe we need a Meteor equivalent to https://unjs.io/ (maybe related to this: Community Packages | Docs) :sweat_smile:

Since there’s Meteor Community and other prolific maintainers who have some high quality or high-utility packages too (I don’t want to start listing in case I forget someone, and I’m on my lunchbreak haha).

1 Like

so cool! thank you for this demo!

1 Like

Looks great and really hits the nail on many important user experience point at this time. Strongly agree on the vision your show here.

How is this related / associated to the core and the vision of mdg? Is this something to become mainstream in meteor?

2 Likes

Thanks! I really appreciate that.

I hope that the ideas contained within these packages make their way into core one day. To that end, they are designed to feel Meteor native. Together, I think they create an exceptional UX, introduce long-awaited core features, and represent a radically simplified and improved DX while staying true to the original principles of Meteor.

I can’t really speak to the vision of Meteor Software (i.e. the company, formely mdg). But in general, I think the original vision for Meteor (the framework) got a lot of things right. Unfortunately, they didn’t quite go far enough to realize its full potential because they got distracted by graphql and the enterprise focus in order to return capital to investors but I digress.

With some improvements and focus, Meteor is well positioned to ride the local-first wave. The main thing holding it back is scalability concerns. I hope these will be addressed head on in the coming months. Nacho’s bundler improvements and a seamless Vite integration will also be wonderful and I look forward to them.

Beyond that, I have a particular vision for Meteor but it would require more investment so that we have the necessary people to realize it.

4 Likes

Hi @jam, thanks a lot for your contributions, these packages look very useful.

I would like to test out these packages, and also your soft-delete package for a MVP of my customer. However, I noticed there are no licenses attached to the published code on GitHub, which prevents me from using any of them and stay compliant with the law (it’s actually considered copyright infringement as soon as such work is used).

Would you mind adding a permissive open-source license to your packages, if your intention is for other to use them? If you’d like them to be in the core someday, I think MIT would be a good choice, because it’s the license under which Meteor is published.

1 Like

Hey @meteorisgreat, thanks!

I appreciate that you live in a country that respects copyright law. :slight_smile:

I’ve updated all jam packages with a MIT license.

Go forth and build

1 Like

Awesome, thanks a lot @jam !

Sending you a coffee :slight_smile: :coffee:

1 Like