Our Work
A look inside the platform we built for ourselves — the same engineering, compliance, and operations discipline we bring to every client engagement.
Why we built our own platform
TSI runs four practices — IT consulting, software development, railroad technology, and Class 07 FFL services. Each practice has its own compliance shape, its own integrations, and its own definition of "done." Off-the-shelf tools either solve one slice or drown the team in process.
So we built one platform that fits all four. Odoo Enterprise provides the ERP backbone — CRM, invoicing, accounting, project, inventory, fleet, helpdesk, HR — and we layered 34 custom modules on top to model the parts that aren't shipped in any box: ATF 4473 disposition, ITAR export classification, NICS E-Check automation, FastBound bound-book sync, railroad train messaging, vendor subscription expiration windows, and the day-to-day operations work that keeps the lights on.
The platform is the same one your engagement will sit on. If you can see how we run our business, you can judge how we'll help you run yours.
What's inside the build
Custom modules, third-party integrations, monitoring, and a discipline that ties them together.
34 custom modules
Compliance, billing, FFL operations, ITAR, NICS, 4473, monitoring, automation — every concept the business reasons about has its own Odoo model.
14 integrations
FastBound, NICS E-Check, USPS, Flowroute SMS, Coinbase, NOWPayments, OpenProject, Plausible, Google Search Console, Whisper, Microsoft 365, Cloudflare, GitHub, restic.
Live monitoring
24-subdomain TLS probe every 15 minutes. 14-endpoint API smoke test daily. Restic snapshot health. Module update watcher. One Status Dashboard tile, green or red.
Tested + documented
Every module ships with pytest-odoo unit tests, Owl Tours integration tests, OpenProject stories for human walkthroughs, and an entry in the auto-rendered five-PDF project document set.
Custom modules by practice
Each module follows the same discipline: Python model, XML views, security ACL, unit tests, integration tests, OpenProject story for the human-facing flow, and a Mermaid flowchart for the architecture diagram set. Total custom code paths exceed what any single off-the-shelf vertical product would offer.
FFL operations + compliance
tsi_4473 — disposition records, Form 4473 lifecycle, audit alerts, catch-queue. tsi_4473cloud_adapter — optional archival upload of completed 4473s. tsi_compliance_rules — ORM-level enforcement of federal firearms compliance. tsi_firearms_shipping — firearm carrier rules layered on Odoo Enterprise delivery. tsi_itar_compliance — DDTC registration, USML/EAR classification, export licenses, AES-EEI. tsi_nics_playwright — automated NICS E-Check 2.0 submission with multi-backend OTP retrieval and full audit trail.
Billing + customer operations
tsi_billing — industry rate card, per-phase time entries, cost-by-phase pivot. tsi_ffl_account_billing — per-FFL FastBound account billing pass-through with multi-FFL tiering. tsi_client_onboarding — structured intake form for new customers. tsi_vendor_subscriptions — vendor renewal tracking with multi-tier expiration alerts. tsi_usps_verify — USPS Web Tools API wrapper for address verification and ZIP lookups.
Operations, monitoring + DX
tsi_status_dashboard — one-glance health board: cert-smoke + api-smoke + restic + module config. tsi_update_watcher — daily poll of Odoo Enterprise, OCA, and TSI module release feeds with alert tile. tsi_server_maintenance — audit log + reference data for managed OMV apt upgrade cycles. tsi_shell_widget — embedded shell terminal + voice command inside the Odoo dashboard. tsi_flowroute_sms — bidirectional SMS via Flowroute v2.1 Messages API.
Brand + public site
odoo_branding — TSI-branded home menu, dashboard tile customizations, FFL copyright strip. tsi_website_skin — public marketing site (this site) with brand colors locked via SCSS variables, full SEO foundation, Plausible v2 analytics, custom Builder snippet library.
Integrations we've wired up
Each integration is more than a SDK call. We instrument them: every request audited, every failure alerted, every credential rotated through a single api_key_vault model, every secret stored only in host-secrets — never on a boot drive.
FastBound
Electronic bound-book sync; per-FFL multi-tenant; quality-check workflow.
NICS E-Check 2.0
Playwright-driven background-check submission with multi-backend OTP retrieval and CJIS-grade audit log.
USPS Web Tools
Address verification, ZIP/city/state lookups, shipping rate calculation.
Flowroute SMS
Two-way customer SMS with 10DLC campaign registration and TCPA-compliant opt-in flow.
Crypto payments
Coinbase CDP destination wallets + NOWPayments invoice-link processor with IPN webhooks.
OpenProject
Story-and-test workflow synced two-way with Odoo; every shippable module gets a story.
Plausible Analytics
Cookieless, privacy-friendly v2 token-based snippet with conversion event tracking.
Google Search Console
HTML-file verified property; sitemap.xml submitted; per-page meta + JSON-LD Organization schema.
Whisper
Internal speech-to-text server for voice-driven shell commands and meeting transcripts.
Microsoft 365 Graph
Mailbox automation for NICS OTP retrieval and outbound transactional email.
Cloudflare + SWAG
Edge proxy + on-prem nginx with Let's Encrypt DNS-01 wildcard; per-subdomain isolation.
restic backups
Encrypted incremental snapshots to off-NAS storage; daily integrity check; restore-tested.
The quality system that makes it stick
Testing in three layers
pytest-odoo covers business logic: every model method, every constraint, every state transition. Owl Tours covers the user experience: every menu, every tab, every smart button verified click-by-click in a real browser. Playwright covers the integrations: real submissions against real external APIs, with captured DOM evidence.
Five PDFs, one source of truth
Project state lives in a single phases.json file. From there, a render script produces five companion PDFs every session — plan, plan-sessions, plan-gantt, plan-cost, and test-cases — each with a current Table of Contents that maps every page. Nothing is hand-typed twice; nothing drifts.
Audit-grade logging
Every NICS submission, every credential fetch, every CSV export of CJIS data, every menu permission change is logged to a dedicated tsi.nics.audit.event model with row-level link back to the originating request. Audit logs themselves are audited.
Always-on monitoring
TLS certs probed every 15 minutes across all public subdomains. API endpoints smoke-tested daily. Restic snapshot integrity verified nightly. Update Watcher polls upstream release feeds for Odoo Enterprise, OCA, and TSI module repositories. Status Dashboard rolls everything into one green-or-red glance.
Ready to Talk?
Tell us about your environment and your goals. Contact us or call +1 254-294-1004.
Start the conversation