# Building a Minimalist Twitter with Pake

> A simple tool for packaging web pages into lightweight Mac apps using Rust, built on Tauri. Currently supports WeChat Reading, Twitter, Yuque, RunCode, Witeboard, Flomo, Vercel, and more.

- Published: 2022-11-05
- Author: Tw93
- HTML: https://tw93.fun/en/2022-11-05/pake.html
- Chinese original: https://tw93.fun/2022-11-05/pake.md
- All posts: https://tw93.fun/en/posts.md

---

## Introducing Pake

<img src="https://cdn.tw93.fun/blog/upic/KgRONl.jpg" width=150 alt="Pake project logo"/>

**Open Source: <https://github.com/tw93/Pake>**

A simple tool for packaging web pages into lightweight Mac apps using Rust, built on Tauri. Currently supports WeChat Reading, Twitter, Yuque, RunCode, Witeboard, Flomo, Vercel, and more. The technical complexity is actually not high—just an attempt to use Rust for packaging web pages, an old idea in a new form. In fact, PWA/Electron is also very easy to use and convenient.

Pake is special because compared to traditional Electron packaging, it's nearly 40 times smaller, usually around 2MB. Additionally, due to the underlying Rust Tauri framework, the performance is lighter and faster than JS frameworks, with much lower memory usage. It also implements common shortcut key passthrough, container communication, style injection, immersive windows, drag support, simplified usage flow, and other optimizations. It's quite fun to play with. You can fork it and package whatever you like.

<img src="https://cdn.tw93.fun/blog/upic/U1VYEV.jpg" width=800 alt="Minimalist Twitter Mac client packaged with Pake"/>

Here I mainly introduce the "minimalist Twitter Mac client" I've been tinkering with recently using Pake.

## Minimalist Twitter

Using Pake combined with the open-source thomaswang/minimal-twitter style injection, it took about 1 hour to package a minimalist Twitter version that you might like. It's still only about 2MB. Compared with the official app, it looks much more comfortable. It removes the clutter and optimizes many OCD-triggering experiences. The results are below.

### Home

![Minimalist Twitter client home page](https://cdn.tw93.fun/blog/upic/JKQcHf.png)

### Detail Page

![Minimalist Twitter client detail page](https://cdn.tw93.fun/blog/upic/SET1Cf.png)

### Personal Homepage

![Minimalist Twitter client profile page](https://cdn.tw93.fun/blog/upic/eklvBB.png)

### Tweet

![Minimalist Twitter client tweet page](https://cdn.tw93.fun/blog/upic/eTOf07.png)

## Packaging Summary

<table>
    <tr>
        <td>WeRead</td>
        <td>Twitter</td>
    </tr>
    <tr>
        <td><img src="https://cdn.tw93.fun/blog/upic/ffUmdj.png" width=600 alt="WeRead app packaged with Pake"/></td>
        <td><img src="https://cdn.tw93.fun/blog/upic/L4HNQ6.png" width=600 alt="Twitter app packaged with Pake"/></td>
    </tr>
    <tr>
        <td>RunCode</td>
        <td>Witeboard</td>
    </tr>
    <tr>
        <td><img src="https://gw.alipayobjects.com/zos/k/qc/SCR-20221018-fmj.png" width=600 alt="RunCode app packaged with Pake"/></td>
        <td><img src="https://cdn.tw93.fun/blog/upic/o5QY4c.png" width=600 alt="Witeboard app packaged with Pake"/></td>
    </tr>
    <tr>
        <td>Flomo</td>
        <td>Yuque</td>
    </tr>
    <tr>
        <td><img src="https://cdn.tw93.fun/blog/upic/B49SAc.png" width=600 alt="Flomo app packaged with Pake"/></td>
        <td><img src="https://cdn.tw93.fun/blog/upic/mv9dvj.png" width=600 alt="Yuque app packaged with Pake"/></td>
    </tr>
</table>

## Finally

Pake was actually a small project I created unintentionally. At the time, I was used to reading WeChat Reading on Mac and found that there was only a web version, so I packaged one myself. Later, many people came to ask how to do it, so I put the code on GitHub. The code is actually very simple, but the idea of using Rust for packaging was relatively new. Many contributors later participated in its [development](https://github.com/tw93/Pake/issues/39). I wanted to make it more perfect and easier to use than [foreign paid Electron packaging tools](https://www.google.com/search?q=Turn+any+webpage+into+a+real+Mac+App), satisfying enthusiasts is enough.
