Gareth, a friend on the Slack PKM took some time to analyze my revenue on Medium. The graph is rather interesting and helps me reiterate a point I've made before: cross-posting articles on different platforms is a valuable approach. I've published most of my article on my own domain and cross-posted those on Medium for a while, and it generated ~$100/month on average, without me doing anything specific for that platform.
What matters is setting the canonical URL to my own domain, to make sure I keep control over the search results. Other than that, it's an interesting source of income. I think there's value in providing more options for my readers. Some already have a Medium subscription and don't necessarily want one-more on their list. The main downside I see is the dilution. Some of my readers will just follow me on Medium and might miss some of my content and promotions I run from time to time...
I didn't have as much time as I wanted for Knowii, but I was able to make some more progress this week. I implemented social logins in production and a solution for usernames.
When users log in using a social provider like Google, Twitter or GitHub, we (developers) don't always have the same information available. In particular, the username is not always there. GitHub provides a "username" field, but Google does not. In their case, the email also the username, and it's not something I want for Knowii... As a community platform, I want users to be able to use their real name and/or a nickname/username. I see a lot of value in the anonymity. That's why I needed to build a little system to take care of that. Now, when users sign up using Knowii, they'll be able to pick a username:
And they'll directly see if it's still available:
I also needed a way to generate a random username so that users who log in using Google also get one (albeit temporary):
At this point, I didn't want to have a complicated multistep onboarding process. I want users to be able to dive right in, without being bored by administrative overhead. The username generation mechanism took me a lot of time to implement. I needed to write PL/SQL functions to randomly pick nouns, adjectives, and random numbers, make those long enough but not too long, etc. Finally, the implementation wasn't easy because I couldn't see the logs when something went wrong 😂
A clear roadmap to building your own knowledge system. Subscribe and get it straight to your inbox.
6,000+ readers. No spam. Unsubscribe anytime.
Turn Information Overload into Clear Thinking
Every week, I share practical systems, tools, and frameworks to help you organize your knowledge, leverage AI, and create consistently. No fluff. No spam.
6,000+ readers already subscribed ✨
Or go deeper with Knowii
Every Knowii tier includes the private community, live events, expert access, monthly challenges, a 3.8K+ concept knowledge base and my ~10K published notes. Pick the depth that fits you:
Explorer
€14.99/quarter
✅ Community discussions & PKM guidance
✅ Tutorials, curated content & resource library
✅ Templates to start fast
✅ Free bonuses: Knowledge System Checklist & PKM Tools Database