UPDATE: I open sourced abbreviame code. You can find the source code at the end of this article.
On March 5th 2023, abbrevia.me site went viral. One week after, it’s time to shut it down (well, kinda). It’s been a long ride, full of learnings and really good vibes. But it’s been also a week of anxiety and technical challenges. And with lot of sadness, it’s time to say goodbye.
What? Am I crazy? Isn’t this really popular? Why am I throwing away this opportunity?
Let me explain.
Some numbers
Before going deep into this, let us share some numbers that will allow us to set the context of what happened with last week.
Users processed and costs
Total number of users processed: 212.552 users.
Total costs: 1.100 $.
Twitter mentions to my account or Abbreviame
My personal goal with abbrevia.me
If you don’t know me, let me introduce myself. I’m Jordi, Software developer / Engineering Manager, and my passion is developing useful software. That’s why this is not my first side project. I have done lots of side projects in my life. I remember my first side project when I was in college about a card game (called PcPocha). Today, 25 years later, I have worked in very different projects as escape rooms, voice assistants, card games, little video games (mainly for my nephews and nieces), and even projects that became businesses, as Karmacracy. I have my github full of repositories of side projects.
All these projects have given me different learnings, because they are my way of exploring new technologies, trying to do something useful and achieving impact.
Impact is what drives me the most.
I imagine my parents using what I do. I imagine my close friends using it, my partner. I imagine my nephews, my nieces… That’s what I look for when I do things. I try to explore what technology allow us to do, while obtaining real, useful results. That’s what impact means to me.
And in that context, abbrevia.me was born.
I’m not looking for money, nor popularity (although obtaining followers allow me to create more impact in the future). People is surprised when I explain them that I do not have further intentions with abbrevia.me. For me, the ride is over.
Do I consider the goal achieved?
Looking at the definition of what impact means to me, I definitively have.
Quantitatively, I can measure impact through the numbers shared earlier in this post.
If I measure qualitatively the result of the impact:
- Friends and families have used abbrevia.me. They found something I did useful. They provided me with feedback, and with their thoughts. My brother even told me I showed up in his news feed! I shared great moments with them in the joy of this creation.
- I have impacted other people showing (not just telling) how AI can help us to boldly go where no human has gone before. We have a new technology in our hands that allow us to do what we couldn’t do before. I only remember the irruption of mobile technology recently that had such impact.
- I have shared, and I’m continuously sharing, knowledge about this, transparently, which allows me to create impact inspiring other people.
- I have learnt a lot (new posts about this coming soon).
- I obtained some new followers that will allow me to create more impact in the future.
So, definitively, yes, I consider my personal goal achieved.
What does Abbreviame require, so we could keep it alive? Why don’t I leave it as it is?
Abbreviame, in its current state, is not scalable. It has some business and technical challenges that, in my current state, I’m not able to solve (and my goal has never been able to solve). Mainly:
Twitter Rate Limit
The more challenging technical issue nowadays is the twitter API rate limit. In order to get users’ tweet, I need to use the twitter API. This API can be only used 1500 times per 15 minutes. If you use it more than that, the API rejects the calls. That is why, currently, Abbreviame shows the “too many requests” alert so many times.
Having a service failing so many times, is something I really want to avoid, because it damages, somehow, my personal image. I receive a few messages of people telling me that “abbreviame is bullshit, it doesn’t work”, which I, emotionally, don’t know how to handle well. I prefer to close a service with this low level of reliability so I don’t receive these kind of messages.
Furthermore, there is, currently, no feasible way of avoiding this in the way Abbreviame has been designed. Twitter API is not designed to be used anonymously by a single app. So, to be able to create an scalable app with the Twitter API, I should redesign the way Abbreviame is used. For example:
- Requiring a twitter login, so the request is made behalf of the user (instead of anonymously).
- Creating a queue of requests and providing the response asynchronously, sending a message to the user once the request is processed, after a few minutes or hours.
Costs
The (no) business model is not sustainable. AI is still expensive for a service like this, trying to provide it free, sustained by ads. You have already heard me talking about the famous 0.005 $ — 0.006 $ per user requested. Ads would not have provided me with the funding required to support these daily costs. So, I would need to validate another new business model if I wanted to keep up a service like this.
Do not get me wrong. I am full of ideas of new possible business models based on Abbreviame; but I’m just not at the moment or time in my life to start developing them. I’m happy at my current job. And my priorities in life are somewhere else today.
OpenAI quota handling
One of the main issues that more anxiety has brought me these days was having OpenAI costs under control. What if these costs increased suddenly?
At the same time, OpenAI has a quota limit mechanism which was buggy. It happened two different bugs to me in this week:
- At one point, the money I was spending was not being updated, so I knew that the quota was exceeded, but it was not able to hit it, because my bill was not being updated.
- At some other point, I was requesting a quota upgrade, and, although they were not answering to me yet, my bill was beyond that limit, and the API was still working correctly.
All these issues, made me realize that I had to be on top of my OpenAI billing continuously, which increased my anxiety levels.
Attention
If you look into those mention numbers, you can see how many people share and talk about what I created. Those mentions usually come with petitions, request and they require attention. For a person used to very few notifications per day (from zero to ten daily, maybe), all this got out of hand.
So what now
I cannot deny that there is some pain in letting this go, but I think that my future me will appreciate this line of action. However, I think that the idea was liked so much, that I wanted to remain it alive a little bit more. How?
- I’m maintaining the application, but without using my OpenAI credentials. You can enter your own OpenAI API key. With that:
- People will use it less, so the twitter API rate limit will be controlled.
- People who want to try it, will be able to do it, just signing up in OpenAI (and using the free credit that OpenAI provides).
2. Here you can find the project’s open source repository, so that you can check how this project was developed (without the “secret sauce”, or the prompt). If you want to do something similar with that code, DM me for help; especially if you belong to an underrepresented group in technology. I might not answer, but if I have time, I am willing to help.
It’s obvious that Abbreviame will not have so many visits as it had until now, but maybe, through these actions, I still can provide the impact I want to, through this project.
Last words of thanks
I want to take opportunity of this post to appreciate all the warm congratulations, recognition and, even, money I had from all the community around this project, mainly from the Spanish software development community and Manfred (who supported the costs once the site went viral). Thank you very much. Having created an impact on you is what has motivated me during this whole week. Thank you very much for your kind love and support. Truly.
See you around,