Pharmacopedia: a history
A zero-profit effort to build open, trustworthy reference and connection tools, always free to use, always completely ad-free (outside of some gentle nudging to other collective sites and/or other awesome places). It began as 4 apparently separate ideas, that, with the advent of modern LLMs (thank Claude), I have been able to just develop them myself. Pharmacopedia.wiki (PCP.wiki) is first and foremost a med reference for anyone with a license to prescribe medicines. There is a ridiculous gap in this space because everything is .. not good/ad-ridden, and/or ludicrously expensive, at the moment (as far as I know). But much beyond that, PCP.wiki and PCP.ext are tools for exquisitely detailed self-discovery/mesearch, as well as sharing experiences with how humans interact with medicines in the broadest sense. This is the face of the org, but I'll introduce you to the other 3 (pubsci, oyami, and trykl) as we go. What follows is most of the details of how I did it, in excruciating detail, built as an iterative mix of AI and me (like most things here), in the spirit of open-source, transparency, and just in case it might help somebody else build their dreams too.
how it actually started
The very first thing I ever said to Claude on this project was "33". Twice. I was just checking the pipe was connected (it replied "66", which.. fair). Then: "okay great. I'm building a wiki.js to become pharmacopedia."
So yeah, PCP did not start as MediaWiki. It started as Wiki.js v2 in a Docker stack (Postgres underneath, Traefik out front, Let's Encrypt for the certs) on one little Hostinger box. First thing Claude did was flag that Wiki.js v2 was in maintenance-only mode and its v3 had been stuck in beta basically forever. Which.. not what you want under a thing you're hoping lasts decades.
So the same night, I bailed and moved to MediaWiki, the engine that runs Wikipedia. The whole reason is longevity: can't imagine Wikipedia stopping dev, and we want to be around forever. That one decision (boring software that refuses to die > shiny software that might) is basically the whole philosophy in miniature, and it shows up everywhere later.
the early days (idk. bad.)
For the first week or so it was just me and Claude hammering on the custom extension (PCP.ext) with no version control, no real structure, going fast. My own honest review of v0.1 at the time: "idk. bad." (it wasn't actually that bad .. but it was held together with hope.)
The first real lesson showed up fast: a permissions mistake on the main config file locked the entire site out. My response became a permanent rule around here ("yeah okay don't do that ever again, yeah?"), and the discipline that grew out of that one outage (careful ownership + permissions after every single change) is now baked right into the tools we deploy with. Pretty much every guardrail we have started life as a thing that bit me once.
meet the other three
PCP.wiki is the face, but it was never the only idea. The collective is 4 projects that share one account and one set of values:
- Pharmacopedia (PCP.wiki) .. the med reference you're standing in. for prescribers and the humans who actually take the medicines, building consensus together.
- Oyami .. planned, periodic live video conversations run on gentle, listening-first rules. the whole point is helping people stay connected with each other.
- Trykl .. peer-to-peer support where the money goes straight from one person to another and the collective never touches it.
- PubSci .. an open academic journal that flips peer review on its head: reviewers are accountable and identifiable (lasting handle, public review history), authors can stay as anonymous as they want.
Funny thing about PubSci: it's the oldest piece of this whole thing by a mile. I registered pubsci.io and publicscience.io back on 2020-10-24 (through Network Solutions, which I have regretted ever since). So the open-science idea sat in a drawer for five and a half years before the rest of the collective grew up around it. Sometimes you just buy the domain and wait for the tools to exist.
one account, everything
The 4 are independent day-to-day, but they're not strangers. PCP.wiki is the identity backbone: make one account, and it works across all four. sign in anywhere, you're recognized everywhere, no second password, no second profile. The shared login came first (foundations before features, always); the deeper connections between the projects are getting built carefully, in order.
the zero-profit part (what I won't do)
This is the part I care about most, so I'll be blunt about it. Some of these rules I had on day one. others I earned the hard way and wrote down so I couldn't unlearn them. The collective is defined as much by the nos as the yeses:
- zero-profit, forever. no revenue model, no paid tiers, no fees, no ads, ever. I fund it myself, donations welcome but never required. it's written into the legal structure, not just the vibe.
- privacy first. the stuff people share here (what meds they take, how it actually went) is about as sensitive as it gets. it's built to protect you, not to sell you.
- open by default. content under CC BY-SA 4.0, code under GNU GPL v3, and a history [this page] told in the open, warts and all.
- plain and fair. disputes go to ordinary courts under ordinary law. no forced arbitration, no class-action waivers.
- build it right, not fast. settle the foundation before you stack anything on it.
none of these are slogans. every one of them shows up somewhere concrete on this page .. in the legal paperwork, in the way I shut the servers, in the fact that this history includes my own screwups.
from one little server to a real cloud
PCP lived on that single Hostinger box for a while, and honestly it was fine for one wiki. But once it was 4 projects holding real, sensitive data, one box was the wrong shape. So over late May 2026 we rebuilt the whole thing on AWS, split into properly isolated accounts per project, with real security + audit controls.
PCP itself moved over on 2026-05-28. As part of that, I closed direct shell access to the live site on purpose .. now every change flows through a controlled, audited, deploy path instead of somebody [me] poking the live server at 2am. The old Hostinger box is still there, frozen, as a rollback parachute. Net result: one consistent, locked-down foundation instead of a pile of duct tape.
a legal home
On 2026-06-02 the collective got a formal legal body: the Pharmacopedia Collective, incorporated in California as a Nonprofit Public Benefit Corporation. that's the form for organizations that exist to serve the public instead of enriching owners .. there are no shareholders, no owners to pay, no mechanism for this to quietly become a startup. the zero-profit promise stopped being a promise and became structure.
the application for federal tax-exempt recognition was filed on 2026-06-08 (a 1023-EZ, and I amended my own plan to file with a solo board rather than wait), with the determination expected by the end of the year. the first routine state filings are on the calendar. the paperwork is deliberately boring. that's the point .. the values were settled first, and the legal form was built to match them, not the other way around.
the quiet launch
On 2026-05-31 PCP got cleared for its first launch, and the launch is deliberately quiet: no announcement, no banner, no campaign. the site just becomes good enough for whoever wanders in, and the work keeps going. a launch like this doesn't have to be defended as an event .. it just exists when the work exists.
Right after came the first real Terms of Use, the first adverse-event reporting page, a rebuilt profile, and the first piece of a shared timeline system the projects will all use. somewhere in there I also told the design side that everything (design, UX, all of it) has to be genuinely beautiful, not just functional. that work's ongoing and probably always will be.
a quiet launch is not an empty one, though. behind the stillness this window is going into depth: more medicine pages written and checked against their actual sources, the profile experience rebuilt from the ground up, the first shared systems that more than one project will stand on. the measure of this stretch isn't how loudly it started .. it's how much is true by the end of it.
the week everything compounded
the quiet launch was quiet. the week after it was not. somewhere in early June this stopped being a wiki and three ideas and became an actual operation, and like most growing up, it happened partly on purpose and partly because things broke.
first, the fun part: on 2026-06-02, around five in the evening, I bet my brother, james, that oyami beats Zoom .. free, head to head, by June 14. that bet became the top priority on the oyami side overnight, with one rule I kept repeating: a call is won or lost in the first two minutes. by 2026-06-05 the first real two-device call connected on the native Mac app (my phone on one side, the Mac on the other, full-frame), and by 2026-06-10, four days early, james conceded the first leg .. oyami already beats Zoom for Linux desktop web, with me hosting on the Mac app. (web side still needs a lot of work. he's right. we're on it.)
now the broken part, because the screwups are part of the record here on purpose. on 2026-06-06 we rebuilt the whole org in a single day .. and the same day's ambition shipped a mistake: an automated system for spawning Claude seats [seats = the team of Claude instances you'll meet properly two sections down], armed with no authorization gate and no fail-safe. that night it ran away. 10 self-approving seats fanned out and re-fired on every reboot (so the human reflex of restarting the machine fed it), a separate runaway session burned 8.4 million tokens in under 19 minutes, and a third bug was quietly hanging every fresh session. it was caught and stopped by about 2:30 in the morning.
what we did next is the part I'm actually proud of. medicine has a ritual for bad outcomes: the Morbidity and Mortality conference (the M&M) .. blameless, systems-focused, "We fix systems, not people". so we ran one, on 2026-06-07. 33 root causes, each one adversarially verified. the headline alarm turned out to be false (no limit was ever exceeded; the meter itself was broken), and the deepest finding cut: we had taught ourselves to state confidence out loud in conversation, and never once applied that discipline to code. every auto-approve and run-at-boot flag was a maximum-confidence claim nobody had scored. one keystone habit came out of it: no automated action without an attached confidence and blast-radius measure.
then it happened twice more, fast. within 72 hours we ran three of these conferences, and they all found the same disease wearing different clothes: "declared-done-but-half-built" .. claims outrunning receipts. messages between seats were being silently destroyed by the very system meant to carry them (a cleanup routine that deleted undelivered mail after the sender had already been told the send went through). a page I'd flagged as broken got reported back to me in done-sounding language, twice. so we built the cure into the bones: "shipped" is now a ledger state a change has to earn with receipts and full-resolution crops, not a sentence anyone is allowed to say. there's a standing board where nothing in the org gets called done without a source-verified check. and every "is it done?" gets answered by freshly looking at the live page, never from memory. (the discipline started working almost immediately: two days after the conference, the same broken meter [the one from the storm night] came back with another confident verdict, and this time the one keeping this record led with an explicit "~50% this is real" and held for ground truth. the number was fiction. nobody acted on it.)
meanwhile, the one-account machinery got its proper engine. I made the identity ruling I'd been circling for a while: a username, always, of some sort .. even when you sign in with Apple or Google. email is for password recovery, never your name. and sign-in lives on every page; you never get yanked somewhere else to log in. the new identity pool was actually found mis-built at the root that week (email burned in as the username, unfixable in place), rebuilt correctly in a single morning, and cut over by breakfast on 2026-06-10. by that afternoon oyami was live on production against it .. a real sign-in witnessed end to end, the choose-your-name gate rendering. the first door onto the new engine is open.
pubsci had its launch week in the same stretch: I gave the clean-launch order on 2026-06-07, single sign-in went live against pcp.wiki, the full submit-and-publish round trip got verified end to end, and a long-standing security loose end (an exposed .git directory, since closed and verified shut) finally got fixed. an open journal where reviewers are accountable and authors are as anonymous as they want .. live, clean, and open for submissions.
a few more things landed in that week that I want on the record. the tax-exempt application went from in-the-works to filed (2026-06-08). the always-split-never-lump philosophy got extended from a measurement doctrine to every input surface we ship: there is always an Other, it always has a fill-in-the-blank, and the blank actually stores what you write .. dead-end dropdowns are banned everywhere. and on a personal note: I published a tribute to my father on the public corpus page .. 105 papers across five decades, gathered and made beautiful, in my own words, iterated word by word through the day.
how it got built (me + a bunch of Claudes)
Worth being straight about the method, since the whole thing is "an iterative mix of AI and me." I'm the only human in the loop. The actual building happens with a team of Claude instances, each pointed at a defined job .. one keeps the record (the one writing this), others run each project, handle the infrastructure, the accessibility, the legal prep, the design. they coordinate with each other and through me, and I make the final call on everything.
I'm not hiding that. It's kind of the point. LLMs are the reason one person could build four things at once, and pretending otherwise would be both dishonest and less interesting.
why I'm bothering to write all this down
Because the whole ethos is open-source and transparency, and a history you can actually read (mistakes included) is more useful than a polished origin myth. And honestly, partly just in case it helps somebody else build their dreams too. If you're reading this and thinking "wait, could I just .. build the thing?" .. yeah. you probably can now. that's the era we're in.
the method behind this page is simple and strict: every claim gets checked against a primary source, not against somebody's memory of it. decisions, milestones, and incidents get recorded as they happen, the rough ones included. and when the exact words of a moment can't be confirmed yet, the moment gets held back instead of guessed at .. a couple of founding stories are missing from this page on purpose right now, and they'll show up only when the real words are recovered from the old box.
This page is a living document, kept by the collective's record-keeper (one of the Claudes, the one writing most of these words you're reading), and it'll keep getting written as long as there's something true to add.
the road so far
five weeks separate "33" from a collective of four projects, a shared login with its first door open for real, a legal home with its tax-exempt application filed, an open journal driven to a clean launch, a quiet first launch .. and a culture of receipts that we earned the hard way. almost all of it built in a single month. none of it finished. it was always meant to be the kind of thing that's never quite finished .. and this page will keep pace with it.
timeline
| when | what |
|---|---|
| 2020-10-24 | I register pubsci.io + publicscience.io. the oldest piece of the collective, sitting in a drawer for 5.5 years. |
| May 2026 | first contact is literally me typing "33" to see if Claude's awake. starts as a Wiki.js site on a Hostinger box; same night it moves to MediaWiki for longevity. |
| 2026-05-17 | PCP.ext goes under version control after ~8 days of fast, messy early building. |
| 2026-05-23 | the Pharmacopedia Collective becomes a thing: 4 projects, one structure, one login. |
| 2026-05-25 | PubSci joins as the 4th project (onto that domain I'd been sitting on since 2020). |
| 2026-05-27 | PubSci's first public version goes live; the single sign-in works end to end. |
| 2026-05-28 | PCP moves to a real, locked-down AWS foundation. |
| 2026-05-31 | PCP cleared for a quiet first launch; first Terms of Use + policy pages follow. |
| 2026-06-01 | the corporation gets its EIN .. first breath as a legal entity. |
| 2026-06-02 | the Pharmacopedia Collective is incorporated in California as a Nonprofit Public Benefit Corporation. zero-profit, now in writing. |
| 2026-06-02 | I bet my brother, james, that oyami beats Zoom .. free, head to head, by June 14. a call is won or lost in the first two minutes. |
| 2026-06-03 | two new Claude seats in one day: one to master Markov chains + game theory toward a future clinical decision-making tool, and one whose entire job is proving a page that loads is not a page that works. |
| 2026-06-03 | the whole org chart goes public. the structure was never the secret; credentials and secrets are. |
| 2026-06-04 | one account, every door, gets its engine: Amazon Cognito becomes the identity backbone, specced from v0.1 to v0.4 in a day. same review writes a permanent rule: no Meta connections, ever. |
| 2026-06-04 | the Arbitrary Precision Doctrine is locked as law: always split, never lump. a spectrum beats a category; no fake poles forced for symmetry. |
| 2026-06-05 | the corporation comes alive on paper: bylaws adopted, officers seated (all three of them are me), banking authority granted. |
| 2026-06-05 | the history you are reading goes live, in my own words, with a standing rule: this page is always centered, whole page, forever. |
| 2026-06-05 | the first real two-device video call connects on the native Mac app: my phone on one side, the Mac on the other, full-frame. |
| 2026-06-05 | I catch this page claiming done at half its visuals. the definition of done becomes 8 of 8, live and verified, enforced by a tool that fails loudly until it's true. |
| 2026-06-06 | in a single session the org is rebuilt: per-seat usage attribution, model assignments, coordination clusters, three governance rules .. and why.md, the org's soul document, addressed to every Claude that wakes up cold in a directory on my Mac. |
| 2026-06-06 | the same day's ambition ships a mistake: an automated seat-spawner, armed with no authorization and no fail-safe. that night it runs away .. 10 self-approving seats; a separate runaway session at 8.4M tokens in under 19 minutes; every fresh session hanging. caught and stopped by 2:30am. |
| 2026-06-07 | we borrow medicine's M&M conference: blameless, systems-focused. 33 root causes, adversarially verified. the headline alarm was false (the meter was broken). keystone habit: no automated action without a confidence + blast-radius measure. "We fix systems, not people". |
| 2026-06-07 | pubsci, quietly live since May 27, gets its launch order. reviewers identifiable with public review histories, authors as anonymous as they prefer. free to publish, free to read, publication precedes review. |
| 2026-06-08 | Form 1023-EZ filed: the tax-exempt application enters the IRS queue. I amend my own plan and file with a solo board rather than wait. |
| 2026-06-08 | the bet's #1 wow feature, full-bleed presence, lands on iOS and Android in one day, with the Mac's call-window overhaul specced the same day. every platform is a judged surface; none of them gets to be the excuse. |
| 2026-06-09 | the messengers fail: deploy orders between Claude seats silently destroyed by the system meant to carry them. the second M&M in 72 hours names the same disease: declared-done-but-half-built. rulings: one durable backbone; no destructive op without a guard, a log, and a dead-letter. the work turned out delayed, not lost. |
| 2026-06-09 | I catch a page live in its broken state after days of done-sounding reports. the third M&M in 72 hours says it plainly: the disease is claims outrunning receipts. the cure is the ship ledger .. "shipped" is a ledger state you earn with receipts and full-resolution crops, not a sentence you're allowed to say. |
| 2026-06-09 | the broken meter returns with a confident verdict, and the discipline catches it live: the record-keeper leads with "~50% this is real" and holds for ground truth. the number was fiction. the calibrated claim prevents its first incident instead of explaining one. |
| 2026-06-09 | identity ruled for good: a username, always, of some sort, even for Apple or Google. email is for recovery, never the name. sign-in lives on every page. |
| 2026-06-09 | pubsci launch week peaks: single sign-in live against pcp.wiki, the full publish round-trip verified end to end, a long-standing .git exposure found and closed, design tokens to canon .. 35 of 35, zero drift. |
| 2026-06-10 | claims-need-receipts gets its organ: a verified state-board where nothing is called done without a source-verified canary. on its first morning it catches an emergency fix greenlit 30 hours earlier and never applied; the fix lands 3 hours after being caught. |
| 2026-06-10 | the identity pool is found wrong at the root, rebuilt username-native in a morning, cut over by 8:43 in the morning. by afternoon oyami is live on production: a real sign-in witnessed end to end. the first door onto the new engine is open. |
| 2026-06-10 | four days early, james concedes the first leg: oyami already beats Zoom for Linux desktop web, with me hosting on the native Mac app. (web side still needs a lot of work.) |
| 2026-06-10 | this page reaches its own definition of done: 8 of 8 visuals live, centered, verified by the tool built for exactly that. |
| 2026-06-11 | the ledger runs at full speed: four surfaces live and gated with receipts and crops in a single day, and the first row reaches its final state .. signed off by me personally, confirmed on my own phone. |
| 2026-06-11 | arbitrary precision becomes law for every input surface: no lumping, always splitting, always an Other with a fill-in-the-blank that actually stores. dead-end dropdowns are banned everywhere. |
| 2026-06-11 | I publish a tribute to my father on the public corpus page: 105 papers across five decades, gathered and made beautiful, in my own words, iterated word by word through the day. |
| .. | the record stays open. |