Async standups for remote teams. Talk for two minutes in your own morning; AI writes the check-in; your team reads it in theirs. No meeting, nothing missed.
Try Asincly Cloud Β· Features Β· Quick start Β· Deploy for free Β· Architecture Β· Contributing
Record β AI drafts yesterday / today / blockers and tags teammates β review β send. (Demo data, fake camera.)
A daily standup at 09:30 in New York is 22:30 in Tokyo and 01:30 in Auckland. Someone is always awake at the wrong time. Written standups fix that, but nobody likes typing them and half the context never makes it in.
Asincly lets each person record a short video whenever their day starts. The AI turns it into yesterday / today / blockers, ticks off last time's plan, tags the teammates you mentioned and flags blockers. The team reads a calm, one-screen digest instead of meeting.
- Your window opens in your own time zone. You get a reminder (in-app, email or Slack).
- Talk for two minutes with your last plan and your notes on screen, or write it instead.
- The AI drafts it, you fix it and send. Teammates read it when their day starts: a summary, the full note, the video on tap. Blockers, mentions, replies and reactions notify the right people.
- Video first: camera or screen + camera, up to 10 minutes; works on phones.
- Your previous plan on screen while you talk: tap items as done or still going, or just say it.
- Private notes: jot talking points beforehand so you don't forget anything.
- Write it instead: a guided yesterday β today β blockers flow for days you'd rather type.
- Transcription: Whisper transcribes an audio-only track, so uploads stay small.
- Uses your plan: the draft marks last time's tasks done, carries unfinished ones forward, and adds new work and blockers.
- Auto-tagging: teammates you mention are tagged automatically; remove a tag with one tap before sending.
- Your words win: anything you already typed is kept, with a "use AI version" option.
- Pluggable AI: Groq by default. Without a key, or with AI turned off for a team or a person, videos still upload and people write the check-in themselves.
![]() |
![]() |
- Day rail: everyone placed at their local time, with the check-in window as a band. You can see who's asleep, who's in their window and who's done.
- Needs attention: open blockers with I can help / Resolved, mentions of you and replies to your check-in.
- Summary-first cards: full note, video on tap, Slack-style emoji reactions and
replies with
:shortcode:autocomplete. - Not in yet: see who hasn't checked in, nudge people whose window is open, and set yourself away, which pauses reminders.
![]() |
![]() |
- @-mentions like Linear: type
@for a teammate picker, in check-ins and replies; a typed@namelinks too. The person named gets notified. - One notification per thing: reactions to your check-in or reply group into one ("Sam, Kenji and 1 other reacted Β· π π"); replies, mentions, blockers on you and offers of help each have their own.
- Live: feeds, replies, reactions and the inbox update without a reload.
![]() |
![]() |
- Require video (owners and admins): members who can't record pick a reason, and admins see it.
- Schedules: any number per team (daily, weekdays, MΒ·WΒ·F, weekly, custom RRULE). Each has a window in every member's local time.
- Invitations: invitees accept before they join; admins see who's pending and can revoke.
- Notifications: in-app and email, for window open, mentions, blockers, replies, reactions, offers of help and nudges.
- Data controls: export everything as JSON, set recording retention, hard-delete a team or organization.
- Tenant isolation in the database: every request runs under Postgres row-level security as the signed-in person.
- Encryption at rest: transcripts, summaries and AI drafts are encrypted (with a rotatable key); 2FA, SSO enforcement and session management for admins.
- Media never passes through the app server: browsers upload with pre-signed URLs and play back via short-lived signed links.
- Hardening: audit log, rate limits, strict CSP, Zod validation on every input.
- Open source (AGPL-3.0) and self-hostable with Docker Compose.
Prerequisites: Node.js 22+, pnpm 12 (npm i -g corepack@latest && corepack enable),
and Docker.
git clone https://github.com/codeaz-org/asincly.git
cd asincly
pnpm install
cp .env.example .env # set AUTH_SECRET, DATA_ENCRYPTION_KEY, CRON_SECRET (openssl commands inside)
pnpm db:up # Postgres + MinIO in Docker
pnpm db:migrate
pnpm db:seed # optional: a demo team across 9 time zones
pnpm dev # http://localhost:3000Sign in at http://localhost:3000/sign-in. Without a RESEND_API_KEY, the magic link is
printed in the terminal running pnpm dev. With the demo seed, sign in as
demo@asincly.local and open /northwind/product.
AI drafts: add a free Groq key as GROQ_API_KEY. To try the
flow without a key, start the dev server with AI_FAKE=1 pnpm dev for deterministic
fake drafts.
Testing on your phone: cameras need HTTPS. Run pnpm dev --experimental-https, and add
your LAN IP to DEV_ALLOWED_ORIGINS.
Don't want to run it? Use Asincly Cloud (free for up to 3 people). Want to host it yourself for free? Yes, two ways:
| Option | Cost | Hosting provider allows business useΒΉ | Guide |
|---|---|---|---|
| Vercel Hobby + Neon + Backblaze B2 / Cloudflare R2 + Resend + Groq + GitHub Actions | $0 | β Vercel Hobby is personal use only | Path A |
| Oracle Cloud Always Free VM + Docker Compose | $0 | β | Path B |
| Hetzner CX23 (or any 2 GB VPS) + Docker Compose | ~β¬5.50/mo | β | Path C |
| Vercel Pro + Neon + R2 | ~$20+/mo | β | Path D |
ΒΉ This column is about the hosting provider's terms (Vercel's free Hobby plan is for personal use). Asincly's own license allows commercial use in every option β see License.
One-machine self-host with automatic HTTPS:
cp .env.example .env # fill in the "Docker self-host" section
docker compose -f docker-compose.selfhost.yml --profile https up -d --buildFull guide, limits, CORS and troubleshooting: docs/DEPLOYMENT.md.
The essentials. Everything is documented in .env.example.
| Variable | Required | Purpose |
|---|---|---|
NEXT_PUBLIC_APP_URL, AUTH_URL |
β | Public URL of your deployment |
DATABASE_URL |
β | Postgres owner/admin role (migrations, trusted reads) |
DATABASE_URL_APP + APP_DB_PASSWORD |
β | Non-superuser role subject to row-level security |
AUTH_SECRET |
β | Session signing |
DATA_ENCRYPTION_KEY |
β | 32-byte base64 key for encrypted transcripts and drafts |
S3_* |
β | Any S3-compatible bucket (MinIO, R2, B2, S3) |
CRON_SECRET |
β | Protects /api/cron/tick (reminders, digests) and /api/cron/daily (retention, cleanup) |
RESEND_API_KEY, EMAIL_FROM |
Production | Magic-link sign-in and notification emails |
GROQ_API_KEY |
Optional | Video transcription and AI drafts |
AUTH_GOOGLE_ID, AUTH_GOOGLE_SECRET |
Optional | Google sign-in |
NEXT_PUBLIC_SOURCE_URL |
If you modify the code | Link to your fork's source (AGPL Β§13) |
SLACK_CLIENT_ID, SLACK_CLIENT_SECRET |
Optional | Slack digest and DM reminders (docs/SLACK.md) |
BILLING_ENABLED, STRIPE_* |
Hosted cloud only | Plans and Stripe billing. Leave unset when self-hosting |
- Frontend and app: Next.js 16 (App Router, React 19, TypeScript strict), Tailwind CSS 4, Base UI
- Data: Postgres + Drizzle ORM (SQL migrations with FORCE RLS), Auth.js (magic link, Google)
- Media: S3-compatible storage with pre-signed uploads (MinIO locally), MediaRecorder video and audio
- AI and email: Groq (Whisper + Llama) behind a pluggable provider interface; Resend
- Tests: Vitest (unit and RLS), Playwright (end-to-end with a fake camera and fake AI)
| Command | What it does |
|---|---|
pnpm dev |
Start the app on :3000 |
pnpm db:up / pnpm db:down |
Start/stop local Postgres + MinIO |
pnpm db:migrate |
Apply migrations (and set the app role's password) |
pnpm db:seed |
Load the demo workspace (local databases only) |
pnpm db:generate |
Create a migration from src/db/schema.ts |
pnpm db:studio |
Browse the database |
pnpm test |
Unit + row-level security tests |
pnpm e2e |
Playwright (AI_FAKE=1 pnpm dev first; PW_CHANNEL=chrome to use installed Chrome) |
pnpm lint / pnpm typecheck |
ESLint / TypeScript |
pnpm emoji:sync |
Refresh the self-hosted emoji dataset |
pnpm cron:local |
Fire one scheduler tick against localhost |
See ROADMAP.md and CHANGELOG.md. Next up:
- Slack
/standuptext check-in - Web push / PWA
- More AI providers (OpenAI, Anthropic, local Whisper)
Asincly Cloud is the same open-source code, run by the maintainers so you don't have to. Revenue from it funds development. Sign up at asincly.codeaz.org.
| Free | Pro | |
|---|---|---|
| Price | β¬0 | β¬8 per member / month (β¬80 / year) |
| Members | Up to 3 | Unlimited (billed per member) |
| Teams | 1 | Unlimited |
| AI video minutes | 30 / month | 600 per member / month |
| Video length | 3 min | 10 min |
| History | 14 days | Your retention setting |
| Guests (read-only, free seats) | β | β |
| Slack digest & reminders | β | β |
| "Require a video" rule, multiple schedules | β | β |
| Data export | β | β |
Every new organization gets a 14-day Pro trial, no card required.
Self-hosting is not limited: plans and limits only exist when BILLING_ENABLED=true,
which is how the cloud runs. Your own install has every feature, free, with no license key.
Running your own paid service on Asincly? See Billing.
Contributions are welcome β bug reports, docs, translations and code. Read CONTRIBUTING.md for setup, conventions and how tests run. Please report security issues privately as described in SECURITY.md.
Copyright Β© 2026 the Asincly contributors.
Asincly is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License v3.0 or later. See LICENSE.
Can my company use Asincly commercially? Yes. Use it at work, self-host it for your company or your clients, charge for it. The AGPL doesn't restrict commercial use.
Can I sell hosting or services around it? Yes, including a competing hosted service.
The condition: if you run a modified version for users over a network, you must offer
those users the source of your modifications under the AGPL. Set NEXT_PUBLIC_SOURCE_URL
to your fork so the in-app "Source code" link points to it.
Do I have to publish anything if I just self-host it unmodified? No.
Can I modify it privately for internal use? Yes. Obligations only apply when you give the software to others or let people outside your organization use a modified version over the network.
Can I embed it in a closed-source product? Not under the AGPL. Anything you combine it with and distribute or offer over a network must be AGPL-compatible. Open an issue if you need something else.
This FAQ is a plain-language summary, not legal advice; the LICENSE is what counts.
Third-party components and their licenses are listed in THIRD_PARTY_NOTICES.md.








