Skip to content

Corrections

Uncovering the quirks and capabilities of ChatGPT using Ruby on Rails.

6 min read
Corrections
robot, cat, machine, cleaning itself, fur, metal parts
🦉
Before Growth is a weekly column about startups and their builders prior to product–market fit.

I’ve been working on a new Ruby on Rails application called Changepack. It serves as an open-source changelog for your product, allowing you to share updates about new features with your customers and keep them informed. I’ve been experimenting with some intriguing approaches while working on it.

Changepack utilizes OpenAI’s APIs to harness the power of ChatGPT, helping you draft changelogs without lifting a finger. Given its open-source nature, you’re welcome to take a peek at the prompts I’m using right here. They’re a result of a blend of trial and error, and learning from what others have shared or discovered via prompt injection attacks on popular chatbots like Bing or GitHub Copilot.

One fascinating discovery was when I tried to make ChatGPT consistently spit out changelogs in HTML, but to no avail. Sometimes it would give me Markdown, and other times, the results wouldn’t have any formatting. Despite trying multiple variations, I just couldn’t pin it down. Admitting defeat, I turned to ChatGPT to fix its own prompt. To my surprise, it rewrote it… and it worked. Consistently. I suppose it explained to itself what to do in a way it could comprehend, which I still find amusing.

As I mentioned in my piece on self-reviewing agents, I’ll be adding two personas to Changepack in the near future. The first persona, the writer, will sift through all the activities your company has undertaken over the past month, choosing relevant updates and crafting blog posts about them. The second persona, the reader, will be given information about your intended audience and potential customers. Its job will be to ensure that the text produced by the writer resonates with them.

Moving forward, I’m considering exploring the feasibility of fine-tuning my own model based on the open-source solutions out there, just to get a deeper understanding of the current cutting-edge tech in natural language processing. At the moment, I feel somewhat rooted in the tech that was around from 2015 to 2017.


Here are some more interesting things I did with Changepack, beyond just prompt engineering.

Domain-Driven Design

Domain modeling is key in building applications that are not only adaptable and efficient, but also a breeze to maintain. Changepack is leveraging a domain modeling strategy that melds the best of Rails practices with innovative techniques from Domain-Driven Design,resulting in a sturdy and flexible architecture.


Related posts

Introducing Lammy

An LLM library for Ruby

Introducing Lammy

From Zero to Product with Generative AI

My new ebook offers case studies and just enough theory for you to build your next app with gen AI.

From Zero to Product with Generative AI

Flavors of Ruby on Rails Architectures

I gave this talk at the SF Bay Area Ruby meetup on Sep 3rd, 2024, at GitHub HQ in San Francisco.

Flavors of Ruby on Rails Architectures