Open the three sheets

Brand plan · v2 · name locked · three routes

You are not selling attendance software. You are selling a day that can be proven.

This plan audits what the product wears today, names the trust it actually trades in, and hands you three complete identities — each with its own mark, type, colour and the buyer it is built to convert. The name is settled: Vanisree, set by the client. What is still open is which argument the identity should make.

01 · Diagnosis

What the codebase is wearing right now

Every line below was read out of the repository, not recalled.

F-01

Three different brands are live in one product

The Flutter shell ships Flutter's own blue (#0175C2 in sales_tracker/web/manifest.json). The screen specification asks for “Enterprise Gateway” — #2563EB with an orange #F97316 CTA and Fira Code/Fira Sans (docs/screens-by-role.md). The desktop dashboard binds violet, navy and rose, annotated in code as “Literal brand values from vanisreeeducation.com” (web/src/app/globals.css). Three systems, one product.

Blocking
F-02

The logo is not a logo — it is a 247 KB image export

sales_tracker/assets/logo/app_logo.svg measures 247,056 bytes and carries embedded C2PA provenance reading “compositeWithTrainedAlgorithmicMedia”. It cannot be recoloured, has no clear-space rule, no minimum size, no monochrome cut, and no relationship to a wordmark. It is a picture of a logo.

Blocking
F-03

The app still introduces itself as a framework demo

The PWA manifest says "name": "Vanisree" with "description": "A new Flutter project." That string is what a device, an installer and a store listing will read back. The product's first impression is boilerplate.

High
F-04

Two names are in use — and the decision is now made

Documents call it “Sales Tracker”; the app calls itself “Vanisree”. Resolved: the name is Vanisree, set by the client, so the naming question is closed and out of scope for this plan. What remains is the more expensive half — the mark, the type and the colour that make the name mean something. Note the loose end: “Sales Tracker” still appears in the documents a buyer reads, and every one of those strings now has to be retired.

High
F-05

Typography is inherited from three unrelated places

Manrope ships inside the app (sales_tracker/assets/fonts/), Geist and Quicksand drive the dashboard, and Fira Code/Fira Sans are specified for screens. Nothing here is a decision; all of it is leftovers from whatever was scaffolded first.

Medium
F-06

The strongest asset is missing from the identity

This product's real claim is that a visit is verifiable: GPS at punch-in and punch-out, an odometer reading plus photo, visit start and end coordinates, offline capture, and a live activity that punches in from the lock screen. The identity says none of it. The in-repo tagline — “Track your team, close more deals” — sells the category, not the difference.

Blocking
F-07

Thirty-one screens have not been built yet

The screen inventory counts 57 screens: 26 exist, 31 are missing, 1 is partial. That is the argument for doing this now — settle the tokens once and thirty-one future screens are born branded, instead of arriving in a fourth palette.

Opportunity

02 · The product, in its own words

A field-force execution system with a proof layer under everything.

Attendance that carries evidence

Punch-in and punch-out record coordinates; punch-out also demands an odometer reading and a photo of it. Selfie capture is optional by design so a bad camera never blocks the close of day.

Beat plans, visits and orders

A manager assigns the circle of outlets; the rep executes it, records the outcome, books the order and raises the lead. Follow-ups, adhoc visits, missed punch-out recovery and travel claims sit in the same day.

It works where the network does not

Everything lands in the on-device store first and syncs later, so a visit in a dead zone is still a visit. That single property is why the data can be trusted at all.

57

screens in the inventory — 26 built, 31 still to come.

8

tables in the encrypted on-device database that makes offline work real.

4

desktop roles already served: admin, zonal manager, manager, accountant.

0.0.130

declared app version — mature enough to stop looking like a prototype.

Sources: docs/screens-by-role.md, PROJECT_MEMORY.md, web/package.json, sales_tracker/pubspec.yaml.

03 · Who has to believe you

Five people sign off on this, and each one fears something different.

RoleWhat they are actually afraid ofWhat they must believeWhat converts them
Field repBeing blamed for a visit they did make.This protects me as much as it checks me.Two taps from the lock screen; nothing lost when the signal drops.
ManagerA team that looks compliant on paper only.I can see the day while it is happening.A live round with an exceptions queue, not a report at month end.
Zonal headNumbers that arrive too late to act on.I can change something before the month closes.Zone rollups that open on what went wrong, not on totals.
Owner / MDPaying for a team they cannot see.I can trust the number without asking for it.One reconciliation view where every figure links to its record.
AccountantClaims that cannot be reconciled.Every rupee has an attachment.Odometer photo and GPS trail attached to the claim itself.

04 · Positioning

The category is field execution. The claim is proof.

For Indian distribution teams running twenty to five hundred people on the road, this is the field-force system where every visit, order and kilometre is verifiable at the moment it happens — on the phone already in the rep's pocket, with or without network. Attendance apps record that someone was present. This proves what the presence produced.

Proof, not attendance

Every record carries who, when, where and how it was captured.

One dataset, three desks

The rep's phone, the manager's board and the accountant's ledger read the same rows.

Offline is a feature, not a fallback

Capture is local-first; sync is an afterthought that never blocks the day.

THE ONE LAW EVERY SCREEN OBEYS

No number appears without its proof.

A figure on a dashboard opens the record it came from: the rep, the timestamp, the coordinates, the photo. Nothing is aggregated past the point where it can be traced back. This is not a UI nicety — it is the product's competitive position expressed as a rule, and it is the single thing competitors selling dashboards cannot copy without rebuilding their data model.

06 · The name

Vanisree is settled. It is not ours to change.

What this plan therefore stops doing

  • No naming exercise. The client set the name. A shortlist of alternatives here would be theatre, and expensive theatre.
  • No pictorial pun on the name. A drawn “voice”, a drawn lamp, a drawn rupee: each would make the mark do a dictionary's job. The mark proves; it does not translate.
  • No trademark script. We do not clear a name the client already trades under. Registration is a question for their counsel, and it sits in section 10.

What the name asks of the identity

  • Three syllables, stress on the first — Va-ni-sree. Nothing may depend on a reader hearing the whole word, so the mark has to carry recognition on its own.
  • It is a house name, not a product name. A house name cannot be worn by a competitor, so every route below ships two lockups: the Vanisree lockup, and a neutral descriptor lockup for a team that is not Vanisree.
  • It already ships, badly. The PWA manifest, the installer and the desktop tokens all read Vanisree today. The name was never the problem. What it looks like is.

NOT YET VERIFIED — READ THIS BEFORE PRINTING ANYTHING

Two items sit under the locked name. The Devanagari companion cut in route 02 is drawn as वनिश्री — that spelling is ours, not the client's, and must be confirmed by their office before any script version is produced. And whether “Vanisree” is registered in class 9 or 42, and whether the parent's existing mark already governs the typography, is a question for their counsel. Neither blocks the choice between the three routes. Both block production.

07 · From looking to buying

Trust is built in six places, and the identity has to carry all six.

StageWhat the buyer is doingWhat the identity must supply
1 · First lookComparing you against two attendance apps in a store listing.One specific, falsifiable sentence. Not “streamline your sales” but “every attendance record carries GPS and an odometer photo”.
2 · The demoWaiting to see whether this is another dashboard that lies to them.A demo that opens on an exception — a visit with no proof — and resolves it on screen. The identity sets that expectation before the demo starts.
3 · The pilotRunning one team for a month and reporting upward.Report templates (the PDF and Excel generators already exist in the backend) that carry the brand, because the buyer forwards your artefact to their own boss.
4 · Roll-outExtending to every zone.Tokens shipped into the app before the remaining 31 screens are written, so nothing looks half-branded at scale.
5 · RenewalDefending the spend.Language the buyer now uses in their own meetings: proven, verified, reconciled. You own the vocabulary of the outcome.
6 · ReferralShowing the app to a peer in the same trade association.An app icon that survives contact with a real home screen, and a name the peer can repeat from memory after hearing it once.

08 · Non-negotiables

Identity architecture: the rules that survive every future screen.

Whichever route you pick, these hold. They are written as constraints so the thirty-one unbuilt screens cannot drift.

One accent, two uses

The brand colour appears on the eyebrow and the primary action. Everything else is ink, paper and hairline.

Colour that means something

Green, amber and red are reserved for verified, flagged and missing. They never decorate.

Data is monospaced

Times, distances, amounts and coordinates use the tabular face so a column of numbers can be scanned, not read.

The mark is drawn, not generated

Every mark ships as a vector with a mono cut, a 16 px test and a defined clear space. No image exports.

09 · Rollout

Ninety days to look like the system you already are.

DAY 0–30

Replace, do not add

  • Choose a route; freeze its tokens.
  • Redraw the mark as vector; produce mono, reverse, 16 px and maskable app icon cuts.
  • Retheme the three live palettes to one.
  • Rewrite the manifest, splash and welcome screen — the strings a device reads.

DAY 31–90

Where owners actually look

  • Brand the attendance, performance and travel-claim report generators.
  • Apply the system to the desktop dashboard shell and its exception-first home.
  • Bundle and licence the type stack; delete the inherited faces.
  • Shoot the field photography the marketing pages will need — real routes, real counters.

DAY 91–180

Make the claim public

  • Publish a “how verification works” page — the highest-intent page this category has.
  • Ship the remaining screens straight into the system.
  • Package an onboarding kit for a new team's first thirty days.
  • Instrument the funnel so the next version of this plan carries numbers instead of intentions.

MEASUREMENT — ALL UNMEASURED TODAY

  • Demo to pilot conversion, and pilot to paid.
  • Time from install to first verified visit.
  • Share of visits with complete proof (coordinates plus outcome).
  • Support tickets about a disputed day — should fall, and is the clearest signal the brand's promise is real.

DECISIONS LOGGED, SO THEY ARE NOT RE-LITIGATED

  • Rejected: transplanting the education-site violet into a compliance product — borrowed equity from a different audience.
  • Rejected: a repair-only option (recolouring the existing blue). The hue was never the problem; the claim was.
  • Rejected: gradient-and-emoji SaaS styling and illustrated mascots — reads as consumer fintech to an owner signing a cheque.
  • Accepted: an Indian root word, because the daily user is the rep and adoption is the bottleneck.

10 · Open questions

Three things this plan assumes, and will change shape if you correct them.

Is this one company’s system, or a product licensed to many?

Locking the name to Vanisree settles the first half and sharpens the second: a house name cannot be worn by a competitor. Each route therefore ships two lockups — the Vanisree house lockup, and a neutral descriptor lockup for a team that is not Vanisree. If licensing is the plan, the neutral lockup becomes the product’s front door and Vanisree becomes the endorsement.

Is vanisreeeducation.com the same Vanisree?

The dashboard binds hex values annotated as that site's brand. If that is a different organisation, the dashboard is currently wearing an unrelated brand's colours — which is the single fastest thing to fix.

Is “Vanisree” registered for software?

Class 9 and 42, plus the Devanagari spelling, are for the client’s counsel rather than a design task — but the answer decides whether a script companion cut may ship at all. Until it is answered, the three routes are creative directions, not production assets.

THE SHORT VERSION

A field-force product is bought on trust and kept on habit. Name the trust, then make the habit easy.

Now look at the three routes and pick the one your buyer will believe.

Each sheet is drawn in its own system — mark, colour, type, product screens and the buyer it is aimed at.

Open the three identity sheets