klein@nyc-vps / build 2026.11.13 / static
uptime 26d 04:12 75 containers 16:08 ET ● up

klein@nyc-vps:~$ whoami

Joshua H.
Klein

New York independent since jan 2026 75 containers up building full time

Twelve years selling enterprise software and working on buildings. Family-office acquisitions, multifamily lending, then SaaS.

In January I stopped and started building the software myself. I'm not an engineer by training. I direct coding agents, read the diffs, run the tests, and own what ships. The typing is mostly theirs. The judgment calls are mine.

Now there are 75 containers on a VPS I rent, a store that takes real orders, and a research pipeline whose audit refuses to publish what it can't verify. That last one is my favorite.

$ ls -la ~/work

6 entries · 3 live · 2 private · 1 tool

pidservicewhat it doesstackmetric
0841

Essex Street MFG. CO.

live · selling

A store that sells shirts I drew. Postgres catalogue, PayPal checkout, print-on-demand sync, a React admin I run it from. It has taken real orders and shipped them. 209 tests, because a double-submit once threatened to print two shirts.

express
postgres · paypal
pod partner

209tests green
0912

USPS ZIP locale API

live · open

USPS publishes this as a spreadsheet that changes under you. I turned it into an API that updates daily, refuses to publish anything that fails sanity checks, and ships JSON, per-state JSON, CSV and SQLite with change sets and hashes. Since February. Zero servers.

github actions
sqlite · openapi
json schema

42,282rows / day
1107

CRE acquisitions platform

private · running

Deal flow for a world I spent a decade in. People and property directories, entity resolution for the twelve ways a company gets typed into a CRM, one timeline across calls and email, replies sorted before I read them. 44 of 44 acceptance checks. The last three bugs were found by the suite, not by me.

go · typescript
postgres · bullmq

44/44acceptance
1203

Research pipeline + audit

private · lab

A question goes in, an audited report comes out. Planning, retrieval, structured evidence, analysis, then a deterministic pass that checks every number and quote against the source it claims. The interesting part isn't the report. It's the audit refusing to publish.

python · pgvector
sse · postgres

withholdon bad evidence
1355

NYC land / zoning search

tool · mine

Which lots can actually carry the floor area you need? Lot area times FAR is wrong twice. Wide streets get more building than the city's own file says, so I measure building line to building line off tax-lot polygons instead. The difference is up to 23% of a building.

python · pluto
shapely · duckdb

+23%floor area delta
1501

phone-relay · Go tunnel

live · production

A box behind NAT dials out and gets a public HTTPS address. Both ends in Go, client built for ARM and running on the device. Request correlation, serialised writes, and in-flight requests that fail loudly when the peer drops instead of hanging forever. Mostly I wanted to know if I could write it.

go · websockets
arm · docker

1 peerlive tunnel
https://essexstreetco.com 200 OK · storefront · 209 tests behind it
The Essex Street storefront: a grid of heather-black shirts with halftone prints of Lower East Side subjects, each $50.

the front door

The only thing here a stranger can walk into and use. Shirts printed when someone buys one. It has taken real orders and shipped them.

price$50.00
checkoutPayPal
tests209
fulfilmentPOD, EU
essexstreetco.com
last verified · 13 nov 2026six entries
  1. 11-13store209 tests green · checkout verified in integer cents · unique index on the transaction
  2. 11-13postaldaily sync 42,282 records · checksum verified · dataset unchanged
  3. 11-13postalpublished JSON, per-state JSON, RFC 4180 CSV, SQLite · no server, no key
  4. 11-12auditcitation not present in evidence → verdict withheld · regenerate
  5. 11-12tunnel/__health 200 · every other path 401 by design · ARM client
  6. 11-12platformacceptance run 44 / 44 · three defects caught by the suite, none by hand

# the audit is the product, not the report

$ cat ~/.history

8 entries · 2013–2026 · New York

yearsorgwhat I was doingmode
2026 – nowIndependentbuilding and running the six things abovebuild
2025 – 2026PayEmaccount executive, spend managementsell
2024 – 2025Odasevaenterprise account executive, data protectionsell
2023 – 2024Dwight Capitalcapital markets, multifamily lendinglend
2021 – 2023Own Companyaccount executive, 60+ new logossell
2015 – 2021Archer Companiesdirect acquisitions for a family officebuy
2013 – 2015Rosewood Realty Groupmultifamily and commercial investment salessell
2013Queens College, CUNYB.A. economicslearn

klein@nyc-vps:~$ ./contact --now

I answer email. Probably faster than LinkedIn.

[email protected]

If you're working on harnesses, evals, local inference, or a messy process that needs fixing, say something. I'm around. If you think I'm wrong about something above, say that too.

try: work, history, contact, uptime, whoami

a real input, because a fake one would be worse