Hi, I'm roseduan
I'm roseduan (call me rose), a technologist & product builder who loves tinkering.
From application development to infrastructure, and on into database internals — creator of the open-source projects rosedb and lotusdb, and a committer on Apache's top-level project Cloudberry.
Now an independent maker, building CodePie and InfoPie.
- Java
-
Go
- C
-
Rust
- ⭐Apache Committer
- 📚Independent Educator
- 💼Built CodePie & InfoPie
My Products
CodePie teaches you to build a KV store, SQL database, and AI coding agent from scratch, with runnable code and tests in every chapter; InfoPie aggregates daily news and papers across AI, LLMs, databases, and systems.
CodePie
Build Real Systems from Scratch
Build a KV store, a SQL database, and an AI coding agent with your own hands. Every chapter ships runnable code and tests, implemented across Go, Rust, Java, C++, TypeScript, and Python.
📚 4 course series · 🎓 1,000+ students · 🌐 multi-language implementations
- Education
- Systems
InfoPie
AI · LLM · Database · Systems Daily
A daily digest of news and papers on AI, LLMs, databases, and systems engineering — organized by topic, curated to include only high-value primary sources.
- Daily
- AI
- DB
A bit about me
I taught myself Java as a junior in college, then moved to Shanghai after graduation to work in tech. A year and a half in, I switched from Java to Go and from application development to infrastructure, eventually landing in databases and storage — and open-sourced my first project, rosedb.
To understand database internals more deeply, I picked up C and Rust. Over the past few years I've turned that experience into courses and a community, and stumbled onto something unexpected: technical influence can become its own independent second curve.
The Journey
- 2018 Junior year · Decided to self-teach
Bought a C programming book freshman year but studied on and off. By junior year, committed to systematically learning Java and job-hunting outside my major.
- 2019 Joined a company in Shanghai · First job
After a bumpy fall recruiting season, landed offers from two small Shanghai companies. Started as a Java backend developer right after graduation — a new city, starting from zero.
- 2020 Open-sourced rosedb on the side · Joined Bilibili
Learned Go outside of work, discovered Bitcask, LSM Trees, and B+ Trees, and decided to build rosedb myself — and passed the Bilibili interview along the way. Nobody paid attention to it at first; I kept going purely out of interest.
- 2021 rosedb hits 1k stars · Moved to distributed storage
Made a video series on Bilibili and gave a talk for Go Night Reading. rosedb passed 1k stars just 7 months after open-sourcing and hit GitHub Trending multiple times. Then transferred internally to distributed storage, working on a DB proxy and KV components.
- 2022 Created LotusDB · Moved to database internals
Open-sourced LotusDB (combining B+ Tree and LSM Tree), inspired by the SLM-DB paper. This was the year I decided to go deeper into low-level systems, and switched to a database internals team mid-2022.
- 2023 C / Rust · Apache Committer
Went deep into Postgres internals, learning C and Rust. Became an Apache Cloudberry committer and started turning years of learning into courses.
- 2024 — 2025 Community · Paid knowledge · Side income takes off
Grew a paid technical community past 2.5k members while continuously shipping paid courses. Side income went from sporadic to steady and predictable — "tech + writing + teaching" gradually became a path of my own.
- 2026 Going independent · CodePie / InfoPie
Started building my own products for real. CodePie turns years of hands-on experience into structured courses — KV, SQL, distributed systems, and AI agents, all built from scratch; InfoPie aggregates the best daily reads in AI and systems. First step from employee to independent developer.
"Stay hungry, stay foolish."
My Projects
Database internals · storage engines · distributed systems — the areas I've kept investing in since moving from application development to infrastructure. Below are open-source projects I've built and maintained by hand, spanning single-node KV stores, hybrid storage, and large-scale MPP databases across different layers of the storage and database stack.
-
Apache Cloudberry
C 1.2kAn open-source MPP database and Greenplum alternative — an Apache top-level incubating project. Deeply involved in query execution, parallel computing, and AI vector search modules — my main battlefield at work.
-
rosedb
Go 4.9kA lightweight, high-performance KV database built on the Bitcask storage model — append-only writes plus an in-memory index for fast startup and high write throughput. Hit GitHub Trending multiple times, and the project that started my move into databases.
-
lotusdb
Go 2.3kA hybrid storage engine combining the strengths of LSM Trees and B+ Trees — stable reads without sacrificing write throughput. Inspired by the SLM-DB paper, now at V2.0.
-
rust-practice
Rust 737A collection of hands-on Rust projects, from a Bitcask KV store to an in-memory database, learning by building. For anyone new to Rust who wants to skip toy projects and jump straight into real systems programming.
-
database-learning
Docs 474A recommended learning path for databases and storage — years of self-taught detours, papers, source code, and course recommendations distilled into a step-by-step learning map (in Chinese).
-
wal
Go 282A general-purpose Write-Ahead Log component with a three-tier Segment + Block + Chunk structure, append-only writes, and crash recovery support. Drop-in reusable by storage engines like LSM and Bitcask.
Recent Blog Posts
Database internals · systems engineering · my coding journey — all long-form writing lives on the blog (in Chinese).
-
May 2026
Building an AI Coding Agent From Scratch
Writing an AI coding agent from scratch in Python — tool use, the agent loop, system prompts, and context management, explained from first principles.
-
Feb 2025
rosedb Source Code Walkthrough 1 — Architecture Overview
The opening piece of an 8-part rosedb source code walkthrough series — starting from the architecture overview to explain this 4.8k-star Go KV database in depth.
-
Dec 2023
My Coding Story 8 — Database Internals
From application development all the way to database internals: the full journey of switching to the internals team, diving into Postgres source code, learning C and Rust, and becoming an Apache Cloudberry committer.
Hands-on Course
Build with CodePie
Build a KV store, a SQL database, and an AI coding agent with your own hands — runnable code and tests in every chapter, implemented across multiple languages, so you actually learn the systems underneath.
Visit CodePie