DEV Community

Daniel Ioni
Daniel Ioni

Posted on

πŸš€ MyZubster – Updates, Roadmap, and Community Q&A

πŸš€ MyZubster – Updates, Roadmap, and Community Q&A

A summary of project progress and technical discussions with the DEV community.
πŸ“Œ Introduction

Over the past few days, MyZubster has received valuable attention and feedback from the DEV community. In particular, Luis Cruz raised thoughtful questions about the architecture, roadmap, and AI integration – pushing me to think deeper about some design decisions.

In this post, I'll summarize:

The complete roadmap of MyZubster

Answers to community questions

The current state of the project

Next steps (including the mobile app with NFC)
Enter fullscreen mode Exit fullscreen mode

πŸ—ΊοΈ 1. MyZubster Roadmap – Current Status
Phase Description Status
Phase 0 – Foundation Node.js gateway, MongoDB, React, basic tokenization βœ… Complete
Phase 1 – Production Monero payments, PaymentMonitor, SSL, Nginx βœ… Complete
Phase 2 – Advanced Features Tari integration, NFTs, escrow, AI dispute resolution βœ… In Progress
Phase 3 – Ecosystem DAO governance, 2% wallet, notifications 🟑 Planning
Phase 4 – AI Security Offline LLM, automated remediation, security dashboard πŸ”΅ Future
Current Priorities
Task Priority Status
Test Monero payment (end‑to‑end) πŸ”΄ High To Do
Verify security bot (cron job) πŸ”΄ High To Do
Migrate Tor onion to new VPS πŸ”΄ High In Progress
Integrate NFTs into marketplace 🟑 Medium To Do
Admin dashboard 🟑 Medium To Do
Switch to Monero mainnet 🟑 Medium To Do
πŸ€– 2. AI Dispute Resolution + Tari Smart Contracts

One of the most interesting questions I received was about integrating AI (DeepSeek) with Tari smart contracts for dispute resolution.
How It Works

User opens a dispute.

AI analyzes the data (order, reputation, evidence).

AI produces a structured JSON decision.

Tari smart contract (multisig) executes the decision.
Enter fullscreen mode Exit fullscreen mode

javascript

// Example logic
const decision = await deepseekService.askDeepSeek(prompt);
if (decision.decision === 'release') {
await tariService.releaseEscrow(escrow.tariEscrowId, adminKey);
} else if (decision.decision === 'refund') {
await tariService.refundEscrow(escrow.tariEscrowId, adminKey);
} else {
escrow.status = 'escalated';
}

Why This Works

AI is a mediator, not a judge.

The decision is saved and verifiable.

Confidence threshold determines if the dispute is escalated.

Tari ensures on‑chain execution.
Enter fullscreen mode Exit fullscreen mode

πŸ›‘οΈ 3. Error Handling in the Monero PaymentMonitor

Another question was about the robustness of the checkPayment function in the Monero service.
Error Handling Scenarios
Scenario Behavior
Transaction not found Returns pending and retries next cycle
RPC fails Catches error and returns pending
Insufficient confirmations Returns pending until 10 confirmations
Transaction confirmed Completes order and updates status
Future Improvements

Retry with backoff – if RPC fails, retry with increasing intervals.

Alerting – notify admins if RPC is down for >5 minutes.

Fallback to remote node – switch to a backup node if primary fails.
Enter fullscreen mode Exit fullscreen mode

πŸ“‚ 4. Project Structure & Documentation
Main Directory
text

MyZubsterGateway/
β”œβ”€β”€ models/ # MongoDB models
β”œβ”€β”€ routes/ # API endpoints
β”œβ”€β”€ services/ # Business logic (deepseekService.js, moneroService.js, etc.)
β”œβ”€β”€ middleware/ # Middleware (auth, etc.)
β”œβ”€β”€ server.js # Entry point
└── .env # Configuration

Why a Separate services/ Directory?

Decoupling: business logic is isolated from routes.

Maintainability: changes to business logic don't affect API endpoints.

Testability: services can be tested independently.
Enter fullscreen mode Exit fullscreen mode

🧠 5. DeepSeek AI – Service Design

The deepseekService.js is the core of the AI integration. Here are the design decisions:
Flexibility
javascript

const deepseek = new OpenAI({
apiKey: process.env.DEEPSEEK_API_KEY,
baseURL: 'https://api.deepseek.com/v1'
});

I can change baseURL to use a local model (Ollama) without rewriting the rest.
Structured Prompts

The prompt includes dynamic context: order details, reputation, evidence. The AI responds in JSON format, making the decision easy to parse and validate.
Safe Fallback

If the AI doesn't respond or returns invalid JSON, the dispute is escalated to a human admin.
πŸ“± 6. Next Step: Mobile App with NFC

I'm working on a React Native app that:

Integrates with the MyZubster gateway

Supports NFC payments with Monero (tap‑to‑pay)

Is open‑source and forkable
Enter fullscreen mode Exit fullscreen mode

How NFC Will Work

Seller creates an order.

Gateway generates a Monero subaddress.

App writes payment data to an NFC tag or emulates it.

Buyer taps their phone and confirms the payment.

PaymentMonitor completes the order.
Enter fullscreen mode Exit fullscreen mode

πŸ™Œ Acknowledgments

A special thank you to Luis Cruz for his thoughtful questions and reflections. The DEV community is an incredible place to share ideas and grow together.

If you have questions, suggestions, or want to contribute, the project is open‑source and waiting for you.
πŸ”— Useful Links

Live Demo: https://myzubster.com

GitHub: DanielIoni-creator/MyZubsterGateway

Technical Guide for AI: [Link to post]
Enter fullscreen mode Exit fullscreen mode

🏷️ Tags

MyZubster #Monero #Tari #KaliLinux #DeepSeek #AI #Blockchain #OpenSource #Privacy #BuildInPublic #NodeJS #React #MongoDB

Built with ❀️ by the MyZubster community.

Top comments (0)