Straight answers.
Four groups: where the product actually stands, how it's built, how it's secured, and who owns the data. If your question isn't here, ask me and I'll add it.
Is this thing finished?
PCS is in Beta. The system is built and running: the data model, the append-only math, the commercial chain, resources, schedule import, forecasting, trends, revenue, and the reporting layer are all live and working against real seeded projects.
What's left is a full beta test pass with the first one or two clients, to prove it against real work. I'd rather tell you that now than have you find out later.
So why would I use it?
Because early clients get things later clients never will: direct access to the person who built it, real influence over what gets built next, configuration done for you rather than handed to you, and pricing that reflects the fact that you're taking a chance on something new.
If you're running a project on a spreadsheet today, the honest comparison isn't PCS versus a mature enterprise system. It's PCS versus the workbook that can't tell you why the number changed.
Who's behind it?
One person: me. Over twenty years in project controls engineering, and every architectural decision in this system comes out of that. Project Cost System LLC is a Texas company.
What's it cost?
Two flat numbers, and no per-seat charge — ever. $400/month for a single project with unlimited users. $2,000/month for unlimited projects and unlimited users.
Charging by the seat is how a cost system ends up with three logins and stale numbers. If a project needs forty people looking at it, that's forty logins. Full detail on the pricing page.
Can I just click around in it?
A sandbox with seeded data — a place to press every button without breaking anything — is on the roadmap and it's something I want badly. It isn't open yet, because putting a live system on the public internet before the permission layer is fully enforced would be careless, and I'm not doing careless. In the meantime, I'll walk you through the working system on a call and you can drive.
What is it, technically?
A web application. Nothing to install — you use it in a browser. Python (FastAPI) on the server, PostgreSQL 16 for the database, server-rendered pages with live-updating grids.
The database is the product. Roughly 73 tables and 56 views, built around one spine: Client → Project → Control Account → Work Package / Resource Allocation.
How does data get in?
Three ways, and you'll use all three:
Type it. Forms for the things people genuinely enter by hand.
Paste it. Every grid exports to a spreadsheet and re-imports from one. Export the
template, fill it in, bring it back.
Feed it. Automated batch imports from the systems that already own the data — schedule,
contracts, materials management, field progress, the ledger.
Does the system API into mine?
Yes, and it's less work than you'd expect. PCS is built on FastAPI, which means every screen in the product is already talking to a documented HTTP API — there's no separate integration layer to build and no API version lagging behind the application. The full OpenAPI specification is machine-readable, so your developers point a generator at it and get a client in whatever language your shop uses.
It's enabled per engagement rather than switched on by default, scoped to your client, and running under the same permission model and audit trail as a person clicking the button. If you want your scheduling tool or your ledger writing straight into PCS instead of round-tripping a spreadsheet, that's a conversation, not a project.
Will it fit our coding structure?
Yes — that's a design requirement, not a customization. Every major table carries up to 30 client-defined columns that you name at implementation: WBS, area, discipline, phase, cost type, contract, funding source, whatever your organization actually reports on. WBS is metadata you define, not a rigid hierarchy the software imposes.
Partners and investors can be mapped to their own cost breakdown structure, so the same project reports natively into two different structures without a reconciliation spreadsheet.
Does it handle more than one currency?
Yes. A project can buy in one currency, bill the client in another, and report to a parent company in a third. The exchange assumption behind a number is stored with it, so a report from eighteen months ago still explains itself — rather than quietly re-rating at today's rate and turning a closed period into a moving target.
How big can it get?
PostgreSQL 16 and a stateless Python application layer — the same stack behind systems far larger than any project portfolio. Scale is a provisioning question, not an architectural one: the database grows, application servers multiply, and nothing in the data model changes.
A $50K job and a $50B program run on the identical spine, and with no per-seat charge there's nothing to make you think twice about who gets a login.
Does it replace our ERP / accounting system?
No, and it shouldn't. PCS is a system of reporting and communication, not the originating system of record for requisitions, contracts, goods receipts, or invoices. Those documents are born in your business systems; PCS consumes them, maps them to the cost structure, and reports against them.
If you don't have those systems, you can run those processes in PCS — it just isn't certified for that purpose, and I'll tell you that up front.
How do people log in?
Two ways: a password, or a passwordless magic link sent to your email. Passwords are hashed with argon2id — an industry-standard, memory-hard algorithm — and are never stored or recoverable in readable form. Sessions are opaque server-side tokens, not data handed to the browser to be trusted back.
Every page in the application is protected by default: routes are locked unless explicitly opened, rather than open unless explicitly locked. That's the safer direction to get wrong.
Can another client see my data?
Client separation is the boundary this system is built around: your session is bound to your client, and it's enforced on the server rather than in the interface. Hardening every access path against that boundary is active work ahead of general availability, and I'll show you exactly where it stands rather than wave at it.
Who inside my company can see what?
Client separation is hard-enforced. You cannot reach another client's data, and it isn't an interface filter you could get around by editing a URL.
Roles and grants are built. Access is granted, never assumed — a grant anchors to a client, project, or control account and carries a function area and a tier of view, edit, or admin. Administering the platform grants no access to any client's data.
Per-capability enforcement is in progress. Tightening every individual endpoint against those tiers is current work, targeted for completion before general availability. If your rollout depends on a specific role being unable to do a specific thing, ask me and I'll tell you exactly where it stands.
Is there an audit trail?
Yes, and it's structural rather than bolted on. Every meaningful table records who changed what and when. The core cost facts — Work In Place, Forecast To-Go, Forecast, and budget — are append-only logs that are never updated or deleted: a correction is a new row that walks the number back to the truth, and the original stays visible. The audit log itself cannot be modified by the application.
That's what makes "reproduce last quarter's report, exactly" a query rather than an archaeology project.
Where does it run, and is it encrypted?
PCS runs on dedicated DigitalOcean infrastructure in a US region — a private application server and a separate DigitalOcean Managed PostgreSQL 16 database. The database is not reachable from the public internet at all; it accepts connections only from the application server, enforced at the cloud firewall.
Traffic is encrypted in transit end to end. Cloudflare terminates TLS at the edge, and the connection from Cloudflare to the origin server is itself encrypted with a certificate Cloudflare authenticates — there is no plaintext hop anywhere in the path. The database is encrypted at rest, with automatic daily backups retained for seven days, from which the cluster can be restored to a new primary or recovered to any point in time within that seven-day window.
No client data is used for any purpose other than serving that client.
Are you SOC 2 or ISO 27001 certified?
Not yet — those are milestones I'm working toward and I'm looking forward to earning them. What I can provide today is complete transparency: I'll walk you and your IT team through exactly how the system is built, where it runs, who can reach it, and what the audit trail captures, and I'll answer your security questionnaire straight.
A good deal of the underlying substance those audits test for is already in place — encryption in transit and at rest, server-enforced client isolation, role-based permissions, and an append-only audit trail that the application cannot modify.
Who owns the data I put in?
You do. Your project data is yours — entirely. Project Cost System LLC is the custodian of it, not the owner of it, and holds it only to provide the service to you.
Can I get it back out?
Any time, without asking. Every grid in the system exports to a spreadsheet, and on request you get a full database extract of your client's data in a standard format. There is no hostage-taking here — the data was always yours, and an export button is how you prove a vendor believes that.
Do you use my data for anything else?
No. Your data is not sold, not shared, not mined for benchmarks, and not used to train anything. It exists to serve your project and nothing else.
Access is something you grant, not something I hold by default. My login is subject to the same permission system as your own people's: if you haven't granted access to a client's data, that data isn't reachable, and that's enforced on the server rather than in the interface. Someone obviously has to keep the lights on, and administrative database access exists so that backups, migrations, and upgrades can happen — I'd rather say that plainly than pretend a hosted system runs itself. What I commit to is that I don't go looking at your project data. I open it when you've asked me to look at something, and the audit trail records it either way.
Is PCS the system of record for my invoices and contracts?
No — and this matters for liability, so it's worth being blunt. PCS consumes and organizes other systems' data into a full project picture, and reports and communicates about commercial documents. It does not originate them and is not certified to run your approval or payment workflows. Your business systems remain the record. PCS is where everybody finally sees the same picture of them.
That said, if you're missing a piece of the cost picture entirely, this system can carry it. That's a business-process decision, and one I'll make with you rather than for you.
Didn't answer it?
Ask me directly. Hard questions are welcome — they're how this page gets better.