Mark Cheli

I'm Mark Cheli. I live in Ashland, MA and work at PTC on Onshape, the SaaS-native CAD platform PTC acquired in 2019. Before Onshape I worked across PTC's IoT (ThingWorx), CAD (Creo), PLM (Windchill), and Academic Programs groups.

I'm the director of Onshape's Product Operations & Strategy team. The work is a mix of product-led growth, internal AI adoption, product analytics, the operating cadence the org runs on, and full-stack code on early-stage product initiatives.

Elsewhere

Homelab

This site is served from a Dell PowerEdge R630 in my basement, running 32 Docker containers across 7 categories. Delivery is GitHub Actions → ghcr.io → Watchtower; NGINX + Cloudflare (Full Strict) terminate TLS; *.ops.markcheli.com is LAN-only.

Custom Applications (built by me)

Self-Hosted Services (third-party, public)

Personal Dashboards (LAN-only · *.ops.markcheli.com)

Observability (LAN-only · *.ops.markcheli.com)

Infrastructure Containers (behind the scenes)

  • nginx — Reverse proxy + SSL (Cloudflare origin certs, Let's Encrypt wildcard for *.ops)
  • fluent-bit — Ships Docker + Plex + Seafile logs → OpenSearch
  • node-exporter — Host metrics for Prometheus (CPU/mem/disk/net)
  • nginx-exporter — NGINX connection & request metrics
  • watchtower — Auto-deploys new ghcr.io/mcheli/* images (5m poll)
  • seafile-db — MariaDB 10.11 backend for Seafile
  • seafile-memcached — Cache layer for Seafile
  • tallied-scheduler — Background scheduler sidecar for Tallied (same image)
  • tallied-db — PostgreSQL 16 backend for Tallied (SSL required)
  • tasks-db — PostgreSQL 16 backend for the tasks app
  • energy-monitor-db — PostgreSQL 16 backend for the energy monitor

Voice AI (LAN-only, serves HeyClawy ESP32 devices)

  • edge-tts — OpenAI-compatible TTS endpoint
  • faster-whisper — Speech-to-text (Whisper small, int8)

Isolated Deployment

Host

Hardware
Dell PowerEdge R630
OS / Kernel
Ubuntu 24.04.3 LTS (6.8.0-generic)
CPU / Memory
Intel Xeon (16 cores) · 128GB DDR4
Stack
Docker + NGINX + Cloudflare

This site itself is a Nuxt SSR app backed by a Flask API; both run as containers on the same machine. Source: github.com/MCheli/PersonalWebsite.

Welcome to Mark Cheli's Developer Terminal!
Last login: Sun, May 3, 2026, 10:40 AM from local-machine

Type 'help' for available commands. Try 'linkedin' to connect.

user@83rr-poweredge:~$
Try: linkedin (or press Enter)