Hey folks — welcome back!
It’s been one of those weeks again… you know the kind — the “Oh No” screen kept popping up like an annoying ghost, and it started haunting me in my sleep 😅. So… I finally did something about it.
I replace it with this one:
I'm giving up, closing down shop and move on 🤣.
Just kidding move it over to a other domain later more about that in this post.
Want to directly go there:
👉 https://land.spl-stats.com
This is a new domain so let me know if you experiencing any problems!
🙌 Liking the tools? Show Some Free Support 😍
I want to keep these tools free and accessible for everyone — and you can help out without spending a dime:
- ✅ Upvote this post — it keeps the motivation flowing!
- 🗳️ Vote for my SPS validator 👉 Vote for My SPS Validator Node here
Every bit of support helps — thank you! 🙏
➕ New Features
Not much in this drop (you’ll see why in a sec 🤯), but here’s what’s new:
📊 Formula Explanations
Added tooltips and breakdowns on the LCE/LPE/LDE page. Thanks for the suggestion @thejedo 👏.
💡 Land DEC Efficiency (by @azircon)
Added a new metric based on Azircon’s excellent write-up:
👉 Land Efficiency: The Good, The Bad, and The Ugly
🏆 Leaderboard? Sure, Why Not! (last minute action)
After crunching all those ratios and ranks, I always had the idea in the back of my mind to eventually build a leaderboard overview… someday. 😅
Well — turns out someday was yesterday evening (for me), when @azircon casually dropped a message asking,
"Hey, can we get a leaderboard?"
And I thought — what the heck, that shouldn’t be too hard, right?
One hour later, it was live on the site! 💪
While testing it, Azircon also noticed a bug in the DEC calculation. Good catch! That’s been fixed too.
Just for the record: taxes were previously applied after the DEC/hr calculation, which could offset the value by up to 10%. That’s now corrected.
So yeah, leaderboard’s up — enjoy! 🚀
You can also compare players easy with the filters:
🚪 New Domain
After fighting with free-tier hell on half the internet, I decided to pack my bags and move the whole thing to a new home:
I gave Supabase, Koyeb, Neon, and Render a fair shot — but each came with limitations: storage, rate limits, or surprise quota bombs. Each one took at least a day to test and… fail. 🥲
So here's where I tried:
🧰 Tech Upgrade
To avoid all that, I decided to Dockerize the whole thing. Now anyone can run it locally or deploy it anywhere — from your dusty old laptop to AWS/GCP/Azure.
There are three Docker images:
- 💼 Posgres DB
- 🐍 splinter-lands — Python (Streamlit frontend)
- 🌐 splinter-lands-next — Next.js + Prisma backend
Docker images are available here:
- https://hub.docker.com/r/gamerbeaker/splinter-lands/tags
- https://hub.docker.com/r/gamerbeaker/splinter-lands-next/tags
🐳 Want to run it locally?
You’ll need:
Docker Desktop: https://www.docker.com/products/docker-desktop/
3 files: docker-compose.yml, .env, and secrets.toml
Example:
# docker-compose.yml
services:
db:
container_name: db
image: postgres:17
restart: always
environment:
POSTGRES_USER: <define your own user>
POSTGRES_PASSWORD: <define your own password>
POSTGRES_DB: spl
ports:
- "5432:5432"
volumes:
- spl_db_data_local:/var/lib/postgresql/data
spl-next:
container_name: spl-next
image: gamerbeaker/splinter-lands-next:latest
depends_on:
- db
env_file: .env
volumes:
- ./cron.log:/var/log/cron.log
ports:
- "3000:3000"
spl-py:
container_name: spl-py
image: gamerbeaker/splinter-lands:v1.0.0
depends_on:
- db
- spl-next
volumes:
- ./secrets.toml:/app/.streamlit/secrets.toml
ports:
- "8501:8501"
environment:
- PYTHONUNBUFFERED=1
volumes:
spl_db_data_local:
.env:
NODE_ENV=production
DATABASE_URL=postgresql://<your username>:<your password>@db:5432/spl
secrets.toml:
[database]
url = "postgresql://<your username>:<your password>@db:5432/spl"
Once ready, run:
docker compose pull
docker compose up -d
Initial data gets injected daily at 1AM UTC, but you can also manually run:
docker ps
docker exec -it spl-next /bin/sh
cd /app
npm run data:inject
Access the app:
- Python UI: http://localhost:8501
- Next.js (Not much here yet only some experiments for myself): http://localhost:3000
Some sneak peaks:
🧠 The Tech Learning Journey
So why only a few features?
Because I’ve been deep in the weeds learning new stuff:
- 🧱 React / Next.js — structure, API routes, optimization
- 🧬 Prisma — DB modeling + migrations
- 🎨 Tailwind CSS + DaisyUI — styling from scratch
- 📊 Nivo & Plotly — charting for the modern web
Still figuring out things like:
- Single large DB fetch vs many smaller queries
- Caching vs real-time updates
- Filtering client-side vs server-side
Python? I got that.
JavaScript/TS/React? Still fumbling, but getting there. Learning like this burns brain cells but also feels like a level-up 🧠⚡
📁 GitHub Repos
Want to peek under the hood?
- 🔗 Python: https://github.com/gamerbeaker007/splinter-lands
- 🔗 Next.js: https://github.com/gamerbeaker007/splinter-lands-next
Feel free to PR, suggest improvements, or even just send me a “WTF is this” reaction — I’m still new to TypeScript, so be gentle 😅
🙌 How You Can Support
I’d love to keep the tool free for everyone. You can help — totally free:
- ✅ Upvote this post to keep me motivated!
- 🗳️ Vote for my validator to fund future dev time
👉 Vote for My SPS Validator Node
⚠️ Final Note
This is a hobby project — built late at night with ☕ and a half-broken brain. If things break, be chill and ping me. I’ll fix it eventually 😅
This is fantastic mate, it will encourage more players to start exploring land and making it work.
For the reader! This is standard feature with beaker :) :)
With python 🤣.... New stack its really harder, hope with enough practice and enough failure i will get there
Very cool, I should get this land stuff into my local Docker as well. Maybe then I will finally get into this land stuff.
🤣 if this will push you more into using land in splinterlands, not the game itself 🤣
Well, half of this post is abracadabra to me, but you're busy with it man, thanks for all your hard work for the community, as always I'm voting on your posts 👍
Thanks, much appreciated... some of the new stuff is also for me abracadabra 🤣
Amazing piece of code, i donwloaded it from github as i am interested to learn the 'spreadsheets' you use and the website implementation through python, now only if i had time :-)
Btw, i voted for your validator, you really deserve it!
Thanks, mate! I really appreciate the vote—it means a lot. 😄
And yeah, if only there were a few more hours in the day! 🤣
If you have any questions about the code or how it all fits together, feel free to reach out anytime!
This is SICK bro!! ABSOLUTELY SICK!!! YOU MAD LAD!!!
YOU'RE A GENIUS!!!
Anyways - bravo my friend, this is great work!!
You earned every upvote, reblog, digital high five and everything else you're going to receive for this!!
Also - check out these "Post Streamline Stats":
Next goal: 200 DEC/hr!!!! Guess I need to win the lottery to afford all the Workers I'll need lol
Thanks, great to see you like the updates 😍.
Rank/Ratio and leaderboard make some stuff easier to understand where you stand compared to the whole community
I also want to strike a jackpot somewhere, to dive even deeper into splinterlands.
I just realized - are you not in "Land Barons" Discord?
That is correct my friend.... But working hard on the 😅
A few more posts like these and you'll earn enough to be in there pronto and keep your KE well under 2!
Well that is part of the plan keep rolling the HBD into splinterlands and at the moment on land.
keep the good work up
Thanks mate!
Hello
Hallo,👋
Thanks for sharing! - @azircon

Delegate Tokens and HP to Fallen Angels to earn weekly rewards!
Delegate | Join to the guild