 Well, sorry for the technical difficulties, but things are fine just now. So perhaps, it's really my honor to be here and my name is Yifan and you can see my Github ID doodle wings and I'm the co-founder of Affine. I built, created this editor and I'm currently leading the team building this web front So, and before joining Affine, I have spent years working on things like risk test editing, graphics editing, real-time collaboration, things like that. And today's also my first time working, joining Affine is my first time working fully open source, but things just kind of fine for me. Things, before this, I also have some experience embracing the open source communities. And well, today is also my first time having an English talk offline, but I think things should be fine. Things, our product, Affine is, the offline talk here should be fine because our product is an offline first product. So, anyway. So, and perhaps before we get started, we can have a very quick look of what we are building, which means what Affine is. You can see this is our client. You can see we have all different versions by Affine. So basically, a knowledge base and you can check out Affine.pro as our landing page. And basically, it could provide an all-in-one editing experience. Things like, it just looks like you are doing some basic lockdown editing steps, but when you click on the whiteboard modes, the content automatically shifted into a whiteboard. And you can think about we are kind of an open source alternative to big products like Notion or the Miro whiteboard or the Monday for the task management. We build some things into it. And the core stuff of our technology is that all of the content, the models you are seeing here is collaborative by default, but you also own your data, which means that the network for us is optional. And it switches not a very easy goal because when you are using a web app, the data is on the server, but it's, well, that's really another big topic, and we won't dive into too much technical details today. So it really feels good to have using our own products to show this presentation. And so today, perhaps it's more about some basic stories of what brings us here. And perhaps this is the page about how we have the code start. And if something deserves to be highlighted, I want to quote that you just don't need to wait for everything to be ready because the first prototype of a file was very different from what you can see now. You can see this live demo and it was a web page. And you can also switch between different modes, the paper mode, the address mode, and there are some features that are never been done perhaps a year ago. And it took about four months of development to build that prototype, but it has pretty much stability issues. But it simply could work and can serve as an interactive prototype, but almost, oh, just with that degree of completeness, it has gained 10k stars within 40 days on GitHub. And also the number one in GitHub trending that month and with zero paid promotion. So that's something that the team is very proud of. So when we look back from the starting of the file project, I can see that people are really buying some points. Because, for example, the most sensible features at that moment is that we unifies the documents and the whiteboards. And you can see from that prototype to the current version that this is kept and this pretty much brings the novelty and that really matters. And another point is that the community really have a very high tolerance to open source products. And although you maybe have some architectural issues or things like that, but they are really permissive and there are some people that just keep on trying new things. They will give you very positive feedback and that makes a lot to the team at that moment. But we want just doing something that is not going to be production ready. So we are not just willing to ship a toy. So the next part of our story is about to build a production ready product. So the point at the moment is that you need to be more user-centric rather than the so-called investor-centric. But having that demo is already good for having completed a new round. And anyway, the point is that at that moment, the previous demo, you will see that for the official team at the moment, the bugs are not converging, which means that once you fix one bug, it may bring two new bugs. And that makes it perhaps forever could not be reached a stable state. So if you find that the project has these tendencies, a time it will write is necessary. And that was the time I joined the team and started to build a project that is what you can see today. So that story has the strategy that we doing things by step. For every step, we ship usable subsets at every major release. The first stage of the refactoring only produces a pure markdown editor, no extra UI widgets or things like that, just markdown editing. But things could work. And that is the moment that we enforce our team into dogfooding. And we were really using it. And this brings out to the positive feedback loop. And so for the second stage, we built the UI for things like this. You can see this is calling this dash menu and you can all this kind of the widgets. You can drag things into and to insert them. And this UI started for the second stage. And for the final stage, not the final, but the next stage, we added the previously complex content. For example, you can have the table view. And it can be used as a multi-divisional table that could serve as a spreadsheet. And the whiteboard is also polished. And so when we look back, you can see that is how we break things into some different progressive goals. And using the dogfooding to help building the quality better. So at this moment, the team's responsibility is not only about to deliver new features, but every member have some code, a subsystem or modules to be responsible. And he will try to check the issues that makes the quality better. So the next part of our story is that on the way, on the journey, we will build a fine. We want to make our work scale. And it means that we need to hire the better people that could tackle the more complex system design in the editors. And that is the point that we found that open source really shines. You can see that there are some community people that are just interested in the ideas you proposed and they volunteer in contributing into our products. And that was the way we built the sponsor relationship to some of our community contributors. And also in another way, having a product with good traction and momentum is also persuasive when you are trying to reach out some brilliant community peoples. And this also brings positive feedback for our story. And another part of how we run our project is that we, after some different choices, we finally still choose using the Github as the single source of truth for processing all the development engineering affairs. So the good news is that you can have a more truly building public style that can let outsiders engage. You can, for example, if you can check out our Github project, and the first view will be the help wanted. And we will tag some, perhaps some are good for beginners issues and some of us are open modules for anyone who is interested to further design. And each of our members are responsible for some of our core modules. And this just works. And it also brings comparable matrices, which I could simply share here as the ratio between the issues you open and close. The more issues they are on the backlog, perhaps that means that there are more issues that are not got properly maintained or since they're lagged. So we are trying our best to lower the ratios and just to lower the entropy, I think. So a very brief introduction of the commercialization with the open source is that we are actually using the so-called open core model and which could be mutual beneficial for community and commercialization. Since the open source approach really offers the initial exposure, since the Github has great traffic for very interested developers. It serves kind of like proto-humps for many developers. And in our case, it also offers much lower trial barriers. For example, you can easily try out our web version. If you are interested in our product, you can click the try demo online. And if you visited our repository, you can easily find out a Docker image to build it into your, to integrate into your environment. And so this makes these things a lot easier. And we can also build a much more open ecosystem. For example, you can see that some of our competitors kind of notion they are using a closed ecosystem. You can't have plugins or things like that. And that is in our plan to help with that. And on the other hand, you can see the SAS version is well, coming soon. And in our plan, it could help us to bring the sustainable income and things we are having doing actually the SAS business at the moment. And so, but I think there could be another further step that in our plan, which is that for the year of development, we have tackled tons of problems in things like text-read test editing and real-time collaboration and things like that. Some very complicated technical challenges and some pretty much often are pretty general purpose. So in our mindset, we believe that building collaborative applications shouldn't require this much effort to reinvent the wheels. So that's why we also open-sourced the infrastructure, the general purpose infrastructure that we built behind Affine. The one is that I'm in charge of is the Block Suite. And it's both the editor in Affine and our front-end collaboration framework. And the other project is Octobase, which is in charge of Brooklyn. He will speak briefly later. And it's our back-end structure. Well, they're not pretty much ready to open for the very public reusing because we are currently prioritized supporting Affine. But we are very willing to offer developer a much better experience into building the collaboration applications for the next generation. So that's pretty much for my talk. And thanks for listening. Did you have the QR code for the Q&A? Sure. I think I have a comment. I mean, I think about if there are some questions. But otherwise, if anyone has a question in person, feel free to ask it now while we switch over. Thank you.