Vincent Ritter

< back to projects

Sublime Ads

A privacy focused ad management service for your apps, websites and others.

Sublime Ads is a platform to allow you to manage and serve your very own ads in your own apps, on your websites, or other services using a simple API, or a lightweight drop-in JS script. You are in complete control on what you want to show, and how.

Everything is in one place and is easy to manage, no need to write your own custom solution. On top, Sublime Ads is privacy conscious to you and your users. Only taps/clicks will be registered for served ads and nothing else (can also be disabled per ad). I also don't use any tracking for the web application and other things, just like the internet is supposed to be.

Launched early 2021 as an MVP product to satisfy my very own needs as a developer with multiple apps and sites.

Visit the website here.

Project posts JSON/RSS Feed...

Deployed a bunch of stuff just now, after weeks of changes. Going to make an announcement tomorrow at some stage. Pretty excited!

A good few days of work hidden right here. Plan switch logic, account balances, monthly to yearly and whatever else cropped up. Button and details show when selecting your plan. 🥵

This was just for "changing". Did the other work earlier for new subscriptions.

I’ve been working through many changes to Sublime Ads over the past few weeks. Tomorrow I’ll announce a new thing for embeds and integrations (which is one of those things). Gonna be useful I hope. 🎆

Does this mean I am ahead of the curve?

Routing all Sublime Ads images through Bunny CDN as a test. All working nicely.

12 hours of Sublime Ads dev between Friday night and now. My brain is fried 🤯. Setting the stage for next week. Now two days off.

Sublime Ads: Stat changes, bug fixes and new servers.

Hey there.

I've been busy the last few days to get a few needed things out the way for Sublime Ads, my ad management platform for apps, websites and other things. Here’s what’s new:

Stat filters are now saved

Your stats (the graphs) have settings for the day range and which view you have selected ("views" or "taps"). In the past that data was saved with the browser data in local storage. So when you used the same browser, it would have picked up which setting you have selected.

No more. Now these settings are saved across your device and are loaded automatically every time you make a change.

I thought this was nice and gives you a more consistent experience across devices.

This opens the door for a few more things I'd like to add at some stage... nothing like planning ahead.

Bug fixes

Ah yes, always there are bugs. Whilst there were a few I fixed, the most notable ones are image lazy loading related.

  • Fixes an issue with the profile image always trying to reload in a lazy way, on each navigation. Now I am just using a background image so you don't get this flash.
  • Ad images in a category create or edit screen didn't lazy load and looked blurry. This is now fixed.
  • Various other lazy loading tweaks across ads, like in the header area when viewing an ad.

New servers

This one took some time to get right, and yes there was some downtime... and I apologise if that has caused any troubles for you. Anyone using the Embed API was not affected by any downtime. However, I kept everything to a super minimum.

Migration is now fully complete and it allows me to sleep at night without problems. Namely I can easily create servers on the fly and scale where needed without headaches of managing this.

For anyone interested I am now using Cloud66 to manage the Sublime Ads servers. Another nice thing is that, in a way, these are now managed by Cloud66, including database backup strategies - which is a big win for the platform!

It is a little bit expensive but the peace of mind is comforting and worth it in my eyes.

If you find anything that isn't working anymore, let me know.

With the above changes I also took time to upgrade the version of Ruby to keep up with the security updates.

Anyway, this is it. Happy with the way it came together this week, and look forward adding a few more things in the coming week.


Migrated Sublime Ads to a new server infrastructure using Cloud66. Took 6 hours to deal with encryption issues, but all working well now. Don’t think there was any downtime (most ads are served via the edge locations).

REALLY HAPPY now. Stepping it up ✌️❤️

Sublime Ads is currently not resolving API keys or redirect links. Working on it.

Update: Now working again… sorry about that!

I’ve been working on tweaks to Sublime Ads in the past few months. But never really blogged about them. Little things here and there. Also updated the homepage a little — going to be doing more here. Incremental changes feel good.

Another mistake I made with Sublime Ads, which is a bit of a head scratcher, is my choice of encryption method. There is nothing wrong with it… the only problem is managing keys as it’s file based. Never noticed they had a ENV option also… damn.

Hmmm. Small obstacle encountered. Need to revisit my asset pipeline for Sublime Ads. I tried and failed… but I think I just need to start from absolute beginning and then transplant. 😭

Working on something new for Sublime Ads 👀

Tweaked the wording on every single email that Sublime Ads sends. Took some time. Also tweaked the mailer template a little. Took out those horrid tables.

Doing gradual improvements and feature implementation the next few weeks.

1 year since launch anniversary coming up!

In preparation of a few changes, I made a few tweaks to Sublime Ads.

It was mainly updates to some of the packages (and all that good stuff). I’ve taken the opportunity to upgrade Tailwind also (was using version 1… now we are using version 2 — and yes, I know, version 3 is the hotness). Colours look a little different so let me know if anything seems off.

Not done yet though! This was just a minor little thing before I actually do the bigger work.

I’ll tweak the styles as I go too.