Vincent Ritter

🤓 Dev diaries

All my active project posts, collected here. This is at the heart of what I do and I love.

Active projects:

These are my active development projects at this time. You can go through any of them for more info and see specific posts for the project.

Sublime Feed

The first RSS feed reading service that's tailored for a more calm approach that doesn't make you want to scratch your eyes out. Embrace the FOMO and go with the flow of life.

Find out more and read the updates

Scribbles

Start your own blog in seconds, with a beautiful minimal theme and an amazing editor that doesn't get in your way. Customise and make it yours.

Find out more and read the updates

tinylytics

analytics for small websites

Find out more and read the updates

shoutouts

A place for everything you love, like or want to shout out about on your website.

Find out more and read the updates

Recent posts

Code Challenge: Scribbles

Over 3 years ago, I had a very similar idea to HEY World, with a simple blogging flow to just write. This was, and is, also partially inspired by spending time on Micro.blog and writing there.

I still want to explore this concept where you just simply write, and publish, with your standard RSS feeds and a public viewing page – with super simple styling to just get your words out there. No themes and nothing fancy.

I find it super useful to try and keep up with creating something that I can just explore without boundaries, whilst keeping things simple, light and fun.

If you've been following me for a while, you know I like creating things, from web to apps, so I want to continue this trend — because I already have enough to do!

So why a code challenge? It's what I name these... and it'll be an MVP (minimum viable product) and I want to challenge myself to go from zero to something in two weeks. 🤷‍♂️😅

The last time I said two weeks it was much longer because I stopped in-between. Ideally I would like to one day launch something really "tiny" within 2 days. In fact, tinylytics was done mainly over one weekend and then I iterated over it for a few weeks — now it's getting updates on a near weekly basis.

So what is "Scribbles"?

Scribbles are exactly that, just scribbles, in other words: long form blog posts and thoughts (no micro posts though) that you may want to share with others via RSS or a public facing page.

The plan right now for the MVP is the following:

  • A simple editor in the web app, for blog text and title input, including inline images.
  • Save your posts either as "public" or "private" – public means it will be available to view by everyone, private will only be for you or a select view members (for example a family) with a special link/RSS feed. You can also save them as drafts.
  • A public page, with your "public" posts and a simple profile on top of your public page.

Some stretch goals (but most likely afterwards):

  • Allow you to email your posts to a special email address, which means you can write your posts in any given email program (with options in the web app on how to handle these).
  • Allow grouped private posts, using tags, which you can separate into different private pages or RSS feeds – may it be "Family" or "Subscribers".

And what about the technology stack?

You know me, I'm a Ruby on Rails guy, so I'll continue this trend, however in addition to that, I would love to explore:

  • Kamal Deploy, allowing me to deploy with ease.
  • Using SQLite as my production database using Litestack.... EXCUSE ME, WTF? Yeah... 😅

I'm a huge, and super happy, user of Hatchbox for all my Ruby based projects (all of them), but I wanted to try this on my own using Kamal, because I always feel afraid of servers.

Where can I find out more and follow along?

Easy peasy... this blog and the RSS feed of course, plus on my Micro.blog profile (which you can follow via Mastodon). There will also be a project specific section on my website here, with a project specific JSON feed. I'm also going to be posting to X, using the #buildinpublic hashtag. It'll be more or less the same micro posts I make here. I know I know — I've made a few friends here, which is nice for me (so a huge thank you for following me there).

Next steps:

I'll probably take the day off now 😅 Nah, I'm just preparing a few things. There is no holding page just yet either, and I think this time around it will be the last thing I do.

There's already login logic and the logo set, so now to get the first interface out and do a few teasers.

Thanks for reading, and hope you enjoy this series ✌️❤️

I've been working on a logo and favicon for something new today... but whatever could I be up to again? 🤷‍♂️😅

I've improved the speed of collecting hits for tinylytics this morning. This is just a minor little change that basically just moves the hit collection to a background task, instead of doing it during the request. Happy with that, and you will probably not notice the difference 😋

For paid subscribers on tinylytics, I've added an experimental option to enable unique hit collection for a site. It's opt-in.

It will generate a random id when the script is fetched and stores it on a temporary basis for the session and will use it together with the hit collector.

One more fun thing for tinylytics, you can now embed the countries that have visited your site, in emoji form. Check out the documentation on how to get started.

I added an option to delay your public stats page data by one day in tinylytics.

Adding something new to tinylytics soon, can you guess what it is? Only test data you see here btw 😄

Tinylytics embed option showing a hit counter, the webring and some flags (hint)

Maybe I shouldn’t subscribe to the “subscription cancelled” emails 😅 Fair few the last few days.

Just added the tinylytics webring documentation so you can embed the webring to your site. If you want to read more about the webring go here.

Small tweak to shoutouts.lol this morning, because I didn't like all this whitespace coming through in the embed script...

Yikes! Well, no more:

A little bit more for me to do here, and you can guess what that might be 😁

Nice that Ruby on Rails includes a `escape_javascript` helper.