AI-Assisted Mini-Projects • Ready for Vibe Coding

The Vibe Lab — AI & Civic Engineering

Self-contained civic mini-projects with copy-ready AI prompts, test URLs, acceptance criteria, and $MLY bounties.

Difficulty:
frontendintermediate+150 $MLY

AI Proposal Impact Assessment Visualizer (D3/Recharts)

Build a visual breakdown of a proposal's financial and community impact across Districts 1-5 using Recharts bar charts.

✨ Suggested AI Prompt (Copy for Cursor/Claude):

Write a React Server Component in Next.js 15 that takes a ProposalRecord and renders a responsive Recharts bar chart showing funding distribution across Jacksonville Council Districts.

Acceptance Criteria:
Chart renders cleanly on 320px mobile screens
Uses MiJaxx electric blue and gold color palette
No external JavaScript tracking libraries
Test Env: http://localhost:3000/governance
smart contractsintermediate+200 $MLY

Base Sepolia Soulbound Citizen Pass Minting Hooks (Wagmi v2)

Create custom Wagmi v2 hooks for checking if an address already holds an ERC-5192 Soulbound Citizen Pass on Base Sepolia.

✨ Suggested AI Prompt (Copy for Cursor/Claude):

Create a custom React hook useCitizenPass(address) using Wagmi v2 and Viem that queries the CitizenPass ERC-5192 contract on Base Sepolia and returns tokenId and locked status.

Acceptance Criteria:
Strict TypeScript types (zero any)
Handles network disconnection gracefully
Includes unit test in Vitest
Test Env: http://localhost:3000/profile
aiadvanced+250 $MLY

Jacksonville Municipal Code RAG Retriever Optimizer

Enhance keyword and semantic chunk ranking in packages/ai/src/rag.ts to surface relevant zoning and park maintenance codes faster.

✨ Suggested AI Prompt (Copy for Cursor/Claude):

Optimize retrieveRelevantCivicKnowledge in TypeScript to combine TF-IDF keyword scoring with local cosine similarity for Jacksonville Municipal Code chunks.

Acceptance Criteria:
Query 'pothole' returns park & infrastructure code as top result
Zero external network calls during offline unit tests
Passes all 17 @mijaxx/ai unit tests
Test Env: http://localhost:3000/api/mi/chat
infrastructureintermediate+175 $MLY

ClamAV Socket Scanner Retry Logic with Exponential Backoff

Add robust socket reconnection with exponential backoff to packages/utils/src/clamav.ts when Node 0 ClamAV daemon restarts.

✨ Suggested AI Prompt (Copy for Cursor/Claude):

Implement a retry loop with exponential backoff for Node.js net.Socket connection in scanBufferWithClamAV.

Acceptance Criteria:
Retries up to 3 times on ECONNREFUSED
Logs structured warnings via logger.warn
Passes clamav.test.ts
Test Env: http://localhost:3310
documentationfirst contribution+75 $MLY

Starlight Astro Documentation Theme Customizer

Customize the Starlight documentation theme CSS variables to match MiJaxx dark near-black (#0A0A0A) and electric blue (#0066FF).

✨ Suggested AI Prompt (Copy for Cursor/Claude):

Update Astro Starlight custom CSS variables to use MiJaxx design system color tokens.

Acceptance Criteria:
Header and navigation background are #0A0A0A
Accent color is #0066FF
Passes contrast ratio accessibility check
Test Env: http://localhost:4321
frontendadvanced+300 $MLY

Semaphore Zero-Knowledge Proof Client Verifier Web Worker

Offload client-side Semaphore ZK proof verification in prove-it-verifier.tsx to a Web Worker so the main UI thread never blocks.

✨ Suggested AI Prompt (Copy for Cursor/Claude):

Create a Web Worker wrapper for verifyProveItAssertion in TypeScript so cryptographic verification runs in a background thread.

Acceptance Criteria:
UI remains 60fps during proof verification
Worker communicates via structured postMessage
Includes Vitest unit test
Test Env: http://localhost:3000/dashboard
frontendintermediate+150 $MLY

Arweave Permaweb Ledger Explorer Table with Filtering

Build a searchable, filterable table component for inspecting all Arweave permaweb hashes recorded in the accountability ledger.

✨ Suggested AI Prompt (Copy for Cursor/Claude):

Build a React client component that lists ArweaveArchiveReceipt records and lets citizens filter by actionType and date.

Acceptance Criteria:
Filter by proposal, vote, circle, and petition actions
Links directly to https://arweave.net/hash
Mobile responsive
Test Env: http://localhost:3000/governance
infrastructureadvanced+275 $MLY

Matrix Synapse Room Admin Rule Enforcement Bot

Build a Matrix bot helper in TypeScript that enforces Circle 500-member caps automatically when new users join.

✨ Suggested AI Prompt (Copy for Cursor/Claude):

Write a Matrix bot event listener in TypeScript that monitors m.room.member events and caps room occupancy at 500 members.

Acceptance Criteria:
Logs cap enforcement to Arweave accountability ledger
Sends polite WE NOT ME room full explanation
Includes unit test
Test Env: http://localhost:8008