DeepSeek Harness Remote
DeepSeek Harness Remote: DeepSeek Harness 실행 PC와 모바일·PC를 안전하게 연결해 어디서나 작업 이어받기
MeetingGuard는 바쁜 전문가를 위한 AI 회의 보조입니다
MeetingGuard is the AI meeting assistant for busy professionals. Say what you need, confirm the card, and a full-screen alarm makes sure you never miss it. English and Spanish, iPhone and Android.
생산성TypeScript · JavaScriptGitHub @ai-super-dev온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗The marketing site for MeetingGuard: English at /, Spanish under /es/,
built as plain static files and hosted on Firebase Hosting.
Built with Next.js (static export), TypeScript, Tailwind CSS and Motion.
This is the first, limited release: three pages only, the landing page, the
privacy policy and the terms of service (each in English and Spanish). The
full site, with the feature, pricing, assistant, FAQ, blog and other pages,
is kept in Meeting_Guard_Web-Copy for a later release.
You need Node.js 22 or later.
npm install
npm run dev # live preview at http://localhost:3000 (Spanish at /es)
npm run build # writes the finished site to ./out
npm run preview # serves ./out at http://localhost:3000, like Firebase does
Almost everything you read on the site is in a few files. Each holds the English and the Spanish text side by side; change both.
| What | File |
|---|---|
| Header, footer, buttons, forms, home page sections, phone screens | src/lib/i18n.ts |
| The FAQ on the home page (5 questions) | src/content/faq.ts |
| Privacy policy and terms of service (English as approved, Spanish translation) | src/content/legal.ts |
| Facts used everywhere: store links, email, phone, company number, release months, ratings, form and analytics settings | src/lib/site.ts |
Writing rules from the brief: short, direct and friendly; plain punctuation (no
em dashes, ellipses or curly quotes); prices exactly as in the app; features
that are not shipped yet carry an "Available " label (set the months in
availability in src/lib/site.ts).
Spanish files are checked against English: if a translation is missing, the build stops with an error that names it.
src/views/ (the full site in Meeting_Guard_Web-Copy
has the pages of the later release).scripts/generate-routes.py and to PAGES in src/lib/routes.ts.python scripts/generate-routes.py; it writes the English and Spanish
route files.src/lib/i18n.ts, copy the es block, translate it, and add it to
dictionaries.Lang and LANGS in src/lib/routes.ts, with its URL
prefix in localize().en and es).src/app/(xx)/layout.tsx like src/app/(es)/layout.tsx, extend
scripts/generate-routes.py, and add the flag to
src/components/layout/LanguageSwitch.tsx.Phone screens are rebuilt in code from the app's real screens. When the real
screenshots are exported, put them in public/images/screens/ and pass them
to PhoneShot with its image prop (src/components/phone/PhoneShot.tsx).
The web agenda (milestones S3 to S6) lives in the same project with its own
layout: /app (Spanish /es/app). It is kept out of search engines. The
header's Sign in button leads to it, but until the agenda is connected to the
backend the button is shown disabled and says "coming soon"; set agendaOpen
in src/lib/site.ts to true to turn it on. Until then, open the agenda by
typing /app.
| Page | URL |
|---|---|
| Sign in (Google, or email and password, as in the app) | /app/sign-in |
| Agenda: day, week and month; meeting details; create, edit, move, cancel | /app |
| Tasks: by due date, overdue and done; quick capture; edit, complete, delete | /app/tasks |
| Account: plan, manage subscription in the store, sign out, delete account | /app/account |
| Guest invitation (no account needed): accept, decline, propose a time | /app/invite?t=<token> |
It reads and writes the app's own records in the app's Firebase project, live
both ways, under the same server rules. Set the values in .env.example (copy
it to .env.local) and build. Without them, it runs as a preview with sample
data kept in the browser, and a "Preview" label says so.
To turn it on: register a Web app in the Firebase console and copy its config;
add the site's domain under Authentication > Settings > Authorized domains; and
for Apple, add a Services ID to the Apple provider and set
NEXT_PUBLIC_APPLE_SIGN_IN=1.
Every read and write goes through src/lib/agenda/store.ts. Other files:
src/lib/agenda/firebase.ts.src/lib/agenda/records.ts,
following the app's src/core/types.ts.src/lib/agenda/recurrence.ts, following the app's
src/core/recurrence.ts.src/lib/agenda/validation.ts, following the
app's src/screens/meetings/meetingForm.ts.src/lib/agenda/plans.ts. In the app, plans differ only in AI
assistant requests, so nothing on the web agenda is locked.src/lib/agenda/i18n.ts.src/lib/agenda/capture.ts.Keep the first four in step with the app when its records change.
When the agenda moves to its own address (for example app.meetingguard.ai),
point that address at /app, and rewrite /invite/** to /app/invite for
the guest links; the guest page reads the token from either.
appStoreUrl in src/lib/site.ts (until it is set, the
App Store badge does nothing when clicked). The Google Play link is set./privacy-policy,
/terms-of-service; /privacy and /terms redirect there) match Play
Console, App Store Connect and the Meta app.functions/ and set formsEndpoint in src/lib/site.ts.gaMeasurementId in src/lib/site.ts; the consent banner
appears automatically once it is set.Every page is built as a folder with an index.html (/es/ is
es/index.html, /privacy-policy/ is privacy-policy/index.html), so the
host serves the files as they are. Addresses end with a slash; without it, the
server adds it.
npm run build # writes ./out, including .htaccess (from public/.htaccess)
Upload everything in ./out to public_html by FTP (show hidden files so
.htaccess goes too). public/.htaccess has the redirects from old URLs
(/privacy, /terms), the 404 page and the security headers.
npm run build
firebase hosting:channel:deploy preview # a preview link for review
firebase deploy --only hosting # live
firebase.json has the redirects from old URLs and the security headers for
the site paths (not /admin). Merge it with the existing project's
firebase.json, which also serves /admin.
functions/index.js receives the forms (this release uses the assistant
waitlist and the footer updates sign-up), writes them to Firestore (websiteForms) and emails support@ through
the Trigger Email extension (mail collection). Deploy it with
cd functions && npm install && firebase deploy --only functions:websiteForms.
Sent only after the visitor accepts the consent banner: badge_click (with
the store), waitlist_submit, updates_submit, scroll_75.