π 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)
πΊοΈ 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.
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.
π‘οΈ 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.
π 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.
π§ 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
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.
π 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]
π·οΈ Tags
MyZubster #Monero #Tari #KaliLinux #DeepSeek #AI #Blockchain #OpenSource #Privacy #BuildInPublic #NodeJS #React #MongoDB
Built with β€οΈ by the MyZubster community.
Top comments (0)