pseudoyu

pseudoyu

Blockchain | Programming | Photography | Boyi
github
twitter
telegram
mastodon
bilibili
jike

Weekly Report #89 - Blog Redesign and TheWan App Release

Introduction#

weekly_review_89

This article is a record and reflection of life from 2025-03-25 to 2025-03-30.

The biggest change this week was redesigning my blog based on Antfu's open-source blog theme, adding some modules, and having a lot of fun with it; after two years of development and several moments of giving up, the iOS App TheWan has finally been released. It is still quite basic, and I am not satisfied with the UI design and details, but I have finally taken the first step; there are many interesting things as well.

Blog Redesign#

I am a blog tinkerer, having written more than a dozen articles on how to set up a Hugo blog and some related services (see “Weekly Report #68 - About Writing Blogs and the Colors of My Life”). Many friends have learned about my blog through these tutorials.

The website theme was one that I liked a lot, an old-school Taiwanese style, but it has not been maintained for four or five years (during which I have submitted a few PRs to add some modules, but ultimately still constrained by the Hugo framework). As the blog content increased and the forms I wanted to present and share became more diverse, it gradually could not meet my customization needs well.

However, because my blog's slug was in the format /zh/yy/mm/dd/:slug, and Remark42 matches based on the complete URL, migrating to a new theme/framework required a lot of extra processing and redirection, so it had been shelved for a while.

Recently, because I occasionally share some blog posts to my friend circle, many friends have given feedback that it loads slowly or does not load at all. Besides being deployed overseas, some material/performance issues of the blog have gradually become apparent, making it difficult to troubleshoot and resolve. Thus, I started to consider migration again, looked at some other frameworks, which were all quite similar, and I wasn't satisfied with them either. I didn't want to go through the hassle of rewriting one using Astro or something similar.

antfu_blog_os

I happened to come across Antfu's blog antfu.me, which is his custom framework theme. The performance is naturally excellent, the style is simple and beautiful, and it is feature-rich, including a photography display module that I have always wanted. It is the ideal blog for me, so after confirming authorization with him, I started the migration.

Blog Sections#

My previous website was positioned as a blog rather than a homepage, so it only displayed articles. I took this opportunity to redefine the sections, which now include the following modules:

Homepage#

pseudoyu_homepage_new

Homepage is my personal homepage, mainly showcasing a simple personal introduction, resume, and contact information across various platforms.

Blog#

pseudoyu_blog

Blog is my blog section, divided into two categories, Blog and Notes.

The Blog will mainly feature weekly reports and some more complete technical articles/tutorials, providing RSS output that can be subscribed to in RSS readers like {Folo}; while the Notes module may contain some scattered notes that are not substantial enough to form an article but still hold some value, available for viewing but not included in the RSS to avoid causing some interference.

Projects, Talks, and Podcasts#

pseudoyu_projects

Projects showcases my work, open-source projects, and some side projects. It is quite fulfilling to gather various projects I have worked on over the years.

However, I removed Antfu's TOC directory from this section; every time I look at his project page, I am amazed again, when will my projects be numerous enough to need a directory navigation?

pseudoyu_talks

Talks features some of my courses/talks. In the past two years, I have been quite enthusiastic about participating as a speaker in various online/offline sharing sessions, courses, and workshops, most of which are in collaboration with OpenBuild. I have organized some recordings, course materials, etc., and realized that I have accumulated quite a bit without even noticing.

I joked with a senior that perhaps the time I have spent sharing how to write Solidity this year has already exceeded the time I have actually spent writing Solidity, often feeling a vague sense of shame, anxiety, and impostor syndrome.

Especially now that AI Coding has developed to a relatively mature stage, application development is no longer a barrier, but the architecture and performance that truly serve depend more on the developer's own judgment. Therefore, this year I want to focus more on solidifying some foundational knowledge.

pseudoyu_podcasts

The Podcasts section is currently quite sparse, containing only an episode from a few years ago when I participated in a tech podcast festival. At that time, my thoughts and depth of sharing were quite limited, but I still enjoy the podcast format. This year, I will participate more and even try to create some myself.

Photos#

pseudoyu_photos

Photos is also a section I really like in the theme. I have always wanted to have a personal photography display module similar to Unplash on my personal website, which can motivate me to go out and take more photos. I have tried setting up some sub-sites using Ghost, but it always felt inconvenient. Now it can be directly integrated into the blog.

Let's Chat and Sponsors#

pseudoyu_chat

Let's Chat is a chat/consultation section. I occasionally receive inquiries via email or various platforms, usually resolving some blog setup issues or simply discussing some confusions about technical learning and growth. Recently, taking advantage of the blog redesign, I created a separate consultation page, which is a light consultation attempt.

pseudoyu_sponsor

All the Sponsors will be displayed on this page as a token of gratitude.

Friends#

pseudoyu_friends

I have also migrated the previously added friends' links page and welcome everyone to exchange links.

Blog Components#

Most of the pages are based on Antfu's already well-developed framework, with minor adjustments to the content. Apart from some personal pages, I made two main adjustments.

The first is that the OG image generation no longer uses the previous method of replacing text with SVG, but instead uses his recommended satori open-source project for dynamic generation, which offers higher style and flexibility.

Additionally, I integrated my previous Remark42 comment system with the GoatCounter analytics system while maintaining the original data.

I also discovered Netlify's very useful redirect feature, which allows me to automate the resolution of compatibility issues with some old links by simply adding a _redirects file in the directory, without needing to make other configurations at the DNS level, such as the following format:

/zh https://www.pseudoyu.com/posts 301!
/zh/about https://www.pseudoyu.com/about 301!
/zh/links https://www.pseudoyu.com/friends 301!

/en https://www.pseudoyu.com/posts 301
/en/* https://www.pseudoyu.com/zh/:splat 301

Thus, the service deployment is also hosted on Netlify, and it continues to automatically deploy every time I commit code.

About TheWan iOS App#

In the second half of 2022, I read an article by Reorx about n8n — “Using Automated Workflows to Aggregate Information Ingestion and Output”, and I was attracted by the concept of "cyberspace" he mentioned. I set up a Telegram channel — “Yu's Life”, which automatically syncs my article favorites, Douban records, Bilibili coins, YouTube/Spotify likes, and records from various platforms, aggregating my digital traces in cyberspace.

At that time, a fateful junior approached me, saying he wanted to create such an application together, where everyone could establish their own exclusive aggregation channel without having to deal with the cumbersome technical details of n8n, rsshub, and telegram bot. I was very interested, and we hit it off.

At first, I was quite confident and spent over a month creating a website and accompanying API and sync service, even writing detailed documentation, thinking it would be online by the Spring Festival. However, after the holiday, my personal life underwent significant changes; I changed jobs and moved back to Hangzhou, putting it on hold for a while. When I picked it up again, I had already lost that initial momentum.

In the following two years, the product neither perished nor managed to launch on schedule, with repeated delays. To convince myself to continue development, I treated it as a technical playground — writing the API service in Rust, the sync service in Go, and the product itself evolved from a web version to a native iOS App written in SwiftUI.

During this time, many interesting things happened. The product's backend sync uses {RSSHub}, and I never expected that I would become a maintainer of the project. Recently, I encountered a small issue with the sync and went upstream to fix it in one go; during this period, {Folo} was also born, which overlaps somewhat in functionality and caused me to lose a significant amount of motivation for the product.

However, I still feel somewhat guilty for the delays due to my own reasons towards my partners. So, during the rare gap between two weddings in Hangzhou and Inner Mongolia at the beginning of this year, I completed the development of a basic version. After nearly two weeks of battling with Apple for review, the app was finally launched on the App Store.

tujunjie_thewan

This morning, I shared the news with a reader friend who was one of the earliest to join the waitlist and with whom I have had quite a bit of communication. He said:

Unknowingly, my child is almost one year old, and you are married too. Time flies.

I mentioned on my blog a long time ago that I wanted to have my own product. It was only when I truly started working on it that I gradually realized that even a small app of just 1.1M is not easy to go from idea to final packaging and launch. But in any case, I have taken the first step. Looking back, the light boat has passed through thousands of mountains.

I welcome interested friends to search for "TheWan" in the App Store or click the download link to experience it.

Interesting Things and Items#

Inputs#

Although most interesting inputs will be automatically synced in the “Yu's Life” Telegram channel, I still selected a portion to list here, making it feel more like a newsletter. I also built a microblog using Telegram Channel messages as content sources — “daily.pseudoyu.com”, which makes browsing more convenient.

Favorites#

Articles#

Videos#

Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.