Hello, fellow tech enthusiasts! Today, I'm excited to kick off a new blog series that will take you on a journey through the creation of my AI playground website. This website, residing at my subdomain https://ai.wchadjohnson.me, is a digital sandbox for me where I'll be experimenting with the capabilities of OpenAI's API. I decided to start with a basic website with one 'playground toy' that generates a story following the Gift Exchange game. This is a game my family plays at Christmas so I thought it would be fun to see if AI could help my family create a customized story to read.
Tools of the Trade: Setting the Stage
To turn this into reality, I am going with design and tools which has some tech I know and a few things I will need to learn.
Subdomain: I'll run this as a subdomain at ai.wchadjohnson.me to not co-mingle it with my blog site. Likely will use netlify again for the hosting platform.
OpenAI API: I'll be relying on the OpenAI API as the heart and soul of this AI playground. With its capabilities, I can bring a wide range of AI-powered features to the table.
User Auth & Usage Limits: To handle user authentication, I've opted for Clerk, which simplifies the authentication process and gives me a quick way to store user meta-data.To ensure fair usage and responsible AI usage, I'll be implementing limits on both per-user submissions and overall monthly site usage.
Simple UI: The user interface will be minimalistic and user-friendly. It's designed not only for the present but with an eye on the future to easily accommodate additional features and "toys." I plan to keep using Gatsby, React, and TypeScript as the core tech.
Serverless Functions: For server-side APIs, I plan to use Google Cloud Platform (GCP) and use Go as the programming language. This decision was driven by my desire to learn a bit ore on GCP and the basics of Go for implementing serverless APIs.
The Blog Series: What to Expect
In the coming blog posts of this series, I'll be diving into each of these aspects. You'll get an inside look at how I set up the system, used OpenAI's API, implemented user auth & usage limits, and implemented serverless functions.