Services
What we build
We work in two areas. Both rest on the same foundations: reading hardware correctly, handling data at volume, and documenting the result well enough to stand up to review.
Projects cited below were performed by the principal. The current medical device program is Pebble Logic work, with the client name withheld under a confidentiality agreement. The rest predates the firm.
Instrument software
Scientific, industrial, and medical instruments are the same engineering problem: a signal chain, an acquisition path, an application, and proof that the measurement is right.
Regulated instruments
A bedside console, an ultrasound system, a benchtop diagnostic, a clinical OCT imager. Each is an instrument like any other, and each also carries a documentation burden that most small software shops cannot take on. This is the sharpest part of our work: the software, from signal chain through application, and the IEC 62304 lifecycle documentation written alongside it.
A bedside instrument console for a federally funded medical device program is being delivered now. The lifecycle documentation set supporting its FDA premarket submission, covering a development plan, an architecture description, a third-party dependency risk analysis, and a documentation-level plan, is contracted and in progress. Behind it is the principal's more than five years on FDA-regulated medical device software before Pebble Logic.
We produce software and lifecycle documentation. We do not prepare or file regulatory submissions, act as your regulatory representative, or perform certification testing.
Legacy modernization
Instrument software that has outlived its platform, moved onto Python and Qt. Closed vendor protocols and aging acquisition platforms are the usual starting point. The goal is an application your team can still maintain in five years, measuring what the old one measured, checked against known injected signals.
This is an offering with one engagement behind it, and that engagement is in progress: a bedside instrument console for a federally funded medical device program is replacing an incumbent acquisition path right now, after that path was disqualified on its closed proprietary protocol. We have not completed a platform migration. We are glad to talk through how this one is going.
Data acquisition integration
Choosing the acquisition hardware against your requirements, then integrating it. LabJack T-series over the LJM library, signal conditioning chains, analog and digital I/O.
Hardware evaluation and trade studies
Requirements-driven evaluation of candidate devices before any application code is written. On the current medical device program this ran against 18 hard and 22 soft requirements and disqualified a path that depended on a closed vendor protocol.
Desktop applications
Python with PySide6 and Qt on Windows. Real-time waveform display, acquisition control, session recording, data logging, and export.
Verification infrastructure
Test rigs that check acquisition and display against known signals, independently of the physical sensor. On the current program a second LabJack T4 feeds synthetic waveforms into the T7 analog input for exactly this.
Instrument control
Serial protocols, vendor SDKs, and closed-API integration, including working around a closed proprietary protocol when that is what the hardware requires.
For industrial and scientific work we describe the same documentation practice in your terms rather than medical ones: traceable requirements, architecture documentation, dependency risk analysis, and verification evidence, without the cost of a regulatory program you do not need.
Energy, grid, and distributed energy resources
Charging and device protocols
The principal wrote an OCPP 1.6 server from scratch, along with the Flask and PostgreSQL API and React frontend around it: RFID authorization, usage tracking, charge-complete notification, and interoperation with third-party chargers. Protocol implementation is often where these projects stall.
Fleet telemetry and time-series data
Sustained high-rate ingest, partitioned and tiered storage, and query routing by date range. A commercial solar platform serving more than 40,000 installations sustained more than 9,000 database inserts per second across roughly 500 million rows and 100 GB per month, with dashboard queries over months of history reduced from minutes to under two seconds.
Monitoring, alerting, and field operations
Anomaly detection for underperforming assets with owner alerting, fleet dashboards, and remote device control. A C# Windows agent collecting WMI, SNMP, and Event Log data has fed a NestJS and PostgreSQL time-series backend with a React dashboard and remote power-cycling.
Cloud data platform
PostgreSQL, Redshift, Elasticsearch, Kafka, Redis, Docker, and Kubernetes on AWS, with APIs in Python or Node.js. An analytics platform processing more than 3 TB daily ran on containers on Kubernetes, with 150 per-customer databases consolidated into multi-tenant Redshift and Elasticsearch, which halved its infrastructure cost.
Device communications
MQTT, SNMP, BLE, serial, and gateway integration, with the telemetry path behind it. An e-paper signage system for battery-powered displays used MQTT for device messaging, with a React dashboard and a BLE setup application.
More on OCPP server development
On standards
OCPP 1.6 is implementation experience: a server the principal wrote from scratch, interoperating with third-party chargers.
IEEE 2030.5 and CSIP, SunSpec Modbus, IEEE 1547, UL 1741 SA and SB, and CPUC Rule 21 are different. We follow that landscape and can talk through where a product sits in it, but we have not implemented them, tested to them, or earned credentials in them. If your program needs certification testing, you will need a test lab, and we would rather say so early than late.
Where most engagements start
A two-week review, before anyone commits to a build
Three fixed-price reviews: one for instrument software, one for regulated instruments, and one for energy. Each ends with a written document, a risk register, and a scoped estimate or plan for the work that would follow.
$7,500 fixed / two weeks
Credited in full against a build engagement of $25,000 or more started within 90 days.
Signal Chain and Hardware Review
For instrumentation projects.
- Hard and soft requirements captured and documented with you
- Candidate acquisition hardware evaluated against them, with disqualifications explained rather than asserted
- A recommended signal path, from sensor through conditioning and acquisition to the application
- A risk register covering closed vendor APIs, silent dependencies, isolation, resolution, and sample-rate headroom
- A scoped estimate for the build that follows
One instrument or signal path, up to five candidate hardware options, one revision round.
$7,500 fixed / two weeks
Credited in full against a build engagement of $25,000 or more started within 90 days.
Software Lifecycle Readiness Review
For a device program heading to a submission without the software documentation to support it.
- A gap analysis against IEC 62304: what exists, what is missing, and what closing it takes
- A written assessment of your software documentation
- A risk register
- A scoped plan for closing the gaps
One device or software system, one revision round.
$7,500 fixed / two weeks
Credited in full against a build engagement of $25,000 or more started within 90 days.
Device Telemetry and Protocol Review
For energy and fleet projects.
- Telemetry requirements captured with you: reporting interval, data points per device, projected fleet size, latency expectations, and retention horizon
- Candidate device-to-platform protocols evaluated against them, including gateway versus embedded-client approaches, with disqualifications explained rather than asserted
- A recommended telemetry architecture: ingest path, storage tiering by access pattern, and query routing
- A capacity projection at target fleet scale, covering sustained ingest rate and storage growth
- A risk register covering vendor gateway lock-in, firmware and over-the-air update implications, device time synchronization, data gaps and backfill, and what your interconnection path implies for the software
- A scoped estimate for the build that follows
One device type or product line, up to five candidate protocols or architectures, one fleet-scale projection, one revision round.
The readiness and telemetry reviews are engineering reviews, not compliance or certification services. The readiness review assesses software documentation against IEC 62304; it is not a regulatory submission or representation and does not predict a regulatory outcome. The telemetry review flags what your interconnection path implies for the software. It does not certify, assess conformance, or advise on regulatory strategy.
Subcontracting
Working through a design firm or integrator
We take the software layer on hardware projects that firms would rather not hire for. We work under your brand or directly with your client, whichever you prefer.
Practically: professional liability and general liability insurance in place, certificates issued on request, mutual NDA standard, and a quality agreement signable where your client's quality system requires one. We are used to being a supplier inside someone else's process rather than running our own.
The same holds inside a federal award. We are delivering software now as a subcontractor on a federally funded program, under a negotiated purchase order, with the prime's written subcontractor consent and export compliance review completed. If you hold an award and need the software layer, none of that will be new to us.
Capability statements are available below for your vendor files.
Working together
How engagements run
Most build engagements run $25,000 to $120,000 over six to sixteen weeks. That is an engagement size rather than a rate, and the shape varies: fixed-price milestones when the scope can be defined, time and materials when the first job is understanding the problem.
Milestones are the default where they fit. Each one has written acceptance criteria and a not-to-exceed total, so the budget question is answered before the work starts rather than after. Discovery, hardware evaluation, and work on a system that has not been touched in years usually start as time and materials instead.
Regulated engagements carry a premium, and the proposal states it. The lifecycle documentation is real work, not a byproduct. Being a qualified software supplier under your quality system also carries overhead for each client: quality agreements, supplier questionnaires, and sometimes audits.
What you keep
Source lives in your repository, or is mirrored to it from the first commit. Build and deploy scripts ship with the code. Documentation is written as the work proceeds rather than assembled at the end, so the project is recoverable by another engineer at any point in the schedule, not only at delivery.
Warranty
90 days from acceptance of each deliverable, covering defects in delivered code measured against the written specification. Scope changes, changes to your environment, third-party API or hardware changes, and code modified by others fall outside it. Extended to 12 months on regulated or certification-supporting work.
Records
Project records are retained for at least three years from completion, and longer where your regulatory obligations require it.
After delivery
Every build proposal includes an optional annual maintenance agreement, priced as a share of the build and declinable. It covers dependency, driver, and operating system monitoring, a set number of hours each month for corrections, and, on regulated work, keeping the lifecycle documentation current. Repairs to delivered behavior are covered. Changes to the specification are quoted separately. Support runs in business hours, with no on-call.
Insurance and team
Three engineers on the work, not one. The firm carries professional liability and general liability insurance, with certificates issued on request.
Tell us what you are working on
An instrument that needs software, software that needs replacing, or a fleet whose data has outgrown its database. We are glad to take a look.