DEV Community

Cover image for CurateBot Devlog 0: Simple interface for curating and scheduling AI-generated tweets
Yuan Gao
Yuan Gao

Posted on • Updated on

CurateBot Devlog 0: Simple interface for curating and scheduling AI-generated tweets

What's this? A side-side project? Yeah, it happens.

What?

Recently I trained an AI on a bunch of tweets to generate new tweets in this style, some of which I hope to tweet using from a twitter account. It's your classic Twitter Bot.

The current manual workflow is this:

  1. Generate a lot of tweets using the AI which was previously trained
  2. Read these, and pick out the good ones to tweet
  3. Paste the tweet into TweetDeck, and give it a schedule

All in all, this is a lot of clicks and screen estate to do. I'd love for a more streamlined process. The way I envisage a more streamlined all is this:

  1. Generate the tweets, as before. But perhaps push them to a website via API (or upload exported JSON file)
  2. From a mobile friendly app, get shown each candidate tweet and let me easily swipe left or right to dismiss the candidate tweet, or to schedule it
  3. the bot automatically queues the tweet to be sent from the twitter account for me using some simple rules for times that I set up (e.g. at pre-destined or randomised times every day)

Why?

Mostly so I can more sustainably maintain multiple twitter bots.

But also to keep my JavaScript skills sharp, including my Vue skills which I haven't touched in a while.

And lastly because the scheduling aspect is shared with LGTM, so this is also a neat little standalone project where I get to try that out before using it with LGTM.

When

As per usual, this is a side project (actually a side-side-project) so I have to fit it alongside regular work, and I don't have a lot of time. However, due to the small scope of this project I hope to get it done within a three weeks, but we shall see.

How?

I have a stack in mind: my old friend Firebase. It'll look something like this:

  • Firebase Auth, for user accounts, as well as twitter oauth login
  • Firebase Firestore, as the serverless database to store the tweets)
  • Google Cloud Tasks for scheduling
  • Vue.js 2 (not 3 due to the below reason)
  • Vuetify for component framework as I don't want to deal with too much front-end. Unfortunately only supports Vue 2 for now

I'll describe this choice in the next post. I'll also be open-sourcing the project, the repo can be found here

Top comments (0)