From Mining in China to Self-Taught AI: The Story Behind MyZubster
My Journey
I never followed a traditional path. I learned everything on my own.
My journey started with exploring the web beyond the surface – on Tor and .onion sites – where I truly understood what privacy and digital freedom mean.
I dove into Artificial Intelligence, learning to master chatbots and language models as tools to create, not just to consume. I experimented, failed, and tried again. I realized that technology is a tool – and those who master it can change things.
But I don't live by code alone.
I practice two sports with discipline:
- 🥊 Thai Boxing – for power, resilience, and a fighter's mindset
- 🤸 Calisthenics – for body control, functional strength, and freedom of movement
And when I'm not training or coding, I listen to tekno music – I follow Spiral Tribe, a group that represents freedom, underground culture, and independence.
The Idea Was Born in Sweden
The idea for MyZubster was born far from home.
I was in Sweden, working with developers scattered around the world, and managing remote mining operations in China. It was in that global context that I realized how complicated it was to accept Monero payments in a simple and private way.
Accepting Monero was unnecessarily complicated:
- ❌ Most payment processors don't support Monero
- ❌ Setting up subaddress generation required deep technical knowledge
- ❌ No ready-to-use marketplace solutions existed
So I started building my own solution.
What I Built: MyZubster
MyZubster is a self-hosted Monero payment gateway and skills marketplace ecosystem – 100% open source.
Core Features
1. Subaddress Generation
Every order gets a unique Monero subaddress for privacy and tracking:
javascript
async function generateSubaddress(label) {
const response = await fetch(`${MONERO_RPC_URL}/json_rpc`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
jsonrpc: '2.0',
id: '0',
method: 'create_address',
params: { account_index: 0, label: label }
})
});
const data = await response.json();
return data.result.address;
}







