Indie Log #0
6/14/2024
Who am I?
My name is HyeongJin Lee, a 23-year-old from South Korea.
I remember falling in love with programming back in high school. It's funny how keeping that spark alive can be quite a journey. Before getting into college, I dreamed of building a successful company like Mark Zuckerberg did with Facebook. But the reality was a bit different. I wasn't that smart, always-on-the-move kind of person. Instead, being a quiet, laid-back perfectionist, I found it hard to confidently showcase my creations. The passion, well, it faded a bit over time.
Recently, I discovered a group of people who run their own businesses independently, known as indie hackers. This concept excited me, as I felt it was a perfect fit for me. So, I decided to become an indie hacker. (but only for a year, the rest of my college days 🫠)
How can I become the indie hacker?
Even though I'm not an expert, I'm capable of creating a product by myself, which might already make me one in a way. However, I'm lacking in some areas. For instance, I struggle with self-promotion and don't typically post on social media or within the community.
To overcome these shortcomings, I need to step out of my comfort zone. This includes actively engaging with the community, sharing my work, and seeking feedback. I also need to learn about marketing and sales in order to sell my product effectively.
What should I make?
Lately, I've been interested in writing but have been having trouble with my blog.
Writing isn't difficult as you can jot down anything on paper or note apps. Publishing also isn't challenging, with platforms like Wordpress and Medium. Alternatively, you can code your own stuff.
I prefer to code my own blog. For someone like me, managing content can sometimes be a hassle. My usual process involves writing a markdown file and then npm run build
to update the content. Despite this automated process, I somewhat felt uncomfortable.
I hate Markdown.
I love writing in Notion. So I had to export the Notion content into a markdown file, copy and paste it into the workspace, and then git commit
... I searched for services that allow publishing content directly from Notion. Unfortunately, I didn't find many attractive options, so I think I'm going to make one.
The main feature I want is the ability to write in Notion and have it automatically publish to my blog. To make this possible, the process needs to retrieve data from Notion, detect any changes, and trigger updates to the blog. That’s all.
I believe that building this product will not only solve my problem but also be beneficial for many others who want an easier way to publish their content from Notion. So, there it is, Writeflow, my first indie hacker project - a publishing tool that works seamlessly with Notion.
Simple design
Let me explain how I managed my blog.
- Write content in Notion.
- Export it as a markdown file.
- Paste it into my blog folder.
- Modify the file to adjust metadata.
- Run
npm build
to convert md to html. - Deploy it.
- It appears!
Not that bad! 🤥 I guess most people may use some method not too different from it. Let's simplify the process.
- Write it in Notion.
- Set the content metadata.
- It appears!
How can we make it possible?
Managing content in the Notion database
Notion's powerful database functionality makes it easy to manage and organize content.
Notion API → Markdown
Notion provides APIs for developers. Thus, it is possible to generate markdown files from it. Then, the Writeflow server can retrieve data from Notion, convert it, store it, and deliver content to users via API.
A little bit of changes to your codebase
If you're using Next.js or Astro for your blog, you're probably rendering Markdown in getStaticPaths
for static websites. All you need to do is replace the code that fetches the files.
Astro example: https://docs.astro.build/en/guides/cms
Other cool features…
I have several ideas to simplify the process of configuring contentful websites for users. These include serving optimized images, RSS feeds, and OG images, among others. However, despite these promising concepts, my current focus is on the primary issue at hand. Therefore, implementing all these ideas may take some time.
Build a MVP
to be continued… 🔥