Home Apps Platform Security Documentation Contact Get Started

One codebase.
One data model.
One operating system.

90mod is not a bundle of integrations. It's a single Ruby on Rails application with a unified schema, shared permissions, and one design language. Every module sees the same data because they are the same system.

Built right, not built fast.

Application Layer
10 Modules
40+ Features
Multi-Tenant
Security & Access
Pundit RBAC
Feature Flags
PaperTrail Audit
Business Logic
AASM State Machines
AI Model Router
Webhooks & Events
Data & API
PostgreSQL 16
Alba Serializers
RESTful API
Infrastructure
Ruby on Rails 8.1
Puma + nginx
Stimulus + Turbo

Six rules we never break.

01

Multi-Tenant by Design

Organization-level data isolation. Every customer gets the same application, the same schema, the same security posture. What changes is which modules are enabled.

02

Feature Flags & Entitlements

Modules are unlocked per organization. CRM, invoicing, scheduling, AI, portal. All controlled by entitlements. Enable what the plan includes.

03

Role-Based Access Control

Owner, admin, manager, member. Pundit policies enforce authorization at the record level. Not just page-level gating. Real security.

04

Audit Trail

PaperTrail versioning on all critical models. Every change is logged with who, what, when, and previous values. Compliance-ready from day one.

05

State Machine Workflows

Deals, invoices, jobs, work orders. All governed by AASM state machines. Clear transitions, guard clauses, and callback hooks.

06

API-Ready

Alba JSON serialization layer. RESTful controllers. Webhook capabilities. Built for integration even though you shouldn't need it.

The full operating surface.

Every module below is part of the same codebase. They share data, share permissions, and share the same maintenance team. No integrations. No plugins. No fragmentation.

  • Companies & contacts with tagging
  • Deal pipeline with stage management
  • Activity timeline per record
  • Full-text search across all entities
  • Import/export (CSV)
  • Quotes with line items & tax
  • Quote-to-invoice conversion
  • Chart of accounts & journal entries
  • Expense tracking & categories
  • Purchase orders & vendor management
  • Recurring billing schedules
  • Payment links & Stripe integration
  • Job management with scheduling
  • Time tracking & clock in/out
  • Work orders, parts & labor
  • Vehicle management (VIN tracking)
  • Install photos & documentation
  • Digital signatures
  • Project boards & task tracking
  • Kanban drag-drop with Stimulus
  • Task dependencies & subtasks
  • Time logging & milestones
  • Custom dashboards (drag-drop widgets)
  • Employee directory & org chart
  • Departments & team structure
  • Attendance (clock in/out)
  • PTO & leave management
  • Payroll (pay runs & pay slips)
  • Recruitment & applicant tracking
  • Performance reviews & goals
  • Blog posts & categories
  • Email campaigns & templates
  • SMS marketing campaigns
  • Surveys & response analytics
  • Automation workflows
  • Products & product categories
  • Stock locations & levels
  • Point of Sale (POS)
  • eCommerce storefront
  • Procurement (RFQ, 3-way match)
  • Barcode & QR scanning
  • Helpdesk ticketing & replies
  • Knowledge base articles
  • Live chat (real-time)
  • Customer portal (white-label)
  • AI assistant per organization
  • Budget-governed model routing
  • Custom dashboards & widgets
  • Advanced reporting & analytics
  • In-app notifications
  • Internal messaging & conversations
  • Calendar & event management
  • Announcements
  • File manager (documents & folders)
  • Contact forms & lead capture
  • Website builder (pages & blocks)
1 Codebase
10 Modules
40+ Features
0 Third-Party Plugins
1 Schema

AI that knows its place.

90mod's AI layer is organization-governed. Every tenant gets a budget, model preferences, and usage tracking. The AI works within your system: analyzing your data, drafting your communications, surfacing your insights.

90mod intelligence
$ budget.set --monthly $50 --per-org
OK Monthly AI spend limit set. Token usage tracked per conversation.
$ model.route --fast --moderate --reasoning
OK Three tiers configured. Routes by task complexity. Cost vs. capability optimized.
$ context.bind --deals --contacts --invoices --schedules
OK AI understands your business context. Same system, same data, zero disconnection.

See it in action.

One codebase, one data model, one team maintaining it. See what that looks like.