Lattice
A weekend of work, and real gaps remain.
Performance management: review cycles, one-to-one agendas, goals and engagement surveys, so feedback happens on a schedule rather than when somebody remembers.
Build the review and one-to-one tooling I actually need instead of Lattice — and understand what makes this ALMOST. The forms are a fortnight. **The chasing is the product**: a cycle that opens, reminds, escalates and closes without anybody administering it. And the benchmarks — how your engagement compares to other companies — need other companies, which you do not have. STACK - Node 20+ with Fastify, server-rendered HTML - SQLite through better-sqlite3, WAL mode - A worker for the reminders - Caddy in front THE DATA MODEL - people: id, name, email, manager_id, team_id, started_at, is_active - cycles: id, name, kind, opens_at, closes_at, status, template_json — self, manager, peer, upward - participants: id, cycle_id, subject_id, reviewer_id, relationship, status, submitted_at - responses: id, participant_id, question_key, value_text, value_num, submitted_at - one_to_ones: id, manager_id, report_id, scheduled_for, agenda_json, notes_private, notes_shared, completed_at - talking_points: id, one_to_one_id, author_id, body, carried_from_id, resolved_at - goals and check-ins, if you want them here rather than in a separate tool - surveys, survey_responses — with the anonymity rules below THE CYCLE, WHICH IS THE PART THAT MUST RUN ITSELF - Opens on a date, closes on a date, and between them the worker chases: a reminder at the start, one at the halfway point, one before closing, and one to the manager listing who has not submitted - **At most one message per person per day.** A cycle that nags four times is a cycle people resent and complete carelessly - Nobody sees anybody else's response until they have submitted their own. Without that, the first opinion anchors the rest - A manager cannot close a review until every required reviewer has submitted or been explicitly excused, and the excuse is recorded - Extensions are a decision with a name on them, not a silent slip ONE-TO-ONES, WHICH ARE THE PART PEOPLE ACTUALLY USE - A shared agenda both sides can add to before the meeting, and private notes each side keeps to themselves - **An unresolved talking point carries to the next meeting automatically.** That single behaviour is what stops a one-to-one becoming a status update, and it is a foreign key - A history of what was discussed, which is what makes a review write itself rather than being invented from memory in an afternoon ANONYMITY, WHICH IS EARNED RATHER THAN IMPLEMENTED - If a survey is anonymous, **do not store the respondent identifier at all** — not encrypted, not hashed, not in a column somebody could join. Store only that the person responded, in a separate table, so you can chase without being able to link - Never show a breakdown for a group small enough to identify somebody. Set a minimum — five is common — and suppress below it, visibly, with an explanation rather than a blank - Free-text answers are where anonymity actually breaks, because a phrase identifies a person. Say so where somebody is typing - People will assume you can see it anyway. The only thing that changes that is the design being explainable in one sentence CALIBRATION - Ratings across a department shown as a distribution per manager, before anything is final - Not a forced curve — that is a policy decision and a contested one — but the distribution visible, so a conversation can happen OPERATIONS - .env: DATABASE_PATH, BASE_URL, SESSION_SECRET, SMTP_URL, OIDC_* - Migrations on boot, each once; nightly backup off the machine - Access is sensitive: a manager sees their own reports, an administrator sees everything, and every read of a review is logged WHAT MATTERS MOST The chaser and the anonymity design. Build the worker that runs a cycle to completion, and make the anonymous survey genuinely unlinkable — because the first time somebody believes it is not, nobody answers honestly again.
What you lose
- A review cycle that chases people until it is finished, which is most of what makes reviews happen at all
- Engagement surveys with benchmarks against other companies, which needs other companies
- Calibration across managers, so one generous manager does not distort a whole department
- Anonymity that people actually believe, which is harder to earn than to implement
If you would rather not build
- A recurring calendar invitation and a shared document, which is what most teams actually need
- A written question list, asked consistently, which beats any platform used inconsistently
The escape hatch
open source · no votes, no paid placement
Formbricks
$0Open-source surveys with targeting, usable for engagement runs.
formbricks/formbricksfree · open source
Plane
$0Handles the goal and cycle half if you want it beside the work.
makeplane/planefree · open source
Why this verdict
our own opinion · changed only by a person
43/100
Verdict kinda at 43: forms and a scheduler, plus one thing that is not software — anonymity people believe. The carried-forward talking point is the small feature worth copying above all the rest.
History
tracked since 14 Aug 2026 · nothing is ever overwritten
Nothing recorded yet. This chart fills in once the page has visitors, votes or prompt copies — it will not draw a flat line to look busy.
Questions about Lattice
answered from the record above
Is Lattice free?
No — the plan we track is $11 a month. Performance management from around $11 per person per month billed annually; engagement and other modules cost more.
Can you replace Lattice by building your own?
ALMOST. A weekend of work, and real gaps remain. Replacement score 43 out of 100, build time a weekend. Read what you lose before you decide.
How much does Lattice cost?
$11 a month on Performance — $132 a year. Recorded 14 Aug 2026.
What do you lose by replacing Lattice?
A review cycle that chases people until it is finished, which is most of what makes reviews happen at all; Engagement surveys with benchmarks against other companies, which needs other companies; Calibration across managers, so one generous manager does not distort a whole department; Anonymity that people actually believe, which is harder to earn than to implement. If any of those carry weight for you, keep paying.
Is there an open-source alternative to Lattice?
Yes: Formbricks, Plane. The prompt on this page is for when you want it your way instead.
Related entries
same category first, most replaced first
Every week, something stops being worth paying for.
New verdicts, prices that moved, entries added. One email a week. Unsubscribe in one click. Nothing is being sent yet — your address is kept here, and the first issue is the first thing it is used for.
free forever · no tracking pixel · stored here, never passed to anyone

