FreightOps
Load intake and dispatch
Load creation starts with structured intake and a dispatch-focused workspace instead of a generic form, so operational data stays consistent from the moment work enters the platform.
Next.js · Node.js
FreightOps
Driver workflow and execution
Managers assign work, review driver readiness and track past activity, while drivers move through trip actions inside the same operational system.
Next.js · Node.js
FreightOps
Document review
Receipts, trip documents and proof-of-work files move through structured review flows instead of being treated like loose attachments.
Next.js · Node.js
FreightOps
AI-assisted document intake
Uploaded material is processed into usable operational data, reducing manual review overhead ahead of compliance-oriented workflows.
Next.js · Node.js
FreightOps
Billing, subscriptions and payouts
Subscriptions, invoicing visibility, discounts and billing administration on the company side; payout readiness and payout requests on the driver side, tied to verified trip completion through Stripe and Stripe Connect.
Next.js · Node.js
FreightOps
Multilingual operational chat
Real-time chat with media support, operational context, and automatic translation, so dispatchers, managers and drivers stay aligned while work is in motion even when they do not share a primary language.
Next.js · Node.js
FreightOps
Tenant scoping and role-based access
Multi-tenant company scoping with role-based access across platform admins, company owners, admins and drivers, protected APIs, permission-aware middleware and subscription-aware access control.
Next.js · Node.js
FreightOps
Administration and onboarding
Account-level file controls, invite-code onboarding and fleet record management, so support and configuration work stay inside the product.
Next.js · Node.js
FreightOps
Background processing
Notifications and other asynchronous work run in the background on Redis-backed infrastructure.
Next.js · Node.js
FBA Tracker
Product research
CSV and Excel upload with instant processing, Keepa and SP-API enriched data, ROI and margin filters, product favoriting, reviewed flags visible to the team, and one-click product variants.
Node.js · React
FBA Tracker
Margin engine
Retail price against unit price, pack quantity, prep cost, Amazon fees and monthly storage, returning both margin and net profit for the row.
Node.js · React
FBA Tracker
Purchase orders and vendors
PO generation with chat attached, vendor assignments and performance tracking, prep-center onboarding, and a historical audit trail on each PO.
Node.js · React
FBA Tracker
Inventory and restock
Restock alerts driven by sales velocity, Amazon store stock syncing, product tracking with price alerts, and multi-timeframe profitability across 30, 90 and 180 days.
Node.js · React
FBA Tracker
Team roles and live collaboration
Role-based access with granular permissions, live updates on items and POs, team notes and live chat on the top plan.
Node.js · React
FBA Tracker
Dashboards and reporting
Revenue and margin dashboards, sales analytics with trending and seasonality, custom reports with export, and responsive dashboards for mobile.
Node.js · React
FBA Tracker
Amazon and Keepa sync
Marketplace participation and inventory synchronisation through SP-API, with Keepa historical pricing, buy-box analytics and sales velocity alongside it.
Node.js · React
FBA Tracker
Plans and seats
Three plans — Starter, Growth and Pro — differing by seats, analytics depth, chat and history tools, and monthly product import limit.
Node.js · React
FBA Tracker
Business impact
Sellers using it save 15+ hours a week on manual data entry and analysis, gain a 35% improvement in profit margins through better sourcing, and carry 68% less administrative overhead. One operation scaled from $50K to $500K in monthly revenue over 18 months.
Node.js · React
HammockGear
Order and inventory management
Orders pulled from BigCommerce with sorting, rush prioritisation, status indicators and refund tools; detailed order pages where staff update items, adjust shipping dates, apply refunds and edit instructions.
React · .NET
HammockGear
Stock items
Editable stock entries, barcode printing and template-based stock generation.
React · .NET
HammockGear
Employee station views
Each employee logs in with badge and PIN, sees their assigned queue, and scans an item to begin work on it.
React · .NET
HammockGear
Workstation-specific layouts
Adapted interfaces for the Down, Shipping and QC stations.
React · .NET
HammockGear
Rush highlighting
Red status indicators carried on both the order queue and the task queue.
React · .NET
HammockGear
Problem resolution
A central resolution page assigns fault across employees and tracks resolution notes, percentages of responsibility and restocking status, fed by live problem detection from the workstation UI.
React · .NET
HammockGear
Warehouse map
A live heatmap of employee activity showing active stations, idle states and items in progress, with clickable drilldowns into issues or job details.
React · .NET
HammockGear
AI reporting assistant
A natural-language assistant converts a prompt into a SQL query, keeps the conversation thread so follow-up questions need no restating, then runs the query and returns both the data and an interpretation. The previous filter builder was retired in favour of it.
React · .NET
Room-Sync
Room-level access through groups
Users are assigned to groups through GroupUser and groups are bound to rooms through RoomGroup; those bindings decide who can view, book and cancel.
Node.js · Sequelize
Room-Sync
Recurrence
One-off and recurring meetings on daily, weekly, monthly and yearly frequencies, with the scope of a change — this occurrence or all of them — chosen at edit time.
Node.js · Sequelize
Room-Sync
Ghost occurrences
Future occurrences are generated from the recurrence rule rather than stored indefinitely, which keeps storage down and leaves UI rendering flexible.
Node.js · Sequelize
Room-Sync
Approval workflow
Full-access bookers are auto-approved; limited-access bookers land in pending, and admins bypass the restrictions entirely.
Node.js · Sequelize
Room-Sync
Overlap prevention
Every booking is checked against room-level group access, existing and future repeating events, blocked periods, meeting status and virtual ghost meetings before it is committed.
Node.js · Sequelize
Room-Sync
Special permissions
SpecialPermission grants access to an individual meeting outside the normal group rules, overriding them without widening them.
Node.js · Sequelize
Room-Sync
Blocked times
Rooms can be closed for maintenance or renovation for a period of dates.
Node.js · Sequelize
ConstructionOps
Field capture
Voice and photo capture on site, with the photos bound to what was being said, turned into a structured quote, a scope and the follow-up questions still outstanding.
Next.js · React
ConstructionOps
Quoting and bidding
Quotes with revisions and templates, area pricing and live price lookups, bid packages and bid levelling with a subcontractor bid portal, and a public no-login estimator a company can embed on its own website.
Next.js · React
ConstructionOps
Running the job
Daily logs, checklists and punch lists, a schedule, progress photos, job events and configurable pipeline stages, reusable job templates, and client updates shared out of the same record.
Next.js · React
ConstructionOps
Visual site plans
Multi-unit developments managed as a tree of sub-projects on a mobile-friendly site plan, with rooms drawn inside a building carrying their own steps, punch list, photos, costs and deliveries, plan markup, and scoped deep-link sharing to contractors.
Next.js · React
ConstructionOps
Costs and billing records
Receipts and expenses with line items, purchase orders, vendor bills, change orders and allowances, one shared cost divvied across several jobs, invoices, and AIA pay applications over a schedule of values. Money is DECIMAL, never float, and totals are recomputed from their inputs so a stored figure cannot go stale.
Next.js · React
ConstructionOps
Workforce
1099 contractor onboarding, GPS clock in and out, timesheets, crews and dispatch, certifications and compliance, and a worker portal — with no payouts anywhere in it.
Next.js · React
ConstructionOps
Compliance
Lien waivers and lien deadlines, permits and inspections, RFIs and submittals, and service tickets.
Next.js · React
ConstructionOps
Copilot
An in-app assistant with read-scoped tools over the company’s own data. A tool disappears from the assistant when its feature is switched off, so it can never answer from an area the company has turned off.
Next.js · React
ConstructionOps
Tenancy and live updates
Every query and every broadcast is scoped by company. An unscoped broadcast is withheld and logged rather than sent. Mutations push to subscribed views over a websocket instead of waiting for a refresh.
Next.js · React
ConstructionOps
Plans, toggles and reach
Four plan tiers with entitlements enforced on the server, a per-company switch for every non-core area so a one-person company is not taxed by features it does not use, an iOS and Android shell over the same frontend, and seven languages.
Next.js · React
Stock Scanner
The live grid
A chosen list of stocks, not the whole market, updating in place over a live connection: gap against the previous close, relative volume against the stock’s own normal, momentum in dollars per minute, and change over the last five and ten minutes.
Node.js · Express
Stock Scanner
Nine named patterns
Six built on shares outstanding combined with unusual volume, and three squeeze patterns — up 10% in ten minutes, up 5% in five, and a new 52-week high.
Node.js · Express
Stock Scanner
Trading halts
Exchange-paused stocks are flagged from the exchange’s own public feed, and when that feed is unreachable the app says so rather than reporting that nothing is halted.
Node.js · Express
Stock Scanner
Provenance on every number
Each figure is labelled with the feed it was measured on, so a number taken from a partial feed is never mistaken for a full-market one.
Node.js · Express
Stock Scanner
Absent is not zero
A genuinely unavailable measurement is left blank rather than substituted, and a row whose prices have stopped arriving is drawn as visibly stale instead of showing an old price as current.
Node.js · Express
Stock Scanner
Alerts and personalisation
An alert when a stock starts matching a pattern, with a per-person mute so silencing a noisy ticker affects only you, plus saved column layouts and saved pattern sets.
Node.js · Express
Stock Scanner
Backtest
A pattern run over past daily price history to show what it would have flagged. It uses full-market historical data — broader than the live grid’s — and the page says so, so confidence in one is never carried over to the other.
Node.js · Express
Stock Scanner
Sign-in and the invite gate
Hosted sign-in through Auth0, so no password is stored by the app, plus an invite code checked on the server on every request rather than in the browser.
Node.js · Express
Stock Scanner
Broker credentials
A linked account is authorised through the broker’s own approval screen — no token or password is ever pasted into the app — and the stored credential is encrypted, with tampering detected rather than silently decrypting to something wrong.
Node.js · Express
Stock Scanner
Risk set by the account holder
A conservative, moderate or aggressive risk profile sets the sizing bounds in one choice; the percentage of capital the owner accepts losing is a hard ceiling that closes positions rather than a notification.
Node.js · Express
Stock Scanner
A schedule that knows the calendar
The agent does not fire on weekends, on holidays or after an early close, and refuses to run past the last year its holiday table covers rather than guessing.
Node.js · Express
Stock Scanner
Practice mode
The whole flow runs against simulated fills with no broker link at all, so nothing has to be connected to real money to be watched.
Node.js · Express
Stock Scanner
Separation by construction
The scanner holds no brokerage connection and cannot place an order; the trader never reads scanner signal and never writes market data. They use different databases, with no keys crossing between them.
Node.js · Express