Capability

The stack, and the rules that hold it together

Tools are easy to list. What matters is whether it is still changeable a year later — that is what the rules below are for.

Tech stack

Mainstream on purpose

Backend

Java 21Spring BootMyBatis-PlusSa-TokenLiquibaseMySQL

Frontend

Vue 3Nuxt 3TypeScriptTailwind CSSSSR / static

Mini programs

WeChat nativeuni-appPayments and messagesReview and filing support

Delivery and ops

Nginx reverse proxysystemd / pm2Backup and rollbackMonitoring and alerts
Engineering rules

Rules the build enforces, not reminders in a doc

Layering and dependency direction

Dependencies only point downwards. Violations fail the build and name the file and line.

Contract consistency

Interfaces, permission codes and error codes are diffed against source; mismatches fail the build so docs never drift.

Deny by default

An endpoint without an authorization marker fails at startup instead of silently going public.

Query and write quality

Field allowlists, escaped wildcards, strict typing, deep-pagination guards and unified paging.

Transactions and migrations

One write path, transaction boundaries asserted, and committed migrations are append-only.

Structured logs and audit

traceId and userId are first-class fields, phone numbers and passwords masked by default, sensitive actions traceable.

Delivery

Five steps from first message to handover

1

Discovery

We talk through business goals, current state and constraints on WeChat or phone. Free, and no contract pressure.

2

Scope and quote

Scope, timeline, milestones and acceptance criteria go into one list, priced as a fixed total. Scope changes are re-quoted, never added afterwards.

3

Prototype sign-off

You click through real pages and confirm structure and wording before development starts. Structural changes are cheapest here.

4

Milestone delivery

Working builds delivered per milestone and accepted by you at each one — no single big reveal at the end.

5

Launch and handover

Deployed into your environment with source, docs, deploy scripts and runbook. After handover you can hand it to anyone.

What we decline

Four things we say no to, and why

We declineWhyWhat we do instead
No lowest-bidder racesIf price is the only criterion, we are not the right shop and will not pretend otherwise.Write down scope and acceptance, then compare who can hold the line.
No verbal quotes without scopeQuoting before scope is clear always ends in blame.Produce a scope list first; the list is the basis of the quote.
No half-built handoversEvery milestone must run in your environment.Accept per milestone; if it does not run, it does not pass.
No hidden source or deployHandover includes source, docs and deploy scripts so you can switch maintainers anytime.Retain clients with quality, not with information asymmetry.

Judge the rules before the price

Add me on WeChat, describe your requirement and I will reply with scope and quote.

WeChat ID
lllsmiling