diff --git a/README.md b/README.md index 4d76153..721b707 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,24 @@ -

Friday

- +

Friday

- Privacy-first AI meeting assistant for local capture, live transcription, and meeting summaries. Friday is a native desktop app that records and summarizes meetings without shipping your raw audio or transcripts to the cloud. The product is built on a privacy-first local-first architecture with a Tauri desktop shell, Rust audio/transcription services, and a Next.js interface. + Privacy-first AI meeting assistant for local capture, live transcription, and meeting summaries. Friday is a native desktop app that records and summarizes meetings without shipping your raw audio or transcripts to the cloud. The product is built on a privacy-first local-first architecture with a Tauri desktop shell, Rust audio/transcription services, and a Next.js interface. + + Website Link : [tinyurl.com/2nvsk8ek](https://tinyurl.com/2nvsk8ek) + + Demo Link : [youtu.be/QXsBkFJ8ack](https://youtu.be/QXsBkFJ8ack) +

-
- Friday logo -
- Friday demo + Friday logo
--- ## Table of Contents + - [What Friday is for](#what-friday-is-for) - [Core capabilities](#core-capabilities) - [Project structure](#project-structure) diff --git a/app.js b/app.js index 36c9b7a..14a2cc3 100644 --- a/app.js +++ b/app.js @@ -57,7 +57,7 @@ document.addEventListener('DOMContentLoaded', () => { const triggerBox = document.getElementById('hero-video-trigger'); const navWatchBtn = document.getElementById('nav-watch-btn'); - const youtubeUrl = "https://www.youtube.com/embed/XqZsoesa55w?autoplay=1"; + const youtubeUrl = "https://www.youtube.com/embed/QXsBkFJ8ack?autoplay=1"; function openModal() { if(videoModal && youtubeIframe) { diff --git a/assets/deepmind.png b/assets/deepmind.png new file mode 100644 index 0000000..e0613f2 Binary files /dev/null and b/assets/deepmind.png differ diff --git a/assets/langgraph.png b/assets/langgraph.png new file mode 100644 index 0000000..9a62f2c Binary files /dev/null and b/assets/langgraph.png differ diff --git a/index.css b/index.css index c422d2d..f14bc23 100644 --- a/index.css +++ b/index.css @@ -1,7 +1,7 @@ :root { /* Simplistic Clean Creamy Palette */ - --bg-base: #fdfbf7; /* Very soft cream */ - --text-primary: #1f1f1f; /* Soft charcoal */ + --bg-base: #FDFCFB; /* Warm off-white */ + --text-primary: #333537; /* Dark charcoal - FRIDAY text & tagline */ --text-secondary: #6e6e6e; --text-muted: #999999; @@ -192,8 +192,10 @@ h1, h2, h3, h4 { font-family: var(--font-display); font-weight: 600; line-height display: flex; justify-content: center; align-items: center; - gap: 48px; + gap: 40px; flex-wrap: wrap; + max-width: 1200px; + margin: 0 auto; } .tech-item { display: flex; @@ -202,15 +204,39 @@ h1, h2, h3, h4 { font-family: var(--font-display); font-weight: 600; line-height gap: 16px; opacity: 0.9; transition: all 0.3s ease; + cursor: pointer; +} +.tech-item img { + transition: all 0.3s ease; + filter: grayscale(100%) opacity(0.7); + object-fit: contain; +} +.tech-item svg { + transition: all 0.3s ease; + opacity: 0.7; + color: var(--text-secondary); } .tech-item:hover { opacity: 1; transform: translateY(-4px); } +.tech-item:hover img { + filter: grayscale(0%) opacity(1); + transform: scale(1.1); +} +.tech-item:hover svg { + opacity: 1; + color: var(--text-primary); + transform: scale(1.1); +} .tech-item span { font-size: 0.9rem; font-weight: 600; color: var(--text-secondary); + transition: color 0.3s ease; +} +.tech-item:hover span { + color: var(--text-primary); } /* Video Box Placeholder - Screenshot Match */ @@ -226,32 +252,58 @@ h1, h2, h3, h4 { font-family: var(--font-display); font-weight: 600; line-height .hero-video-box { width: 100%; max-width: 480px; - aspect-ratio: 16/10; - background: #111111; + aspect-ratio: 16/9; border-radius: 20px; display: flex; align-items: center; justify-content: center; margin: 0 auto 40px; position: relative; - box-shadow: 0 30px 60px -10px rgba(0,0,0,0.1), 0 0 80px 20px rgba(0,0,0,0.05); /* Soft outer glow */ + border: 1px solid rgba(0,0,0,0.08); + box-shadow: 0 20px 50px -15px rgba(0,0,0,0.12), 0 0 0 1px rgba(0,0,0,0.03); cursor: pointer; - transition: transform 0.3s ease; + transition: transform 0.3s ease, box-shadow 0.3s ease; + overflow: hidden; +} +.hero-video-thumbnail { + position: absolute; + inset: 0; + width: 100%; + height: 100%; + object-fit: cover; + pointer-events: none; +} +.hero-video-overlay { + position: absolute; + inset: 0; + background: linear-gradient(to bottom, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.4) 100%); + pointer-events: none; +} +.hero-video-box:hover .hero-video-overlay { + background: linear-gradient(to bottom, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.35) 100%); } .hero-video-box:hover { transform: translateY(-4px); + box-shadow: 0 30px 60px -15px rgba(0,0,0,0.12), inset 0 1px 0 rgba(255,255,255,0.6); } .video-btn-inner { - background: #333333; + background: var(--text-primary); color: white; - padding: 12px 24px; - border-radius: 8px; + padding: 14px 28px; + border-radius: 12px; display: flex; align-items: center; - gap: 10px; + gap: 12px; font-weight: 600; font-size: 1rem; - border: 1px solid rgba(255,255,255,0.1); + box-shadow: 0 4px 14px rgba(51,53,55,0.25); + position: relative; + z-index: 1; + transition: transform 0.2s ease, box-shadow 0.2s ease; +} +.hero-video-box:hover .video-btn-inner { + transform: scale(1.02); + box-shadow: 0 6px 20px rgba(51,53,55,0.3); } .hero-stacked-ctas { diff --git a/index.html b/index.html index 3486c68..8a86a1b 100644 --- a/index.html +++ b/index.html @@ -48,8 +48,10 @@

+ Watch FRIDAY in action +
Watch video @@ -77,7 +79,7 @@

An agent that works for you.

Invisible Notetaker

-

No invasive bots joining your meetings. FRIDAY silently captures audio and generates structured notes locally on your machine, just like Granola.

+

No bots in your calendar. FRIDAY runs entirely on your device—capturing audio and turning it into structured notes without sending a single byte to the cloud.

@@ -108,10 +110,97 @@

Powered By Next-Gen Tech

Built for speed, privacy, and autonomous intelligence.

-
Rust CoreRust Core
-
Next.jsNext.js Frontend
-
DeepMind Core
-
Tauri Desktop
+ +
+ + + + + + + Gemini +
+ + +
+ LangGraph + LangGraph +
+ + +
+ + + + + + Supermemory +
+ + +
+ Supabase + Supabase +
+ + +
+ + + + + + Exa +
+ + +
+ Google Workspace + Google Workspace CLI +
+ + +
+ + + + + + Heartbeat Loop +
+ + +
+ + + + + + + Meetly +
+ + +
+ Rust Core + Rust Core +
+
+ Next.js + Next.js Frontend +
+
+ DeepMind + DeepMind Core +
+
+ + + + + + Tauri Desktop +
diff --git a/website/app.js b/website/app.js index 36c9b7a..14a2cc3 100644 --- a/website/app.js +++ b/website/app.js @@ -57,7 +57,7 @@ document.addEventListener('DOMContentLoaded', () => { const triggerBox = document.getElementById('hero-video-trigger'); const navWatchBtn = document.getElementById('nav-watch-btn'); - const youtubeUrl = "https://www.youtube.com/embed/XqZsoesa55w?autoplay=1"; + const youtubeUrl = "https://www.youtube.com/embed/QXsBkFJ8ack?autoplay=1"; function openModal() { if(videoModal && youtubeIframe) { diff --git a/website/assets/deepmind.png b/website/assets/deepmind.png new file mode 100644 index 0000000..e0613f2 Binary files /dev/null and b/website/assets/deepmind.png differ diff --git a/website/assets/langgraph.png b/website/assets/langgraph.png new file mode 100644 index 0000000..9a62f2c Binary files /dev/null and b/website/assets/langgraph.png differ diff --git a/website/index.css b/website/index.css index c422d2d..ecbfb6d 100644 --- a/website/index.css +++ b/website/index.css @@ -1,7 +1,7 @@ :root { /* Simplistic Clean Creamy Palette */ - --bg-base: #fdfbf7; /* Very soft cream */ - --text-primary: #1f1f1f; /* Soft charcoal */ + --bg-base: #FDFCFB; /* Warm off-white */ + --text-primary: #333537; /* Dark charcoal - FRIDAY text & tagline */ --text-secondary: #6e6e6e; --text-muted: #999999; @@ -202,11 +202,21 @@ h1, h2, h3, h4 { font-family: var(--font-display); font-weight: 600; line-height gap: 16px; opacity: 0.9; transition: all 0.3s ease; + cursor: pointer; +} +.tech-item img { + transition: all 0.3s ease; + filter: grayscale(100%) opacity(0.7); + object-fit: contain; } .tech-item:hover { opacity: 1; transform: translateY(-4px); } +.tech-item:hover img { + filter: grayscale(0%) opacity(1); + transform: scale(1.1); +} .tech-item span { font-size: 0.9rem; font-weight: 600; @@ -226,32 +236,58 @@ h1, h2, h3, h4 { font-family: var(--font-display); font-weight: 600; line-height .hero-video-box { width: 100%; max-width: 480px; - aspect-ratio: 16/10; - background: #111111; + aspect-ratio: 16/9; border-radius: 20px; display: flex; align-items: center; justify-content: center; margin: 0 auto 40px; position: relative; - box-shadow: 0 30px 60px -10px rgba(0,0,0,0.1), 0 0 80px 20px rgba(0,0,0,0.05); /* Soft outer glow */ + border: 1px solid rgba(0,0,0,0.08); + box-shadow: 0 20px 50px -15px rgba(0,0,0,0.12), 0 0 0 1px rgba(0,0,0,0.03); cursor: pointer; - transition: transform 0.3s ease; + transition: transform 0.3s ease, box-shadow 0.3s ease; + overflow: hidden; +} +.hero-video-thumbnail { + position: absolute; + inset: 0; + width: 100%; + height: 100%; + object-fit: cover; + pointer-events: none; +} +.hero-video-overlay { + position: absolute; + inset: 0; + background: linear-gradient(to bottom, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.4) 100%); + pointer-events: none; +} +.hero-video-box:hover .hero-video-overlay { + background: linear-gradient(to bottom, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.35) 100%); } .hero-video-box:hover { transform: translateY(-4px); + box-shadow: 0 30px 60px -15px rgba(0,0,0,0.12), inset 0 1px 0 rgba(255,255,255,0.6); } .video-btn-inner { - background: #333333; + background: var(--text-primary); color: white; - padding: 12px 24px; - border-radius: 8px; + padding: 14px 28px; + border-radius: 12px; display: flex; align-items: center; - gap: 10px; + gap: 12px; font-weight: 600; font-size: 1rem; - border: 1px solid rgba(255,255,255,0.1); + box-shadow: 0 4px 14px rgba(51,53,55,0.25); + position: relative; + z-index: 1; + transition: transform 0.2s ease, box-shadow 0.2s ease; +} +.hero-video-box:hover .video-btn-inner { + transform: scale(1.02); + box-shadow: 0 6px 20px rgba(51,53,55,0.3); } .hero-stacked-ctas { diff --git a/website/index.html b/website/index.html index 3486c68..23017e0 100644 --- a/website/index.html +++ b/website/index.html @@ -48,8 +48,10 @@

+ Watch FRIDAY in action +
Watch video @@ -77,7 +79,7 @@

An agent that works for you.

Invisible Notetaker

-

No invasive bots joining your meetings. FRIDAY silently captures audio and generates structured notes locally on your machine, just like Granola.

+

No bots in your calendar. FRIDAY runs entirely on your device—capturing audio and turning it into structured notes without sending a single byte to the cloud.

@@ -110,7 +112,8 @@

Powered By Next-Gen Tech

Rust CoreRust Core
Next.jsNext.js Frontend
-
DeepMind Core
+
DeepMindDeepMind Core
+
LangGraphLangGraph
Tauri Desktop