03 · SaaS product · Live, early stage

ITCore: a multi-company help desk and device inventory

ITCore is a help desk and Windows device-inventory product that I designed, built and run myself. Staff raise requests from a Windows app, their phone or a browser. IT gets tickets, chat, announcements, PC health and reports in one place, separated per company.

Status
Live at itcore.dev, early stage
My role
Founder and sole engineer: design, code, infrastructure, releases
Period
2026 to present
Stack
TypeScript · React · Vite · Cloudflare Workers · Neon PostgreSQL · Cloudflare R2 · Electron · Go · Node.js

The problem

Supporting several companies at once, IT requests arrived through calls and messages with no shared record. There was no history of what was fixed, and no single view of the state of each PC.

Off-the-shelf help desks didn't fit a group where each company's data has to stay separate and staff need the tool in Mongolian, English or Chinese.

What I'm responsible for

  • Product and data model design, including company separation and roles.
  • API, web app and marketing site.
  • Windows desktop app (Electron) and the ITCore Sentinel monitoring agent (Go).
  • Hosting, releases, security controls and their tests.

Architecture

A small-team architecture: managed, serverless pieces so one person can operate it.

  1. Clients
    • Web app (sup.itcore.dev)
    • Windows desktop app (Electron, self-updating)
    • ITCore Sentinel agent on each PC (Go)
  2. API
    • Cloudflare Workers
    • Tenant-scoped auth, 4 roles
    • Sessions · CSRF checks · login rate limits
  3. Data
    • Neon PostgreSQL
    • Cloudflare R2 for attachments
    • Per-company separation enforced in the API
  4. Public site
    • itcore.dev
    • Pricing in USD, MNT and CNY
    • Downloads and plan requests

Engineering decisions

The agent reports, it never executes

Sentinel enrols with a token and sends health telemetry only. It accepts no remote commands. That limits the damage if the service or an account is ever compromised, and it makes the agent easier for a customer's IT team to approve.

Company separation in the API, not the UI

Every request is scoped to a company on the server, with four roles on top. Hiding things in the interface isn't treated as access control.

Serverless API and managed Postgres

Cloudflare Workers and Neon keep the operational load small enough for a single engineer, without running my own servers for the product.

A Call-IT button that works offline

People need IT most when the network is down, so the desktop app's Call-IT button works without a connection.

Technical challenges

Shipping quickly without breaking tenants

I shipped 90+ releases in the first four weeks. Integration tests cover the security-critical paths: password hashing (scrypt), HttpOnly sessions, CSRF checks, login rate limits and company isolation.

Getting the app onto PCs

The desktop app installs from a USB kit in about a minute and updates itself after that, so rollout doesn't depend on a software-distribution system the customer may not have.

Three languages from day one

The interface, notifications and invoices work in Mongolian, English and Chinese. Invoices are generated in USD, MNT or CNY at the current rate.

Current status

Built and deployed

  • Tickets with status, priority, assignment, comments and attachments
  • Chat, group chat and announcements with read receipts
  • Company separation, 4 roles and tested security controls
  • Windows desktop app with auto-update and offline Call-IT
  • Sentinel agent: token enrolment and PC health check-ins every 15 minutes
  • Technician reports and automatic invoices in three currencies

Early stage

  • Live with published plans (from $35/month); adoption is still early, so I don't publish customer or usage numbers
  • Device inventory is built from agent check-ins rather than a separate asset register

Not built yet

  • Agents for macOS and Linux (Sentinel is Windows-only today)
  • A documented public API for integrations

Outcomes so far

releases in the first 4 weeks
90+
languages: MN · EN · 中文
3
agent check-in interval
15 min
roles, with company isolation
4
  • A working product in public: itcore.dev and the app at sup.itcore.dev.
  • Security controls backed by integration tests, not just written in the code.
  • A telemetry-only agent design that I can explain and defend to a customer's IT team.