§The technical facts
Built like enterprise software.
Priced like a hobby tool.
Most one-person SaaS gets to launch by skipping the parts that don’t show on the surface. Kinako took the opposite trade — the engineering underneath is built the way it would be if a company were paying for it. Here are the specifics.
Updated when the underlying systems change · last reviewed May 2026.
01Security
Your data is locked down at the row.
Every table that holds your business data has Row-Level Security on it. That isn't an aspiration — it's a Postgres-level guarantee enforced for every read and every write. Two Kinako users physically cannot see each other's data.
- Row-Level Security
- Enabled on every user-data table (40+).
- API authentication
- Supabase Auth · Bearer token verified server-side on every privileged route.
- Service-role boundary
- Service-role key never reaches the browser. All admin operations happen inside server routes.
- Public share tokens
- Cryptographically generated · scoped to a single resource · audit-logged on every send.
- Content-Security Policy
- Set per-request in the edge middleware.
- HTTPS-only
- TLS 1.2+ enforced on the edge. HSTS shipped with a one-year max-age.
02Reliability
Built to not break when it matters.
Most one-person SaaS hits its first scaling wall at the parts you can't see — webhook handlers, race conditions, the assumption that an event will only fire once. We built those parts the way you'd build them if a company were paying for it.
- Stripe webhook idempotency
- Every event claims its event-id in a Postgres primary key before processing. Duplicates short-circuit.
- Invoice numbering
- Atomic unique numbers per user · Postgres unique constraint, no race-condition gaps.
- SQL migrations
- Numbered sequentially · every one idempotent · zero destructive operations in production.
- Rate limiting
- Upstash Redis-backed · per-IP throttles on every public endpoint · per-user cooldowns on AI routes.
- Audit logs
- Every share-token send writes an immutable audit row · IP capture on contract signatures.
- Daily AI spend cap
- Hard ceiling per user per cycle · prevents runaway costs from a misuse case.
03Privacy
Your data leaves the building when you do.
Kinako is built on the assumption that the user owns the data. Every account can export every row at any time. No analytics broker re-sells your usage. The third parties we do touch are listed below — there is nothing else.
- Data export
- One-click full export of every entity (clients, projects, invoices, contracts, time, expenses).
- Account deletion
- Full account + data deletion on request · executed within seven days.
- AI provider
- Anthropic Claude (drafting) and OpenAI Whisper (audio transcription only). Both contractually do not train on customer data.
- Payments
- Stripe (subscriptions and Connect direct charges). PCI handled by Stripe; card data never touches Kinako servers.
- Resend (transactional only).
- SMS
- Twilio (one-way notification only).
- Analytics
- Vercel Speed Insights and Vercel Analytics. No third-party trackers.
04AI safety
AI drafts. You decide. Nothing else.
Every AI surface in Kinako produces text. None of them sends, signs, charges, or otherwise acts. The only thing that crosses the line between draft and action is a human hand on a button.
- Drafts vs. actions
- AI writes proposals, follow-ups, summaries, briefings. Never sends them.
- Contract signatures
- Only client-side signature events, with IP and timestamp captured, ever commit a signed contract.
- Stripe charges
- Initiated only by user click. AI cannot trigger a charge.
- Tone and content controls
- Every AI surface includes a user-editable preview before send.
- Daily cap and cooldowns
- Spending and rate-limit ceilings on every AI route.
- Training opt-out
- Kinako does not ship customer data to model training. Provider contracts (Anthropic, OpenAI) enforce the same.
05Engineering
Hand-built. No component library. One owner.
Kinako has no UI dependencies. No Material UI. No shadcn fallback. No design-system import. Every component you see was hand-built with Tailwind. The trade-off is one founder maintaining everything; the upside is a product that looks and behaves the same the day after a Tailwind major-version bump.
- Framework
- Next.js 16 · App Router · Turbopack · React Compiler.
- Frontend
- React 19 · TypeScript · Tailwind CSS v4 · zero UI component libraries.
- Backend
- Supabase (Postgres + Auth + Storage) · Upstash Redis · Vercel Edge Functions.
- Payments
- Stripe (subscriptions, Connect direct charges, credit packs, webhooks).
- AI
- Anthropic Claude Sonnet (drafting) · OpenAI Whisper (transcription).
- Hosting
- Vercel · multi-region edge · automatic font subsetting · dynamic modal imports for first-paint speed.
06Performance
Fast on purpose.
Speed is a brand value at Kinako. Slow software is, eventually, software that gets abandoned for faster software. We treat every render and every fetch as a thing that has to earn its place.
- Page rendering
- RSC by default · client components only where interaction demands it.
- Modal code-splitting
- All dashboard modals dynamic-imported · zero overhead until shown.
- Database queries
- Explicit-column selects on high-traffic pages · no select(*) on hot paths.
- Caching
- ISR with 60-second revalidate on dashboard reads · Cache-Control headers tuned per route.
- Asset delivery
- Vercel edge CDN · automatic font subsetting · image optimization on every visual asset.
- Bundle hygiene
- Bundle analyzer integrated · unused font weights dropped · accessibility prefers-reduced-motion honored.
A note from the founder
I built Kinako solo. There is no CTO to blame, no engineering team to defer to, no “we’ll-fix-it-in-Q3” on the security roadmap. Every decision on this page is one I made and continue to maintain personally.
If you find something on this page that’s inaccurate, or you’re a security-conscious solo who wants more detail on any item, write to me directly. The fastest path is the in-app feedback widget — every message lands in my inbox and is usually answered the same day.
— Jhayden, in Melbourne
Try the product
Experience, on day one.
Free to start. The same software that’s in this document.