Inspiration
Goob grew from conversations with a mechanical, electrical, and plumbing (MEP) service business about its operational challenges. As companies add employees and trades, they need to keep customer relationships, memberships, jobs, equipment, inventory, and billing connected.
We wanted to build a platform around the decisions behind each service visit: Who should handle the job? Do they have the necessary parts? What does the customer’s membership cover? What should the customer actually be charged?
The problem
A service visit involves more than scheduling a technician. Staff must identify the correct property and equipment, check membership coverage, locate available materials, document completed work, and review the proposed bill.
When those details live in disconnected tools, employees must reconcile them manually. That creates opportunities for duplicate entry, unnecessary return trips, missed membership benefits, inventory discrepancies, and incorrect charges.
Growing businesses also need software they can adopt without excessive complexity. Migration, training, and predictable costs matter alongside features.
What Goob does
Goob is a modular field-service management platform and CRM for growing MEP service businesses. It connects office operations with field work through linked customer, property, equipment, membership, job, and inventory records.
Dispatch and scheduling
Dispatchers can review the job queue, technician availability, assignment recommendations, required parts, and visit status. The backend rechecks assignment conditions before confirming changes.
Google Maps views and driving-route previews help dispatchers understand the day geographically. A Three.js district and simulated technician movement demonstrate travel and assignment workflows. The movement is simulated rather than live GPS tracking.
Customer, property, and equipment records
Goob organizes service history around the specific customer, property, and equipment involved. Staff can search customers, review coverage and past work, and create jobs from an existing property.
This matters when a customer owns multiple properties: a membership covering their home should not automatically apply to their rental property.
Memberships and service coverage
Membership workflows track agreement terms, equipment enrollment, maintenance allowances, labor discounts, renewals, cancellations, and benefit history.
Staff can distinguish what a plan promises from what applies to a particular visit, including service dates, eligible equipment, and previously used benefits.
Inventory and materials
Goob supports receiving, location transfers, reservations, issues, returns, and adjustments. It distinguishes parts physically on hand from parts reserved for another visit or available for a new job.
A stock ledger connects material movements to work records. This helps answer whether the assigned technician actually has the parts needed to complete the visit.
Work review and billing checks
Reviewers can compare technician notes, material disposition, membership coverage, and proposed charges before approving work. Review decisions retain supporting evidence and reasons.
For example, $180 in repair labor with an eligible 15% labor discount, plus a $45 part, produces a reviewed amount of $198 before tax. The repair discount does not consume a maintenance visit.
Database transactions coordinate related updates to work history, inventory, benefit usage, and billing evidence.
Goob currently supports invoice drafts and billing review. Tax calculation, payment collection, and full external accounting synchronization remain future work.
Voice and AI assistance
ElevenLabs Scribe transcribes microphone input. Users can review or edit the transcript before running supported commands, such as finding available technicians, opening a job, checking parts, or previewing a route. A deterministic parser handles those commands.
A Gemini backend adapter supports turning technician notes into structured proposals, with source-quote validation, usage limits, and human review. Connecting that extraction workflow to the current work-review interface remains unfinished, and manual proposal preparation is available.
People retain control over assignment and billing approvals.
Migration and configurable workspaces
Import tools stage CSV and JSON records for review. Users can inspect uncertain matches and resolve issues before committing data. Exports preserve portable operational records and accounting-draft evidence.
Configurable layouts let employees adjust workspace widgets, filters, and views to their roles. Growth workflows also capture leads and cross-trade opportunities for review and conversion into jobs.
How we built it
Frontend
We used React and TypeScript to build the portal, dispatch workspace, forms, and review screens. Vite handles development and frontend builds, while Tailwind CSS and custom CSS provide styling.
React Grid Layout supports configurable workspaces. Three.js renders the fictional district, Google Maps provides geographic views and route previews, and the ElevenLabs React SDK connects the microphone workflow to transcription.
Backend and database
The backend uses Python and FastAPI, with Uvicorn running the application server. SQLAlchemy connects application records to Tiger Cloud PostgreSQL, and Alembic manages application schema changes.
Relational constraints and transactions are central to the design because inventory movements, membership usage, and approvals need to remain consistent. Permissions scope access by tenant and branch, while idempotency handling helps prevent repeated requests from applying the same action twice.
Hosting on Vultr
Goob’s frontend and Python/FastAPI backend run together on a Vultr-hosted Ubuntu server. Nginx handles incoming web traffic, systemd manages the application service, and GitHub Actions supports deployment automation.
The application connects to Tiger Cloud PostgreSQL, which hosts the database separately. This architecture gives office staff and technicians access to shared operational records through the web.
Testing approach
The project includes Vitest for frontend logic, Playwright for browser workflows, and pytest and unittest for backend behavior. Ruff supports Python code quality checks.
Provider mocks and simulated workflows help development, but they do not establish that every live integration works.
Challenges we faced
Membership coverage becomes complex when it depends on properties, equipment, service dates, trade eligibility, and previously used benefits.
Inventory also requires more than a quantity field. A business can own a part while that part remains reserved for another job or unavailable to the assigned technician.
Coordinating work approval across materials, benefit usage, service history, and billing evidence required careful transaction design. We also had to manage overlapping data models as the project evolved.
Another challenge was distinguishing completed workflows from simulations and unfinished integrations so our demonstration accurately represents the product.
Accomplishments we’re proud of
We brought dispatch, customer records, equipment-specific coverage, inventory movements, and work review into a connected operational workflow.
We also developed voice-command support, geographic dispatch views, configurable workspaces, and staged migration tools around that workflow.
Our strongest accomplishment is connecting the evidence behind a visit so staff can understand how completed work, materials, and membership terms contribute to a proposed charge.
What we learned
Building a service platform requires understanding how people work. Features become useful when accurate information follows a job from assignment through completion and review.
We learned that membership rules and inventory records need explicit, consistent business logic. AI assistance also needs reviewable suggestions and clear boundaries.
Migration and onboarding are part of the product experience. Businesses need confidence that their customer records and membership information will survive the transition.
What’s next for Goob
We plan to begin with hands-on discovery at local MEP service businesses, observe their workflows, and identify specific operational pain points. We will then present a focused solution and offer paid pilots with supported migration.
Pilots will measure administrative time, billing-review accuracy, onboarding effort, and willingness to pay. Our proposed standard price is $399 per month for one branch and up to 15 users, with a defined AI allowance and standard migration and onboarding.
Early anchor customers can help us develop case studies and grow through referrals and local business and trade events. Once sales and onboarding become repeatable, we will test Meta advertising and expand based on qualified leads, acquisition costs, and retention.
Product priorities include completing the Gemini review integration, validating an accounting integration, consolidating overlapping data models, and strengthening production readiness.
Our goal is an affordable, configurable platform that grows alongside MEP service businesses while keeping operational decisions understandable and reviewable.
Built With
- ai
- and-inventory.-tailwind-css:-consistent-styling-and-mobile-friendly-layouts.-ai-apis:-note-extraction
- and-suggested-follow-ups.-mcp
- apis
- css
- jobs
- memberships
- next.js
- postgresql
- react
- sql
- summaries
- tailwind
- typescript
Log in or sign up for Devpost to join the conversation.