ZAZTEK International · Operations

The work is not in anybody’s head. It is on the board.

Spaces, lists and tasks; a board you drag, a calendar, a timeline with dependencies, time on the clock, and the documents that go with the job. One database, one install, and no monthly charge per person on your team.

PHP 8 and MySQL on ordinary shared hosting. No build step, no Node, nothing to compile.

To do
Order the switches
HighAK
Label the cables
BA
Doing
Site survey, gate 4
FriFN
Done
Client walkthrough
AK

The card moves the moment you drop it and the server is told afterwards. If the server disagrees the card goes back and says so — because a board that waits half a second before every move is a board people stop using.

5Ways to see the work
27Tables
1Form to install
313Tests it passes

The same work, five ways

A list, a board, a calendar and a timeline are not four sets of data. They are one set of tasks, drawn four ways, and the fifth is the only one most people open: what is on my plate today.

ListSort, filter, edit in place. What a spreadsheet was doing before.
BoardDrag between statuses. The order inside a column is kept.
CalendarThe month, by due date. Nothing lands on a day by accident.
TimelineBars from start to due, with what waits for what.

And “My work” — every task assigned to you across every space, late first.

What it does

Spaces, lists and tasks

A space per client, department or site; folders and lists inside it; tasks and subtasks inside those. A private space is invisible to everyone who is not in it — not greyed out, not listed, invisible. Every screen filters on the same check, so there is one place to get that right rather than forty.

Custom fields

Money, number, date, text and choice. A money field is stored as a number, so a list sorts by budget properly instead of alphabetically; a choice field is checked against its own options, so nobody types a fifth status into a field with four. Your fields, your names, no code.

Time, and what it was worth

A timer per person — starting a second one stops the first, because nobody does two things at once. Or type it afterwards: “90m”, “1h30”, “2.5h” all mean the same ninety or hundred and fifty minutes. Billable and non-billable are separated on the timesheet.

Dependencies that refuse a loop

Cable pulling waits for the survey. The survey cannot then be made to wait for the cable pulling — the system follows the chain before it saves and says, in words, that it would make a loop. A plan that contains a circle is not a plan.

Templates

Save a finished job as the method: the tasks, their order, their subtasks and the days between them. Apply it to a new client with a start date and the whole programme spreads out from that Monday. Assignees and comments are deliberately left behind — they belonged to the job, not to the method.

Subtasks, checklists and who is watching

A subtask has an owner, a date and a status of its own and lands on somebody’s “My work”. A checklist item is a tick against a job one person is already doing — isolated, tested, labelled — and does not. Keeping those two apart is what stops a board filling up with forty cards nobody looks at. Anyone can ask to be told when a task changes, and is told once however many reasons they have to be.

Documents beside the work

Method statements, scopes and handover notes written in plain markdown and pinned to the tasks they belong to. Tables, headings and lists render; a script tag stays text on the page it was typed into.

Files, handled carefully

Attachments are stored outside the web root under a random name, checked for what they actually are rather than what they are called, and only ever sent back as a download through a permission check that runs every single time. An uploaded image cannot become a page on your own domain.

Import what you already have

Trello, Asana, Monday and ClickUp all export CSV. Point it at the file: it reads the headings, shows you exactly what it is about to create, names anyone it could not match to your team, and creates nothing until you say go. It never invents an account — an import that creates people creates people who can sign in.

Reports an owner actually reads

Not a burndown. What is late, who is carrying it, what has not moved in a fortnight, and where the hours went this month. Those are the four questions asked on a Monday morning, and a velocity chart answers none of them.

Recurring work, and the overnight timer

A nightly job spawns the next instance of anything that repeats, sends what is due today to the people it is due from, and closes off any timer somebody left running when they went home — capped at twelve hours with a note saying why, so it can be corrected rather than quietly billed as twenty.

The decisions behind it

The parts that took the thinking, written down.

One gate, not forty

Every screen that can show a task — list, board, calendar, timeline, search, reports, the download of an attachment — asks the same single function which spaces this person may see, and joins on the answer. Scattering that check across forty queries guarantees that one of them is eventually written without it, and that one is the leak.

The screen is not the permission

A guest is shown no timer, no file box and no dependency picker. That is courtesy, not security. Every one of those routes refuses a guest on the way in, because a URL outlives the page it was on and a form is a text file anybody can write.

Positions are fractions

Dropping a card between two others writes one number — the midpoint between its neighbours — instead of renumbering the column. On a list of four hundred tasks that is one row updated rather than four hundred, which is the difference between a drag that feels instant and one that does not.

Installed in one form

Open one page, fill it in, press install. It checks the server, tests the database connection before it touches anything, tells you which of the three possible reasons a refusal actually was, writes its own configuration, builds the tables, makes you the administrator, proves an Urdu string survives the round trip, and then offers to delete itself. No file editing.

On its own, or joined to the rest of ZAZTEK

It installs and runs with no ZAZTEK site anywhere near it — that is how it is sold. Put one shared key in two files and four more things become possible, each a bridge rather than a merge: two applications, two databases, two sign-ins, and a short list of what crosses.

One sign-in

A member of zaztekinternational.com opens Projects and is already in, with a way back in the header. The link works once and lasts two minutes, because a sign-in link that can be used twice is one that can be forwarded. It says who somebody is and never what they may do: a role set inside Projects is never overruled from outside it.

Dates on the company calendar

Tick the lists that matter and their due dates appear on the ZAZTEK agenda, each line carrying its task number. Send again whenever — a date that moved moves, a task that is finished is marked done, and nothing is ever duplicated. Not every task: an agenda that is drowned is an agenda nobody opens.

The contract it was sold under

A space cites its contract — code, title, client, value, status — so anybody asking what a project may cost has the answer in one click. Drafts are left out on purpose. The address, the signatory, the signature and the PDF never cross, because Projects has no use for them.

ZAZ drafts the plan

Describe the job in a sentence and ZAZ returns a list of tasks with start days and lengths. Nothing is created until somebody reads it, fixes it and presses the button — an assistant that writes straight into the plan is one whose mistakes get undone by hand. The AI key stays on the site and is never copied into Projects.

Everything crosses as a short-lived, one-use, signed token or a keyed server-to-server call — and each purpose derives its own key from the shared one, so a token minted to send a date cannot open a session.

What it costs

Install it yourself

The whole thing, once. Upload it to your own hosting, open setup.php and fill in one form.

  • Every feature on this page, no tiers
  • Unlimited people — nothing is per user, per month
  • Your own server, your own database, your own backups
  • Source included, nothing obfuscated
  • The user manual, written for the office not for a developer
  • A year of updates
Ask for it →

We set it up

Installed on your hosting, with what you already have brought across.

  • Everything above
  • Installed and configured on your hosting
  • Your spaces, lists and statuses set up as you work
  • Your existing board imported from CSV
  • The nightly job scheduled and checked
  • Training for the office, and for whoever administers it
  • Support through the first month of real use
Enquire → Open Projects →

Runs alongside the rest of ZAZTEK or entirely on its own — it shares no tables with anything else and needs nothing else installed.

Have a look

Open it and move a card, or tell us how your team runs and we will tell you honestly whether this fits.