How I made md
My first project with GPT-o1
As a software developer and AI enthusiast, I had been toying with the idea of building a simple, database-free blog for a while. The concept was to make something lightweight and easy to deploy on any shared hosting service, without the overhead of databases or complex configurations. When GPT-o1 was announced, I thought, "Why not build this project with the help of AI?"
Turns out, it was even easier than I imagined. GPT-o1 handled everything really well, guiding me through each step of building what would become md Blog—my simple blogging platform.
The first prompt
The idea for `md Blog` had been sitting in my mind for a while. Originally, I considered integrating it with GitHub Pages so that it could compile, build, and deploy automatically. However, that added complexity, and I wanted this project to be really simple—something anyone could grab, modify, and upload to the cheapest hosting available, without any deep technical knowledge. I decided to toss the idea of using GitHub Pages and instead make it purely PHP-based with Markdown support.
That’s when I turned to GPT-o1 for help.
My first prompt was straightforward: "Help me make a really simple blog system in PHP." I outlined the key features:
- A rendering engine that reads markdown files and displays them as blog posts.
- Support for theming with custom CSS.
- Automatic sitemap generation for SEO.
- Markdown support with simple image handling.
- "How do I render markdown with images injected from a `/content/` folder?"
- "Can you help me optimize the layout so it looks more like a modern blog?"
- How to correctly handle dynamic image paths by injecting `/content/` into image URLs from the Markdown files.
- Creating clean, responsive CSS that centers the blog content and enhances readability.
GPT-o1 was quick to provide me with a solid structure, suggesting how to organize the files, parse Markdown, and handle templates.
Fine-tuning with smart prompting
From there, it was all about iterative development. I kept feeding GPT-o1 smaller, targeted prompts like:
These prompts allowed me to refine the system without overloading GPT-o1 with too much information at once. One of the key techniques I found useful was starting with broad prompts for architectural decisions and then diving into specific, technical prompts to fine-tune the code and design. GPT-o1 was excellent at suggesting improvements to the initial design, like:
A simple but powerful theme
The first version of the theme was basic, and I wasn’t too happy with how it looked. So I asked GPT-o1 to help me redesign it to resemble an actual blog, not something stuck on the left side of the screen. Together, we created a cleaner, modern look with centered content, better typography, and responsive design.
Real-time debugging with GPT-o1
Throughout the development process, I ran into the usual bugs. One of the more frustrating ones involved Markdown rendering, where the parser was breaking on image URLs. GPT-o1 helped debug this by pointing out that I was using the wrong function for processing Markdown with callbacks. Switching from `pregreplace()` to `pregreplace_callback()` resolved the issue.
These kinds of small insights were invaluable, and they showed me how GPT-o1 excels in collaborative coding. It was like having a second pair of eyes constantly reviewing and suggesting improvements.
A minor hiccup: The ratelimit
One downside I encountered was that GPT-o1 was in preview mode, which meant I got rate-limited fairly quickly. After about 20 messages, I hit the limit and was locked out for 72 hours. This was a bit of a setback, especially since I’m a ChatGPT Pro customer, but I understand that on release day, demand was high.
Still, it was frustrating. When GPT-4 was released, the ratelimit was about 25 messages per four hours, which was manageable. But this time, 20 messages for three days was pretty harsh. Hopefully, this will improve once the model becomes more widely available.
Final thoughts
Despite the rate-limit hiccup, the process of building md Blog with GPT-o1 was a fantastic experience. The system now reads Markdown files, injects images properly, has customizable themes, and even generates a sitemap for SEO. The result is a blog platform that is easy to set up, lightweight, and requires zero database management.
And all of this was possible thanks to smart prompting and collaborative problem-solving with GPT-o1. I can't wait to continue developing this project and see where it goes next.
... to be continued once I'm off the ratelimit! 😅