David Mashiah

One person · Three systems · No team

David
Mashiah

I build complete software systems alone, across unrelated domains. The method is the point: every codebase is architected so an AI agent can work in it safely, which is what makes the pace possible.

Solo builder Agent-native architecture Hebrew-first & accessible

Measure your own vernier hyperacuity → See the three systems

0
Concurrent players
$0
Run cost at that scale
AAA
Contrast target
0%
Rules-engine coverage

Anyone can generate code now. I build what still works six months later.

The differentiator — stated plainly

01 Method

How one person ships this much

The limit on a solo builder is not ambition, it is attention. Nobody holds three unrelated systems in their head at once — so the codebase has to hold itself.

I build alone. That should not produce complete systems across clinical, real-time and local-first domains, and it only does because I stopped relying on remembering how a codebase works and started making the codebase enforce how it works.

Every repository is written to be legible to an AI agent as readily as to a person. A generated map that CI keeps honest, so an agent locates code by reading one small file instead of grepping a tree. Module walls that are lint errors rather than conventions, so a boundary cannot be quietly crossed at 2am. A hard ceiling on file length, so no file becomes the one nobody will open. A structural-debt number that is only permitted to move down.

None of this is exotic — it is ordinary engineering discipline, mechanised. But mechanised discipline is exactly what a person working without a team does not otherwise get, and it is the difference between an agent being a liability in a codebase and being useful in one.

  1. 01

    Boundaries are lint errors

    A cross-feature deep import fails the build. Module walls are enforced, not documented.

  2. 02

    400-line ceiling

    Lint-enforced, so no file quietly becomes the one nobody is willing to open.

  3. 03

    Repo maps are generated and CI-verified

    Never stale. Code is located by reading one small map, not by grepping the tree.

  4. 04

    Structural debt only ratchets down

    The build fails if it went up. Debt is a number, not a feeling.

  5. 05

    Accessibility is a gate

    AAA contrast, reduced motion, RTL and night mode ship on every screen, or the screen does not ship.

  6. 06

    Errors carry their own diagnostics

    Schema version, migration ledger, row counts, query timings, N+1 flags. Debugging starts from evidence.

02 Constraints

The requirements I keep choosing

I am not a clinician and not an accessibility specialist. I am a generalist who keeps picking problems with awkward requirements attached — and these are the conditions that follow from them.

DomainRegulated health software · higher-education systems
Interface languagesHebrew (RTL) · Arabic (RTL) · English
Contrast targetWCAG AAA
Type floor16pt body · 24pt critical
Touch targets≥ 48px
Motion120–320ms · disabled under prefers-reduced-motion
ColourNever the sole cue — always paired with an icon and text
Max file length400 lines · lint-enforced
Module boundariesCross-feature imports fail the build
Peak concurrency1,000 players in a single room · measured, not estimated
Run cost at that scale$0
This pageImplements all of the above — the controls are in the corner
03 Work

Three systems, built solo

One clinical, one real-time, one local-first. No team on any of them.

One reached a university and is live. One reached clinicians and stopped. One runs my own life. None of them is a business.

The scoreboard, project by project

Qeben

Never deployed

Home monitoring for age-related macular degeneration. A daily hyperacuity self-test that looks for macular change between clinic visits, and the triage workflow that puts the resulting alert in front of someone who can act on it.

It did not reach clearance and was never deployed. It is here for the accessibility and architecture work, not as a product claim.

StatusResearch prototype · never deployed
Advisory inputOphthalmologists and university researchers, in a personal capacity — no institutional collaboration
Intended usersAdults 50+, losing central vision
InterfaceHebrew-first RTL · AAA · 16pt floor · 48px targets · night mode as a first-class theme
BackendMulti-tenant · one bounded context per module
RegulatoryEngineered to SaMD standards · not clinically validated · labelled not for diagnostic use

1 vs 100

Tel Aviv University

A live TV-format quiz game. One hero against a mob of up to a thousand, joining with a PIN and a nickname. The interesting part is not the game — it is holding a thousand live sockets in one consistent room without a race condition and without a bill.

Live — cup.taueng.com ↗

Peak concurrency1,000 players, single room
Run cost$0 · roughly 50 full games per day
Concurrency modelOne Cloudflare Durable Object per room — serialised by construction, not by locking
TransportWebSocket Hibernation · idle sockets held open unbilled
Rules enginePure, no I/O · 100% unit coverage
VerificationLoad-test harness simulating N players, so the number is measured

Leviathan

Local-first

A life-OS for study, training, habits, finance and planning. No server, no API routes, no server actions. One storage engine on both targets, so there is one set of behaviours to reason about instead of two that agree most of the time.

ShellTauri 2 desktop · Next.js static export
ServerNone
StorageSQLite native on desktop · SQLite-WASM on OPFS in the browser
Source of truthThe database — stores are in-memory caches over it
MigrationsHand-written SQL · Drizzle for queries and types
DiagnosticsSchema version, migration ledger, row counts, query timings, N+1 flags — one button
04 Demonstration

Vernier hyperacuity, measured in your browser

The perceptual effect Qeben is built on, as a working instrument — including an honest account of what a screen can and cannot measure.

Vernier acuity · adaptive staircase 2-down / 1-up · 14 trials · ~71% correct

This is a demonstration, not a vision test. It is not a medical device, it produces no diagnosis, and nothing here should inform a decision about your eyes. If your vision has changed, see an optometrist or ophthalmologist.

Step 1 — Calibrate the display

Hold any bank card flat against the screen and drag the slider until the rectangle matches it exactly. Payment cards are standardised worldwide at 85.60 × 53.98 mm, which makes them a reliable ruler for finding your display's true pixel pitch.

Step 2 — Viewing distance

How far are your eyes from the screen? Measure it if you can — a guess propagates straight into the arithmetic below.

cm

Step 3 — The task

Two vertical segments appear with a gap between them. Decide whether the upper segment sits to the left or the right of the lower one. Fourteen trials, about a minute. The offset shrinks when you are right and grows when you are wrong, so it converges on your threshold rather than testing you at a fixed difficulty. Buttons or the ← → keys.

Angular size, logarithmic — arcseconds

2–5″Clinical vernier threshold
60″Standard visual acuity (1′)
≈ 90″One screen pixel at 60 cm
1″ 10″ 100″

Why a browser cannot measure hyperacuity — and why that is the argument, not the excuse.

Vernier acuity is the ability to tell that two line segments are not collinear. It is called a hyperacuity because the threshold is finer than the spacing of the photoreceptor mosaic itself — the retina does not resolve the offset, the cortex infers it from the luminance distribution across several receptors. Reported thresholds sit around 2–5 arcseconds, roughly ten times finer than standard visual acuity, which is about one arcminute, or 60 arcseconds.

That sensitivity is precisely why it is clinically useful. Metamorphopsia — the perceived warping of straight lines caused by fluid lifting the macula — shows up in a hyperacuity task long before it shows up on a letter chart. Preferential hyperacuity perimetry exploits exactly this, and has been reported discriminating wet AMD with an area under the ROC curve of 0.87.

Now put that on a screen. At a 60 cm viewing distance, a single pixel on a typical display subtends roughly 90 arcseconds. The quantity being measured is 2–5. One pixel is about twenty times coarser than the entire clinical range.

The demonstration above still reaches sub-pixel thresholds, and the reason is worth stating: an offset of a fraction of a pixel is not discarded, it is antialiased. The renderer distributes the line's energy across neighbouring pixels, shifting the luminance centroid by less than the pixel pitch, and the visual system integrates that shift. So the task is measurable — but below one pixel you are partly characterising the rendering pipeline, the panel's subpixel geometry and its gamma, not only the observer.

This is the distinction between a demonstration and an instrument. A browser can show you the phenomenon and let you feel where your own threshold lies. It cannot control viewing distance, luminance, contrast calibration, refraction, or pixel geometry — and without those the number is not a measurement of the eye. That is not a disclaimer bolted onto the end of a product. It is the reason the product was labelled not for diagnostic use, and it is the kind of constraint that has to be settled before any code is written, not after.

Sources — The Clinical Use of Vernier Acuity: Resolution of the Visual Cortex Is More Than Meets the Eye · Accuracy of a Self-monitoring Test for Identification and Monitoring of Age-related Macular Degeneration