EMmind MTL design and content directory
Figma sources
These files were checked read-only in Figma on 2026-08-26. They cover the inherited CBT design baseline, MTL-specific product work, and historical planning. The application source and deployed behavior remain authoritative when a board or mockup differs from the implementation.
| Edition or scope | Area | Link | Maintainer use |
|---|---|---|---|
| MTL-specific | Employee UI and product flow | Design_Emmind | Working MTL design with ready-for-development screens, a complete user flow, usability-test material, a style guide, graphics, employee identity-verification states, and @emmindmtl QR-entry designs. |
| MTL-specific | System flow | EMMIND MTL Docs | LINE Official Account and LIFF entry, web app, backend, Google identity verification, database, file storage, chat, and reminder flows. This is an architecture aid, not infrastructure as code. |
| Shared historical baseline | CBT design handoff | CBT MVP Hand-Off (AIMET) | Dated CBT handoff with the final UI flow, clickable prototype, pre-usability-test work, usability analysis, style guide, and graphics. It predates the 2026 source-import boundary and is useful for understanding the inherited product, not current MTL behavior. |
| Product-level historical planning | Roadmap | CBT Roadmap | Q3 2025 through Q1 2026 planning for research and IRB work, usability feedback, CBT product development, possible anxiety and insomnia modules, external distribution, and team ownership. Treat every item as historical intent rather than delivered scope. |
Design_Emmind retains the shared CBT handoff structure and adds clearly labeled EMmind MTL sections. The separate one-page CBT design, handoff copies, and CBT Roadmap1 were not added because they duplicate material represented by the sources above.
Most employee and CMS routes and tracked artwork were inherited from the imported public EMmind snapshots. MTL-specific design and content changes include the Google verification screen, Muang Thai Life privacy copy, identity-confirmation messaging, MTL feedback or message assets, and the CMS sentiment icons. Treat an asset as shared only when it exists in an imported root commit; later files belong to the MTL edition unless public evidence shows otherwise.
Important design and content locations
| Location | Owner | What it contains | Use it for |
|---|---|---|---|
emmind/cbt-webapp/app/routes | Employee web app | LIFF screens, loaders, actions, and much of the Thai product copy | Implemented employee journeys and page behavior |
emmind/cbt-webapp/app/components | Employee web app | Shared cards, forms, navigation, modal, feedback, journal, emotion, activity, and safety-plan UI | Reusable UI behavior and page composition |
emmind/cbt-webapp/app/components/data | Employee web app | CBT path metadata, emotions, reasons, safety-plan question sets, and SVG path data | Product taxonomy and content embedded in code |
emmind/cbt-webapp/public/images | Employee web app | Product artwork for 9Q, learning paths, lessons, emotions, activities, scenarios, feedback, safety, and sharing | Primary employee-facing image library |
emmind/cbt-webapp/public/fonts | Employee web app | IBM Plex Sans Thai, Playpen Sans Thai, and Lookpeach font files | Typography assets |
emmind/cbt-webapp/public/svg | Employee web app | One standalone SVG file | No source reference was found at this snapshot |
emmind/cbt-webapp/public/locales | Employee web app | English and Thai common locale JSON containing language-name labels | Small shared locale files |
emmind/cbt-cmsapp/app/routes | CMS | Login, list, and detail screens for product data | Implemented admin information architecture |
emmind/cbt-cmsapp/app/components | CMS | Tables, layout, navigation, and reusable CMS UI | Admin design patterns |
emmind/cbt-cmsapp/public/images | CMS | CMS logo/login artwork and reference images for 9Q, journals, quizzes, and safety plans | Admin-facing and reference artwork |
emmind/cbt-cmsapp/app/locales and public/locales | CMS | English and Thai labels | CMS language sources |
emmind/rich messages | Product-level assets | Greeting artwork and LINE rich-menu artwork | LINE Official Account setup and message design reference |
emmind/question_export/question_202603061622.csv | Product-level data export | Situation and emotion question records with optional expressions, choices, and image URLs | Question-bank content snapshot |
Employee application surfaces
| Surface | Main routes | Main content or asset source |
|---|---|---|
| Entry, consent, and account | /liff, /liff/google-callback, terms, privacy, settings, logout | app/routes/liff*, logo/loading images, locale files |
| 9Q | /liff/quiz, /liff/quiz/:id, /liff/quiz-help | app/routes/liff.quiz._index.tsx, root 9Q result images, and public/images/9q |
| Learning directory | /liff/paths, /liff/emotions/:emotion | EmotionsData.tsx, emmind-path-* images, and lesson thumbnails |
| CBT lessons | /liff/lessons/:type plus situation and emotion-event routes | Route copy and public/images/lessons |
| Emotion journal | /liff/sentiments*, /liff/journal* | Emotion/reason data files, emotions-icon, reason-icon, and journal artwork |
| Situation and thought exercises | /liff/situations*, /liff/scenarios*, /liff/emotions-events* | Question API data, question export, and scenario artwork |
| Activity planning | /liff/schedules*, /liff/summaries*, /liff/final-summaries/:id | Schedule/activity components and activity artwork |
| Safety and urgent support | /liff/safety-plan*, /liff/red-case | SafetyPlanQuestions.tsx, public/images/safety-plan, and red-case artwork |
The employee menu exposes My journal, Paths and skills, 9Q, Safety plan, and Urgent help. Most employee copy is Thai and is embedded directly in route and component TypeScript. The locale files cover shared strings but are not the only copy source.
Employee image-library map
cbt-webapp/public/images contains 284 tracked files at origin/main. Two root entries are Windows Zone.Identifier metadata files. The groups are:
| Path | Files | Content |
|---|---|---|
Root of public/images | 112 | Logos, covers, path artwork, 9Q result art, loading states, weather/emotion art, activity art, settings icons, and general UI images |
lessons | 67 | Lesson sequences, summaries, shares, and thumbnails |
emotions-icon | 42 | Active and inactive emotion icons |
reason-icon | 32 | Emotion-reason icons |
safety-plan | 11 | Safety-plan illustrations |
feedback-icon | 10 | Active and inactive feedback ratings |
9q | 9 | Question artwork |
scenarios | 1 | Scenario illustration |
CMS surfaces
| Navigation item | Routes | Data shown |
|---|---|---|
| Users | /users, /users/:userId/edit | Profile, journals, safety plan, quiz history, and skill progress |
| 9Q Quiz | /quiz, /quiz/:quizId/edit | 9Q submissions and answers |
| Emotions | /emotions, /emotions/:sentimentId/edit | User name, sentiment type, level, story, and timestamps; the detail page currently renders only the record ID |
| Activities | /activities, /activities/:activityId/edit | Planned activities and completion ratings |
| Scenarios | /scenarios, /scenarios/:scoringId/edit | Situation questions, emotion answers and levels, memo, and date; the fetched detail content is currently commented out |
| Feedback | /feedback | Satisfaction ratings and comments |
LINE asset directory
The product-level emmind/rich messages folder contains the available LINE design exports:
| File | Dimensions | Role |
|---|---|---|
greeting message.png | 1040 x 1040 | Greeting rich-message artwork |
greeting message2.jpeg | 625 x 701 | Alternate greeting artwork |
rich menu-bGN9HCReak16PCQuOWssHXJIOUwuOyR-azs.jpeg | 2500 x 1686 | LINE rich-menu artwork |
Some LINE messages in cbt-core refer to S3-hosted artwork rather than files in these folders. For those messages, the core message template and its hard-coded or environment-composed object URL identify the runtime asset.
Question-content directory
emmind/question_export/question_202603061622.csv is a database-style export with these fields:
id, uid, title, type, image, created_at, updated_at, expression, correct_choiceThe file contains 85 rows: 50 situation questions and 35 emotion questions. Forty-five rows have image URLs in the cbtapp-usercontent-dev S3 bucket, while 40 rows have no image value.
The standalone CSV exactly matches cbt-core/src/migrations/question_202603061622.csv, but no executable source references it. Treat it as a content snapshot unless an import procedure is documented elsewhere. The Question entity, service, and controller determine runtime behavior.
The CSV image URLs reference cbtapp-usercontent-dev. That bucket belongs to the public EMmind AWS account 050752624503, not the MTL account. The CSV was carried into the MTL source snapshot, but no executable import reference was found, so current MTL runtime use of those public-development image URLs remains unverified.
Deployed QR entry page
https://qr.mtl.emmind.aimet.tech is a separate deployed product property. Route 53 points it to CloudFront distribution E3QXBPOIIJYCY, whose origin is the emmind-mtl-qr-page S3 bucket. The distribution serves GET and HEAD requests and redirects HTTP to HTTPS.
The Design_Emmind Figma file contains MTL QR-entry designs, including @emmindmtl and a QR landing-page group. No implementation source for the deployed page was identified among cbt-core, cbt-webapp, cbt-cmsapp, or the product-level asset folders, so its code ownership still needs to be located.