Documentation
Meri (መሪ)
Run your business by voice.
A voice-first operating assistant that helps microbusinesses capture activity, understand their business data, and make operational decisions.
Meri is designed to help business owners capture everyday business activity such as sales, expenses, purchases, inventory changes, and customer debts through natural voice interaction.
It converts spoken activity into structured business events, maintains a live view of business state, provides visual business insights, and helps owners make operational decisions using their own data.
Frontend Service
This repository is the Frontend Service for the STARK Hackathon 2026 project, Voice-First Business Assistant.
The product is a voice-first business assistant for small-business owners. It is intended to let owners record business activity and query their business state using natural language and voice.
Typical activity includes:
-
Sales
-
Expenses
-
Purchases
-
Inventory changes
-
Customer debts
This repository hosts:
-
The product landing page
-
A text-based assistant
-
The Voxide voice widget
-
Frontend capability handlers
The Voxide widget registers frontend capabilities. These capabilities call the existing API client (createEvent and queryBusiness), which communicates with the Backend Service through /api/v1.
The frontend does not contain a voice backend or business-logic backend. It does not own business rules or the canonical business state.
Frontend Responsibilities
The Frontend Service provides:
-
Mobile-first user interface
-
Voice interaction and recording UI
-
Business dashboard
-
Business metrics and visualizations
-
Transaction and history views
-
Communication with the Backend Service and AI / Voice Service
-
Responsive desktop experience
The frontend presents data and interaction states. It does not own business rules or the canonical business state.
Services
The project is split across three services:
1. Frontend Service
This repository.
Owns:
-
User interface
-
Voxide voice widget
-
Voxide capability handlers
-
Dashboards
-
Visualizations
-
Transaction and history views
-
Calls to the Backend Service through the existing API client
2. Backend Service
A separate repository.
Owns:
-
Business data
-
Validation
-
Business logic
-
Calculations
-
Persistence
-
Authoritative business state
3. AI / Voice Service
A separate repository for additional language tooling, including later ScholarXIV integration.
It is not the Voxide integration used by this MVP.
Live voice interaction is provided through the @voxide/react widget in the frontend. Voxide's hosted service handles the voice session, while capability handlers forward structured requests through the existing API client.
This repository does not implement the voice service or business backend.
Architecture
User
|
v
Frontend Service
|
+-- Voxide widget
+-- Capability handlers
|
v
Existing API Client
|
v
Backend Service
|
v
Database
The Backend Service is the source of truth for:
-
Business state
-
Validated records
-
Deterministic business calculations
The frontend Voxide capabilities interpret a spoken request only far enough to call createEvent or queryBusiness.
They do not calculate or store business state.
Voxide's hosted voice session stays outside this repository.
Repository Links
-
Frontend Service: This repository
-
Backend Service: https://github.com/Al1husse1n/backend-engine
-
AI / Voice Service: https://github.com/Fraol-D/meri-ai-engine
Core Flow
Voice
↓
Validated Business Event
↓
Business State
↓
Analysis
↓
Decision
Planned Capabilities
-
Voice-based business activity capture
-
Sales and expense tracking
-
Inventory tracking
-
Customer receivables
-
Business dashboard
-
Business visualizations
-
Voice-based business queries
-
Operational decision support
Development Workflow
The main branch is protected.
Development happens on feature branches, and changes are submitted through pull requests.
At least one experienced developer reviews each pull request before it is merged.
Planned Architecture Principle
AI should interpret natural-language input and explain results, but the underlying structured business state and deterministic calculations should remain the source of truth for business numbers.
Documentation
Local Development
Install dependencies:
npm install
Start the development server:
npm run dev
Open http://localhost:3000 to view the landing page.
The text assistant is available at:
http://localhost:3000/assistant
Environment Variables
Copy .env.example to .env.local and set the backend origin:
NEXT_PUBLIC_API_URL=http://localhost:8000
Voice is optional.
Set NEXT_PUBLIC_VOXIDE_PUBLIC_KEY to a real Voxide publishable key to mount the widget. If the variable is missing, the widget stays disabled and the text assistant continues to work.
Do not hardcode the backend URL or Voxide key in application code.
Restart the development server after changing environment variables:
npm run dev
Build and Lint
Build locally:
npm run build
Run linting:
npm run lint
Status
Built during the STARK Official Hackathon 2026.
