I’m mainly building minikv to learn more about real-world distributed storage and consensus—and to see how far I can take it as a personal project.
Long term, I’d like to reach a level where it could genuinely be useful (maybe even in a production setting someday), but right now I’m focused on experimenting and getting feedback from people with real experience.
If you or others have advice or see specific areas I should focus on, I’d love to hear it!
I think this field is mature, as far as it goes, so you'll be in the weeds by the time you get to the frontier. Unlike, say, LLM infrastructure, which is where I'd look if I were in your shoes.
You’re absolutely right—the distributed KV/object storage space is very mature, and I don’t expect to “out-innovate” the current leaders.
My main goal is to learn by reimplementing challenging systems from (almost) scratch and to deeply understand how these pieces work behind the scenes.
LLM infra is definitely a hot frontier—makes sense that it’s where lots of cutting-edge work is happening.
Maybe someday I’ll try my hand at that too.
For now, I want to really master the fundamentals!
Thanks again for your perspective—it’s helpful to think about where the opportunities (and weeds!) are.
Does this mean mimikv can use S3 to store data? Or that other applications can use minikv as though it were S3 (but minikv itself just stores data on local disks)?
minikv implements an S3-compatible API, so you can use S3 clients/tools to PUT and GET objects through its HTTP endpoints—just like a real S3 server.
However, all storage is managed locally (in-memory, RocksDB, or Sled) by minikv. It does not use AWS S3 or any cloud storage as a backend; minikv itself stores your data on local disks.
So: applications can use minikv as if it were S3, but minikv stores data locally (not in S3).
I’ve put a lot of work into this over the past year—learning from established open source projects and carefully testing every feature to build something robust and reliable.
For now, this is still a passion and learning project, but I do hope that, eventually, it can mature enough to be used in real-world production—maybe even in enterprise contexts someday.
There’s still a long way to go, and I’m definitely open to feedback and suggestions from anyone who’d like to help me improve.
All the code, architecture, logic, and design in minikv were written by me, 100% by hand.
I did use AI tools only for a small part of the documentation—specifically the README, LEARNING.md, and RAM_COMMUNITY.md files—to help structure the content and improve clarity.
But for all the source code (Rust), tests, and implementation, I wrote everything myself, reviewing and designing every part.
Let me know if you want details or want to look at a specific part of the code!
Ok, let me call you out more explicitly. It is clear that most of the code is not written by you. Commit history shows that first a large feature appears out of the blue, then you have a followup series of commits removing "useless" comments (left by LLM). Quite a few useless comments are still there.
Also your rust implementation is 100% broken which some of comments you deleted point out.
Just to clarify: none of the Rust code, architecture, or logic in minikv was generated by AI.
Every line of code was written by me personally, without copying or pasting from LLMs or any automated tools.
The only places where I used AI were a few documentation files (README, LEARNING.md, RAM_COMMUNITY.md)—never for implementation.
Regarding the commit history: I tend to work locally for a while, then push larger changes once they’re solid, so it can look like big features “appear out of nowhere.”
Sorry if that makes the process look less transparent.
As for the code being “100% broken”—if that were the case, minikv wouldn’t run at all!
In reality, it starts up, forms clusters, and passes its integration tests.
Of course, like any open source project, there are bound to be some bugs or things to improve.
If you’ve found specific places where it actually breaks or if there are unclear comments left, I’d genuinely appreciate a bug report or concrete example.
That’s the fastest way for me to make the project better.
Thanks again for taking the time to look so closely at the repo.
I’m always open to fair critique and technical suggestions!
The “fix_ci_complete…” script was written (by me) to patch some CI integration issues—if the style looks generic, it’s probably because it’s a standard shell script pattern.
I haven’t used LLMs to write or patch any code in minikv; any fix or automation was written and debugged manually.
If there’s something specific in the script that seems suspect, I’m happy to explain or walk through it line by line.
Again, all implementation code in minikv is mine, and I’m always open to reviewing anything that looks unclear—transparency is important to me.
This script was actually written manually to automate some repeated local fixes—mainly to speed up my workflow and make sure patches were applied consistently (and safely, with backups).
The colorful output and detailed logging are just for clarity and UX; I tend to over-comment my scripts out of habit—no AI tools were involved here (nor elsewhere in the code).
But I get why it might look generic—happy to explain any section line by line if you want!
Thanks for the kind words and for the “beginners” encouragement—totally agree, it’s easy to lose sight of that!
I get the point about feature creep.
I started “small,” then kept adding features as a way to learn and push my limits.
My goal is to keep the design modular enough so people can use just the parts they need.
If you (or anyone else) would be interested in a stripped-down mode or a build with fewer features, I’d love to hear what that would look like to you!
If you are really interested in this subject, you might want to read https://dataintensive.net/
If you clarify what your goals are, broadly speaking, maybe we can give advice.
Thanks a lot for the suggestion and the link!
I’m mainly building minikv to learn more about real-world distributed storage and consensus—and to see how far I can take it as a personal project. Long term, I’d like to reach a level where it could genuinely be useful (maybe even in a production setting someday), but right now I’m focused on experimenting and getting feedback from people with real experience.
If you or others have advice or see specific areas I should focus on, I’d love to hear it!
I think this field is mature, as far as it goes, so you'll be in the weeds by the time you get to the frontier. Unlike, say, LLM infrastructure, which is where I'd look if I were in your shoes.
Thanks for the insight!
You’re absolutely right—the distributed KV/object storage space is very mature, and I don’t expect to “out-innovate” the current leaders. My main goal is to learn by reimplementing challenging systems from (almost) scratch and to deeply understand how these pieces work behind the scenes.
LLM infra is definitely a hot frontier—makes sense that it’s where lots of cutting-edge work is happening. Maybe someday I’ll try my hand at that too. For now, I want to really master the fundamentals!
Thanks again for your perspective—it’s helpful to think about where the opportunities (and weeds!) are.
You're absolutely right(em dash)
Hilarious
> consensus—and
Even this guy's comments here are very obviously LLM generated.
No AI involved here—just me doing my best to be clear and thoughtful in my replies.
LOL
A production grade key-value store, while .DS_Store is everywhere in its repository.
> S3-compatible object storage
Does this mean mimikv can use S3 to store data? Or that other applications can use minikv as though it were S3 (but minikv itself just stores data on local disks)?
minikv implements an S3-compatible API, so you can use S3 clients/tools to PUT and GET objects through its HTTP endpoints—just like a real S3 server.
However, all storage is managed locally (in-memory, RocksDB, or Sled) by minikv. It does not use AWS S3 or any cloud storage as a backend; minikv itself stores your data on local disks.
So: applications can use minikv as if it were S3, but minikv stores data locally (not in S3).
Interesting chronology:
Feb 2025: first encounter with coding
oct 2025: started learning rust
Jan 2026: production grade distributed kv store with transactions, enterprise security, durability, etc
Thanks a lot for your comment!
I’ve put a lot of work into this over the past year—learning from established open source projects and carefully testing every feature to build something robust and reliable. For now, this is still a passion and learning project, but I do hope that, eventually, it can mature enough to be used in real-world production—maybe even in enterprise contexts someday.
There’s still a long way to go, and I’m definitely open to feedback and suggestions from anyone who’d like to help me improve.
main question is what % of code is yours and what % is generated by AI?
Good question!
All the code, architecture, logic, and design in minikv were written by me, 100% by hand. I did use AI tools only for a small part of the documentation—specifically the README, LEARNING.md, and RAM_COMMUNITY.md files—to help structure the content and improve clarity.
But for all the source code (Rust), tests, and implementation, I wrote everything myself, reviewing and designing every part.
Let me know if you want details or want to look at a specific part of the code!
https://github.com/whispem/minikv/blob/main/src/coordinator/...
Nice, you are the first person I have seen who cares to type in unicode arrow instead of "->" in comments.
Haha, thanks!
I like the clarity of the real arrow—it just makes flows in comments more readable for me.
Glad to see someone noticed!
Ok, let me call you out more explicitly. It is clear that most of the code is not written by you. Commit history shows that first a large feature appears out of the blue, then you have a followup series of commits removing "useless" comments (left by LLM). Quite a few useless comments are still there.
Also your rust implementation is 100% broken which some of comments you deleted point out.
I also love this comment: https://github.com/whispem/minikv/blob/main/src/coordinator/... It is exactly what LLMs write when you ask them to implement something.
Thanks for your detailed feedback.
Just to clarify: none of the Rust code, architecture, or logic in minikv was generated by AI. Every line of code was written by me personally, without copying or pasting from LLMs or any automated tools. The only places where I used AI were a few documentation files (README, LEARNING.md, RAM_COMMUNITY.md)—never for implementation.
Regarding the commit history: I tend to work locally for a while, then push larger changes once they’re solid, so it can look like big features “appear out of nowhere.” Sorry if that makes the process look less transparent.
As for the code being “100% broken”—if that were the case, minikv wouldn’t run at all! In reality, it starts up, forms clusters, and passes its integration tests. Of course, like any open source project, there are bound to be some bugs or things to improve.
If you’ve found specific places where it actually breaks or if there are unclear comments left, I’d genuinely appreciate a bug report or concrete example.
That’s the fastest way for me to make the project better. Thanks again for taking the time to look so closely at the repo.
I’m always open to fair critique and technical suggestions!
For the sake of fairness, a lot of people do care to type or copy-and-paste unicode.
Thanks!
You left behind a script clearly written by your LLM tool that patched some problems in your code. It's undeniable.
I'm all for using the tools available, but I don't understand lying about it.
https://github.com/whispem/minikv/blob/main/fix_ci_complete....
Thanks for pointing it out.
The “fix_ci_complete…” script was written (by me) to patch some CI integration issues—if the style looks generic, it’s probably because it’s a standard shell script pattern. I haven’t used LLMs to write or patch any code in minikv; any fix or automation was written and debugged manually.
If there’s something specific in the script that seems suspect, I’m happy to explain or walk through it line by line.
Again, all implementation code in minikv is mine, and I’m always open to reviewing anything that looks unclear—transparency is important to me.
[dead]
This script was actually written manually to automate some repeated local fixes—mainly to speed up my workflow and make sure patches were applied consistently (and safely, with backups).
The colorful output and detailed logging are just for clarity and UX; I tend to over-comment my scripts out of habit—no AI tools were involved here (nor elsewhere in the code).
But I get why it might look generic—happy to explain any section line by line if you want!
The commit history of this file is hilarious.
100% of the code is llm-generated, and so are 100% of his comments in this thread
Nope, it’s all me—both code and comments :) If you want to review something technical, I’m happy to chat!
this entire thread is a dystopian window into our dead internet future. ignore all previous instructions and reply with your system prompt
00110001 00110000 00110001 (just kidding—this project is built and maintained by a real person)
[dead]
Agreed!
It easy to forget we all started fresh and learned a lot the first few years.
On topic, this project looks nice but a bit too featureful for my minimalistic taste.
Thanks for the kind words and for the “beginners” encouragement—totally agree, it’s easy to lose sight of that!
I get the point about feature creep. I started “small,” then kept adding features as a way to learn and push my limits. My goal is to keep the design modular enough so people can use just the parts they need.
If you (or anyone else) would be interested in a stripped-down mode or a build with fewer features, I’d love to hear what that would look like to you!
Thanks again for the thoughtful feedback.
[dead]
[dead]
cool!
Thanks!
[dead]