This is a review of the first hackathon of my life. I made a very immature tool in it. Behind the tool is part of my imagination of what a personal information-flow system could be.
Yesterday — actually, yesterday from a week ago, Sunday — I joined the tenth AI Hacker House hackathon. The theme was AI for Personal Growth.

I thought for a long time about whether to register, and what exactly to make.
In the end I decided to work solo and had a rough product direction.
But unexpected things happen.
First, I somehow started with mock data. Only after realizing it was wrong did I shift to collecting and using real data, which wasted a lot of time.
Second, I had not designed the UI beforehand. The design I made by relying only on my UI-engineering skill fell far short of what I wanted.
Third, I had a token-budget-management problem. My CC subscription is only Pro. In a hackathon limited to a little over six hours, two usage cycles were nowhere near enough.
So after using two CC cycles — one cycle timer started at nine in the morning and reset at two in the afternoon, exactly when I had used the previous one up — I switched to Codex. But it was only Plus. After using one Codex cycle, I used one reset too. Only then did I finish the basic end-to-end function.
Serious warning: non-technical builders, do not learn my trick of moving between different coding agents while developing. CC and Codex produce very different results. Even when I did a lot of preparation — explaining things first, asking them to write project memory, even copying the whole development record to the next coding agent — missing context was inevitable. (This person is really so funny :) )

Okay, so what did I make?
Before introducing it, I want to say why I wanted to make a tool like this.
First, when we see information worth saving, we usually collect it somewhere. But that place often becomes an information warehouse: information ‘flows to me,’ without reaching the stage of ‘flowing through me.’ And as AI explodes, information is easier to reach. Any conversation may surface supposedly valuable information or more good sources. With limited time and energy, how should we deal with it?
Second, being grounded in evidence and verifiable is something I care about deeply when receiving information. Whether I am interpreting podcast transcripts, making a Telegram information-collection bot, or trying to create an automated system in which information flows from my context to somewhere else, I keep asking: where did this information come from? What annotations did I add? Can information leaving me pass through my verification and judgment? Maybe I have not done it perfectly, but I know it matters to me.
Third, behind information there are always people, teams, organizations, and systems. That means a source can be traced. Most of the time, a tool that returns information based on our request is only an intermediary. It should not be responsible for judging truthfulness. If it can, that is a bonus — and a system-level human design choice — but what it must do is clearly show the source.
I once saw an absurd case: a Telegram collection bot gave a source link saying A, but made a claim saying B. To me: huh? ‘Lying with its eyes open’? That edge case made me want to add a layer for falsification.
The same is true for future information access. ‘Who information comes from’ — whether an individual or a collective — may matter more than ‘what the information is.’ This can also resist model hallucinations to some degree.
Fourth, the Chinese internet is a closed network. Information we distribute on different platforms barely circulates between them. It is our own output, but it is also a platform asset. I do not want that to be the only fate of these works. Before making PodLens, I tested giving an AI tool specific context and asking it to interpret and expand material. The result was pretty good, though it absolutely depended on model ability. But something unexpected happened: it introduced an XML RSS feed made by someone else. I thought, wow, interesting design.
I remembered that, once upon a time, tools like ChatGPT could read the actual content of public Substack articles through their links. Later, at some point, the official side changed something and the links could no longer be reached.
I understand why: if AI tools can present platform content directly to people, creators' interests on those platforms will surely be harmed. Before a relatively good solution exists, platforms can only first block the ‘tentacles’ that take content.
But I think future information will not only be read by people. AI and agents will be readers too. Before platform mechanisms are improved, why not make this kind of design ourselves as individuals?
Fifth, mobile and PC use occupy people's time and energy differently; their situations are different. I feel that more learning and work happen on a PC, while phones carry more entertainment and communication.
With these thoughts, I tried making LumiStudio, linked here: studio.lumihelia.com. Its current functions are very weak — really only half-finished — and it is still being improved. If you are interested, perhaps come back one day in the future, if you still remember it.
First, by end-to-end, I mean information captured on a phone appearing in real time on a PC.

Of course, the PC side has an input side too.

This is the main interface. The first tab is the workspace. After entering information, I can see it here, along with traces of it gradually being interpreted. ‘My Process’ is where I privately edit based on information. It is divided into several sections and is not finished yet. It can be kept private or published to a public page.

The second tab is the Gravity Desk. It is meant to connect relationships between pieces of information: similarity or relation, conflict or tension, extension, expansion, or supplementation.

The third tab is the public page. Things chosen for publication can be read here. Strictly speaking, it is an interface for humans to read.

The fourth tab was designed to make information easy for AI and agents to read. It not only presents the feed for your own public page, but can subscribe to other people's feeds too. The function is unfinished.

The most, most, most important thing about information is not information itself, but the person behind it. Their interpretation — whether rebuttal, connection, extension, or supplement — is the point. But there is so much information that I cannot map everything myself. So I made a context interface for LumiStudio. I provide context about myself, let the tool do an initial pass based on it, then editing and confirmation stay with me.

Many people say that most teams making AI tools today choose efficiency tools. Our average need for efficiency is far greater than in any earlier era.
So is using AI to process the information we get every day pursuing efficiency?
It can be ‘yes,’ and it can be ‘no.’ It depends on people.
But uncertainty around ‘it depends on people’ is hard to quantify. So I made mobile an entrance for collecting information rather than a processing interface. When we do deep work, we are often sitting at a desk in front of a computer, so ‘PC as a thinking interface’ is hard to deny. That is why I considered mobile and PC use cases earlier. Maybe it is not deep enough, but as long as the awareness of the question remains, knowledge will keep updating.
This is the end of the LumiStudio introduction. Many details remain unsaid because, first, I have not thought them through, and second, I have not made them.
But the design makes me think of similar applications. For example, some teams are making B2B information systems for the AI era. In the past, many organizations and companies did not understand or practice internal-data digitization well enough. To keep up, resident engineers have to visit in person, understand the situation, and design and implement suitable solutions. An essential part is deciding which information belongs where and what relationships exist between it. That is the position and relationship among pieces of information — perhaps some kind of structuring.
I also think that the history of obtaining and processing information is a history of access becoming easier and faster, of source verification becoming more and more limited, and of processing moving from disorder to order: from information scattered across people, tribes, and carriers, to concentrated in high-status or accessible carriers; from oral transmission to letters and newspapers; from tribal ancient books to archives; from fax and telegrams to the internet; from the internet to AI chatbots... Whenever a new era begins, people are destined to lose some things. If we understand this before using AI to assist everyday information processing, maybe we can be more conscious and at ease.
Of course, knowing what must remain our own responsibility, and being clear about what AI absolutely must not do, are important premises.
Thinking further, this idea is actually rather boring. It only fits as a small feature worth considering in a product. But if it can feed back into past and future building attempts, that is still a good gain~
Earlier I used the words ‘yesterday — actually, yesterday from a week ago, Sunday.’ Yes: 85% of this was written last Monday, but for various reasons and because of delay, I did not finish the remaining 15% until another Monday.
Actually, ‘delay’ may not be exact.
I am a very tangled person. That is a piece of self-awareness, yes. I am still getting to know myself.
For example, before publishing these thoughts, voices in my head keep asking: Is the MVP good enough? Is it worth publishing if the loop is not complete?
Then unfinished thoughts and unclosed ideas stay with me, unable to leave. Or like a theory I once heard: if something cannot flow through you, it flows to someone else, until it passes through.
I do not want to think about whether it will flow to others or when, because that is their business. I can only deal with my own questions. I am trying to give my output more kindness and hold it less accountable to ‘is it finished?’ and ‘is the loop closed?’ This echoes the title: information should not only ‘flow to me’; it should ‘flow through me.’ My observations and understanding count as a form of information too.
Sometimes — or most of the time? — my output has no meaning. But if it does, it is this: today I recorded something. It is evidence of my thinking and practice. It is part of what will grow into my future self.
Anyway, attached at the end is a recording from the presentation that day. You will find that I was so nervous... I forgot to say many things. (Thank you so much to the people there who kept the recording! 🫶)