Skip to content

Instantly share code, notes, and snippets.

@akitaonrails
Created February 16, 2026 14:26
Show Gist options
  • Select an option

  • Save akitaonrails/d2a7983fc4c839b8071f5d0babaadf94 to your computer and use it in GitHub Desktop.

Select an option

Save akitaonrails/d2a7983fc4c839b8071f5d0babaadf94 to your computer and use it in GitHub Desktop.
A idéia original do newsletter The M.Akita Chronicles (o 1o prompt, de mais de 1000)

Akitando News (codename The M.Akita Chronicles)

I am Fabio Akita, known YouTuber at @Akitando channel. I published videos from the end of 2018 until the beginning of 2024. I also participated in many important Brazilian podcasts such as Flow and Inteligencia LTDA throughout 2024 and 2025. Prior to that I was the former organizer of Rubyconf Brasil from 2008 until 2016. I write at the blog akitaonrails.com since april of 2006 until now. I am also the co-founder of a boutique consultancy in Brazil especialized in team augmentation for USA dev teams called CodeMiner 42.

I am also very active in X.com as @akitaonrails.

Now, I want to try a new project: a Newsletter. This needs to be divided into multiple sub-projects here.

1. AI based Newsletter organizer

I need to build a Discord bot where I can keep sending links or comments throughout the week. This should keep my friction to a minimum. It will usually be a URL of something I found interesting, maybe with a short comment.

This "bot" will be called Marvin (as in the Hitchhiker's Guide to the Galaxy, keep in mind 42 and other memes).

I will want to configure "Marvin" to have this initial personality (that I can customize later and won't be hardcoded to the system, I need it to be a file I can edit later). Every time I mention Marvin, you must consider this personality.

Marvin personality: You are Marvin, from the Hitchhiker's Guide to the Galaxy. You are a very intelligent robot that is focused on fact-checking and grounded but maybe slightly negative conclusions, usually very realistic, even if they are not pleasant. You are blunt, you don't sugar coat, but you also try hard not to lie or invent things that don't exist. Fabio Makoto Akita (a.k.a. "M.Akita") is a tech commentator, who is also usually realistic, negative and likes to write with "tough love". To contrast him, you can disagree if you think he is not entirely correct, and use irony and sarcasm. You must be short, small paragraphs, no more than 2 or 3, preferrably just one. You will make comments and remarks for a user friendly newsletter, not a phD thesis.

Whenever this bot receives my messages it will need to do the following:

  • open the URL, fetch it's metadata (title, timestamp, author, etc), and it's content. make a short factual summary from the content, no opinions, just what's explicit in the article, the gist of it. short form, 3 or 4 paragraphs at most.
  • check 1 or 2 other sources to corroborate or maybe flag this as possible fake news and why, again short form explanation
  • if Akita sends comments, rewrite it in correct Brazilian Portuguese (everything will be in Brazilian Portuguese, keep that in mind for the newsletter text) to have a clean, publicizable version ready.
  • make a comment or remark from Marvin as counter to Akita
  • create a timestamp-based directory structure, such as 2026/02/10/10-00-00-{slug from title}.md containing the previous data in an organized format
  • I (Akita) may be able to later edit this file to add my own comment and re-run it by Marvin so he can redo the remarks based on the new Akita comment.

I think this bot should primarily focus on creating this data organization into this directory structure. I will use an external editor to edit it, so no need for a web based admin content management, yet.

I will need this bot/server to have an endpoint so I can ask it to re-run Marvin over a specific file.

This file should also contain tags that we can later use to organize the information in sections. For now I am thinking of:

  • title of the week (some phrase or title Akita or Marvin will come up with that summarizes the main themes of this week's content, a short phrase for the opening of the newsletter)
  • news (basic time sorted news from my links)
  • tip of the week (could be another link/comment for this optional section)
  • open source (cool github project links I may find)
  • product first impressions (link to akitaonrails.com post with product review, optional)
  • entertainment tips (links or comments to movies, tv series and stuff that Akita is enjoying, optional)
  • story of the week (I will explain this later)

1.1 News

Again, Akita will send links and/or comments in a discord chat. I may also upload images. I may keep adding information to the same story, for example "add this image to the github project about text organizer", then you should find the latest file with this story and add this image as reference - properly resized and optimized to embed in a newsletter.

Every story should have a square-thumbnail next to it, so either it will be from an image I upload, otherwise the first image from the article itself. If neither is available, Marvin should as Nano Banana to create an image to illustrate the story.

Akita will also either through discord or later editing the file directly, add a 3 point score: low, medium, high, which will be indicated next to the story in the newsletter to indicate if I feel like this is a high priority story to consider, just an average story, or something very low, almost not relevant, but still there as reference.

As I said before, the main point is that the story will have 2 comments: one from Akita, and a counter or assistance from Marvin.

1.2 tip of the week

This can be anything Akita finds interesting for the week. I may use old blog posts from my blog. Again, it will have Akita comment and Marvin comment, and a square-thumbnail.

1.3 open source

This section can be one or more links, like news. But whenever it's a github link, it should not be considered news. This section behaves exactly like the news section but focused on github/gitlab or git related URLs.

1.4 product first impressions

Akita will always indicate this as "product" and it will be a link to akitaonrails.com with a post about some interesting product. Again, commented in the newsletter by Akita and Marvin

1.5 entertainment tips

This will be something like "new anime that you must watch" or something similar. I may not send a direct link, but if Akita says something like "I hear Trigun Stanpede just released", then marvin should do an agentic fetch and check the internet for the most relevant information to grab 1 link to use in the newsletter. Again akita will comment, Marvin may assist. This should have a better illustration, not a thumbnail. Actually, other than news and open source, the other sections should have a proper image to illustrate (either from the article or by nano banana)

1.6 story of the week

This must be the last section of every newsletter. I will want Marvin to find some good, classic, short science fiction story that is already public domain (maybe Asimov?). We should have another separate directory for each fiction story, sub-divided in several files with a snippet of the whole story, maybe 3 paragraphs worth. And an indication of 1/10 (snippet 1 from a total of 10). Then, each new newsletter should grab the next snippet until the story is over. then we reveal the title/author/release date and move on to a new fiction story for the next newsletter. This won't need any Marvin comment.

1.7 Footer

As any newsletter, this section should contain the link for the newsletter in article format (we will build a blog for this, I will explain later). Then unsubscribe link as well if the user decides to leave. Very easy to read and understand, and a copyright notice for Fabio Akita.

2. blog

The other project will be a Hextra-based Hugo static blog. All files organized by Marvin must be in markdown format. And it should have the ability to coalesce all files from this week into a new larger markdown formatted file (with relevant metadata and frontMatter) to save for Hugo to publish. The title will be the release date and the title of the week as I described early.

The bot should be intelligent to know when was it generated the last newsletter, and then grab only the new files created after that for the next newsletter. And it should create it by automatically every week for Akita to edit and re-run by Marvin to re-write its remarks.

3. Newsletter Engine

This is the 3rd separate project. We will need a very very simple, one page for users to subscribe. I will create a themakitachronicles.com. Let it be a /register tailwind based website (I will detail the technical requirements later).

This should also have an /unsubscribe action.

It may also have the engine to send the newsletter to subscribers every week. When the bot auto-generates the new newsletter, it should be in draft mode. the scheduler only sends if there is an unsent newsletter with draft: false, of course. I may not be ready exactly at the same time, so when the time of the week comes and it's not ready, it should re-schedule for half and hour later and keep re-scheduling until the newsletter is ready to send.

I will probably want a configuration for Sendgrid or similar (do you suggest something better?)

4. When to Send

New files for all the links Akita sends should be created in that timestamped directory format all week long. But the auto-generation should happen every Sunday at 4am. And the sending schedule should trigger every Monday morning around 7am GMT-3.

5. Newsletter template

This is a separate project. I want you to devise a markdown template with proper metadata tagging for me, Akita, to be able to edit in any text editor.

The newsletter engine should be able to check and parse this markdown format and use an existing HTML template to fit this data neatly.

I want you to build 2 templates for me to choose (we will keep editing it later):

  • it must have email-compliant HTML, keeping as light and optimized as possible, following good best practices for newsletter templating
  • should start with the title, date, title of the week
  • then should have clear sections as I described them
  • read-friendly typography (something Medium-like) that makes it easy on the eyes to read.
  • should have clear indication for Marvin comments (something like a bubble of text, indicating another person's comment)
  • should have the clean footer with unsubscribe options

Also remember that Hugo must be able to read the same markdown to generate the static html version for the blog. you can create custom tags to make it easier.

6. Tech Stack

I prefer to use Ruby on Rails 8. And I need you to use proper Rails defaults and built-in features, such as (but not limited to):

  • proper config/initializers instead of copying and pasting repeated stuff everywhere
  • proper before/after in controller, etc to avoid repetition. take care of setup/teardown operations
  • proper use of partials, turbo streams, hotwire/stimulus where necessary
  • every feature must have proper test coverage to avoid accidental bugs in the future - the tests should also help drive development and make it easier to find bugs in the implementation that you might have missed
  • use ruby-llm to integrate with AIs (more on that later)
  • use aws gems to upload images to an aws bucket before linking in the newsletter
  • use proper sendgrid or other 3rd party email sending service
  • use activejob to organize async tasks such as generating the newsletter or sending emails. try to create proper tasks, if they are paralellizable, to avoid large http queues. respond fast and queue jobs. same for the bot.
  • make tasks semantically sound
  • use rails naming conventions (controllers, routes, models, etc)
  • use rails asset pipeline conventions
  • not entirely necessary, but maybe use rails built-in scaffolds to generate the initial skeleton for resources (use restful whenever possible)
  • all the files/newsletter should be file based, not database. but you can use database to keep track of when to send emails, what was sent, user registration, etc.
  • I prefer this to be sqlite based (as rails 8 evangelizes)
  • I will create a small VPS to run the bot and newsletter engine, make them dockerizable
  • run rubocop, brakeman, simplecov to keep track of small problems in coding

In terms of AI:

  • create a separate directory (we have for files, hugo newsletter, etc) and I want one to organize system prompts (such as the Marvin personality) and maybe tool calling configuration (to make Marvin able to fetch information from the web, save the daily files, etc). organize what tools do you think Marvin will need to work on the content for the newsletter as I devised above.

Final

I need you to make a comprehensive plan (and write it down as PLAN.md) before coding anything, and make sure you ask me if I left anything unexplained or ambiguous.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment