• Что бы вступить в ряды "Принятый кодер" Вам нужно:
    Написать 10 полезных сообщений или тем и Получить 10 симпатий.
    Для того кто не хочет терять время,может пожертвовать средства для поддержки сервеса, и вступить в ряды VIP на месяц, дополнительная информация в лс.

  • Пользаватели которые будут спамить, уходят в бан без предупреждения. Спам сообщения определяется администрацией и модератором.

  • Гость, Что бы Вы хотели увидеть на нашем Форуме? Изложить свои идеи и пожелания по улучшению форума Вы можете поделиться с нами здесь. ----> Перейдите сюда
  • Все пользователи не прошедшие проверку электронной почты будут заблокированы. Все вопросы с разблокировкой обращайтесь по адресу электронной почте : info@guardianelinks.com . Не пришло сообщение о проверке или о сбросе также сообщите нам.

A Daily Briefing Assistant You Can Email

Sascha Оффлайн

Sascha

Заместитель Администратора
Команда форума
Администратор
Регистрация
9 Май 2015
Сообщения
1,483
Баллы
155
This is a submission for the

Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

.

What I Built


As a father of three with a busy calendar, this is something I’ve wanted for quite some time – this challenge pushed me to build it ☺
It's a personal assistant that sends me a daily briefing email with what’s on today, what’s important, what I should already have on my radar for tomorrow or later in the week.

Working title: Daily Brief. You log in once, connect your Google Calendar, add a bit of personal context (routines, who people are, etc.), and from then on you get a daily email. It shows you what matters today, plus a bit of what’s coming. Thanks to Postmark's inbound email parsing you can also forward emails to a personal inbox to consider them for the briefing.

The idea is: one setup, then it just works. You don’t have to open an app every day. The whole thing runs through email. You can even reply to your briefing to adjust things or add context.

Since I got the first working version online, I have been using it together with my wife to organize our busy family schedule. It’s been super useful, the process to build this was so fun,I learned a lot and I'm actually thinking about releasing this publicly, so maybe others can get that little bit of calm when starting their day :)

Demo


?

Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.



You can test it in two ways:

  • Login with GitHub → You’ll get dummy calendar data
  • Login with Google → Use your real calendar (currently in Google verification, so there’s a warning). Your calendar data is only used to generate the briefing. Nothing gets stored on my end.

You can also try forwarding any email to your inbox address or replying to the briefing. That’s live and working.


Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.




Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.




Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.



Code Repository


A personalized daily briefing service that combines your calendar events, custom notes, and email content into AI-generated summaries delivered on your schedule.

  • Calendar Integration: Connect your Google Calendar to include upcoming events
  • Custom Notes: Add and manage personal notes, talking points, and task lists
  • Email Parsing: Receive and process emails at your unique inbound address
  • AI-Generated Briefings: Combine all sources into personalized daily summaries
  • Scheduled Delivery: Automated email delivery at your preferred time
  • Test Mode: Preview briefings in the UI before scheduling
Quick Start

  1. Setup Environment


    cp .env.example .env.local



    Update .env.local with your API keys:
How I Built It


I’m a designer, but I’ve always had a thing for code – mostly frontend stuff. This was the first time I’ve really been able to ship something end-to-end, thanks to AI support (I used Cursor with Claude a lot).

The stack:

  • Next.js
  • Supabase (auth + storage)
  • Vercel AI SDK
  • Google Calendar API
  • Github Actions
  • Postmark (inbound + outbound email)
  • shadcn/ui for the interface
Implementation Timeline & Learnings


This was one of those projects where I learned a ton by just doing. Here’s what stood out along the way:


  • Started with a personal starter project
    Already had Next.js with Supabase auth and the Vercel AI SDK set up. That saved a lot of setup time.


  • Added Google sign-in + calendar integration
    Getting OAuth working was okay, but pulling calendar events with the right scopes and tokens took some figuring out.


  • Set up Postmark inbound processing
    Hooked up the webhook, tested locally with ngrok. Worked immediately and gave me clean data to work with.


  • Added personal notes input
    This small feature made a big difference. Gave the assistant the context it needs to feel relevant.


  • Dug into calendar data structure
    Had to learn how recurring events and multi-day entries work so the briefings are actually useful and clear.


  • Had to get the app verified by Google
    It’s a pretty verbose process with a bunch of steps. Still pending, but a good learning.


  • Built a mock mode with GitHub login
    Added a test path with fake calendar data. Super helpful for trying things quickly and demoing without setup.


  • Introduced user email settings
    Let users choose when they want their briefing. Timezone handling was surprisingly tricky.


  • Switched from Vercel Cron to GitHub Actions for scheduling
    Vercel only allows one run per day on the free plan, which made testing hard. GitHub Actions was easy to set up and gives full control over timing—has worked reliably since.


  • First real briefing arrived
    A cool moment—everything stitched together and worked as intended.


  • Iterated on the prompt + AI model
    Tested a few different prompt setups and model configs to get the tone and structure of the briefing right.


  • Refined UX and UI
    Made a few passes to reduce friction. Setup should feel simple and invisible once it's done.
Postmark


Postmark was a key part of this. The inbound parsing made a huge difference, it just worked. I had it set up in no time and it was way easier than expected. Outbound emails are also super fast and easy to manage. One thing that helped a lot was StrippedTextReply. When someone replies to a briefing, I only want the new message, not the full quoted email thread. Postmark gives you just the reply content, no extra cleanup needed. Made the reply-to-context feature feel seamless. Honestly, one of the smoothest parts of the whole project.

Thank you for this challenge which pushed me to build and learn!



Источник:

Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

 
Вверх Снизу