A throughline, not a one-off: three conversational AI systems built solo, each one applying lessons from the last — culminating in Nia, a modular, multi-tenant AI assistant platform. AI here is an extension of the same production discipline shown across this site, not a separate practice.

Lily is a fully deployed GPT-powered chatbot built and shipped solo for Beauty by JingMei-ko — merging interface design, conversational architecture, and machine learning integrations into a real, working production system. Built with intent, scaled with precision: every layer of Lily’s stack serves a purpose.
Lily is embedded directly on the Beauty by JingMei-ko website, reachable from the “Ask Lily” launcher in the corner of every page. She handles the administrative and clerical side of the business conversationally — helping clients choose the right service, checking real appointment availability, and booking directly.


Lily also adds, updates, and cancels appointments on request, carries relevant client notes forward (like a skin condition flagged during booking), and confirms every booking on both the Square platform and by email — the same clerical work a front-desk coordinator would handle, running day or night.
Try Lily on the live salon site →


Frontend: Next.js 15, Tailwind CSS, TypeScript.
Backend / API: Vercel Serverless Functions handling voice, PDF generation, and transcript sanitation; Supabase for interaction logging and analytics.
AI Integration: OpenAI GPT API for natural language + speech synthesis; Deepgram for speech-to-text.
Security: API keys and secrets stored as environment variables in Vercel — never hardcoded into the codebase.
Lily’s development wasn’t just code-deep — it was documented like a real engineering team would document it: architecture docs, change logs, simulated technical meetings, and cross-system validation notes, even though the “team” was one person. That documentation discipline is what let the system evolve with total traceability, and it’s the same rigor applied to every other project on this site.
An early prototype explored automated skin/condition analysis to power more tailored service recommendations. This feature was intentionally shelved: without clinical-grade accuracy and proper medical oversight, there was too much risk of an AI-generated assessment being mistaken for a diagnosis — particularly for clients with an unknown or undiagnosed condition. It was replaced with a safer, conversational recommendation flow instead. Knowing when to cut a feature is as much a part of the discipline as building one.
See Lily live on the salon site →Custom-trained AI assistant built for Herber Aircraft, answering precise technical questions — hose specs, FAA certifications, MIL-SPEC documentation — directly from the company’s own technical PDFs, with no reliance on generic web data. Built with a Python PDF ingestion pipeline, OpenAI embeddings, and Supabase vector search, it responsibly declines to speculate beyond what its source documents actually contain.


Herber’s technical library is scaffolded as a structured document database: every incoming PDF is OCR’d and tagged, and becomes searchable immediately. From there the platform can answer questions about any part number or applicable aircraft, aiding both engineers and the sales team — saving time internally and giving clients accurate, almost-instant detailed technical information instead of a manual document search.

Lily and Herber AI share the same core backend discipline. Lily has ingested all notes and materials from Neihule Academy used in the salon owner’s own training, alongside the applicable Milady textbooks, best practices, and legal standards for the industry — checked on an ongoing basis to keep that information current. Both systems run on architecture that ensures every answer is pulled only from those direct sources: neither is permitted, under any circumstance, to fabricate or hallucinate information. If something falls outside what their source material covers, they say so directly rather than guessing. In practice this is rare, but it does happen — for example, if Lily is asked for medical advice below the skin’s epidermis, since the business doesn’t employ staff with a nursing license to perform those procedures, and Lily cannot advise outside of the salon’s actual services and accepted beauty best practices.
Where the two differ is voice: Lily has a warm, branded personality built for a client-facing salon experience. Herber has no voice and no built-in personality by design — it’s closer to a serious, professional research librarian, built for engineers and a sales team who need a fast, accurate answer, not a conversation.
Nia is the throughline of this work — built on lessons learned from two earlier deployments, Lily and Herber AI. Where those were single-purpose builds, Nia is designed to be configured across different businesses and use cases from one underlying platform. You can talk to Nia right now using the launcher in the site navigation.