What Infrastructure And Frameworks Am I Using Automatic AI Podcast Generation Software?


For better or worse recently I started coding on a tool that will allow me to generate a new email that I can use for subscribing to email newsletters and anything sent to that email address will get compiled into a podcast I can listen to while working out.

In this post I am going to nerd out a bit on the various frameworks and infrastructure I chose to use.

Frameworks:

Serverless JS:

This is a nice little framework that makes writing and deploying lambda’s really easy.

Additionally I code it in a way where I could convert the whole thing into ExpressJS running on a docker container pretty quick incase I decided to migrate off of AWS Lambdas.

Express:

As I mentioned above I am using ExpressJS for local dev and to define the custom routes I am using, specifically for the rss feeds at the moment.

Apollo GQL:

For my API Interactions I am using GQL which is amazing for controlling what data you get back from the API and in what structure.

TypeGQL:

Since I am using typescript I jumped on the new 2.0 beta of type-graphql which makes it really easy to define my GQL schema.

Goodby TypeORM:

In previous projects like drawnby.ai I usedTypeORM but for this project since I decided to leverage DynamoDB I could not find a driver for TypeORM that fit my needs so I ended up coding up my own base service that handles all of that.

Infrastructure:

DynamoDB:

Since I already mentioned DynamoDB I will lead with that. I selected DynamoDB because it comes natively with Sharding and I can pay per request if I want keeping the price really low.

It also natively supports TTLs so old records for old emails and compiled podcast episodes can expire and save me money on the cost of storing them.

Lambda:

As mentioned earlier I am using AWS Lambda mainly because I don't have to pay anything for that when it is not in use. For Indi-Hacker/Hustler projects like this where I don’t have any predictable traffic patterns this will allow me to run the whole thing for crazy cheap while I test the waters to see if this product has gets traction.

APIGateway:

APIGateway handles all the web traffic and proxies it to the lambda. Like the lambda your charged pre-request so you are not paying when it is not in use.

SES:

For both ingesting and sending emails.

Kinesis:

It is never too early to implement Event Driven Architecture.

S3 / CloudFront:

This acts as a CDN primarily for the compiled podcast MP3s.

Conclusion:

Let me know if you have any questions on all of this, I am happy to go into more detail.

~Cheers

PS: If you are interested in engaging my services as a Web Application Architect check out my Group Coaching Program or 1 on 1 Consulting at schematical.com and check out my FREE eBook 20 Things You Can DoTo Save Money On Your Amazon Web Services Bill Today