Inspiration

Executives have a chief of staff. Everyone else has a calendar and a to-do list that never talk to each other.

People with a lot going on (a startup, a job, a family, a fitness goal, a wedding to travel to) rarely lack ambition. They lose the week to meetings, errands and forgotten follow-ups, and nothing tells them why. By Wednesday the plan is gone and they blame themselves.

We wanted everyone to have a chief of staff: something that knows your goals, watches your days, does the groundwork, and speaks up only when a decision is yours.

What it does

SecondMe is a digital chief of staff for people with more going on than one calendar can hold.

It plans your day. Say your goals out loud. SecondMe sorts them into this week, this month, this year and the long term, links each small goal to the bigger one it serves, and places the work in your calendar around what is already there. If what you said is too vague to plan, it asks.

It gets things done. SecondMe takes each task as far as it can without you: it drafts the email, finds hotel options near the venue within your budget, suggests a gift from a local vendor, and moves the gym session that lost to a meeting. It never sends, books or pays without your yes.

It remembers what you forget. Every morning, Memory shows what matters today and where it came from: a friend's birthday from your calendar, a follow-up call, a promise buried in an email, a deadline getting close.

It checks what really happened. Each morning SecondMe compares the plan with the day before. It explains a slip with a quoted calendar entry or email, or says plainly that it cannot tell, then adjusts the plan.

It talks with you. SecondMe reads your day aloud, asks what you want done this week and this month and by when, listens to your answer, repeats it back, and plans it.

It stays quiet. Most mornings nothing needs you, so you hear nothing.

Working today

The hosted demo shows the full experience on example data generated by the real agent code:

  • Record: speak a goal, watch it transcribe live, and hear SecondMe confirm where it put it.
  • Today: the day's plan, tasks at risk, and "Talk it through", which reads the day aloud and takes your answer by voice.
  • Schedule: the next seven days of planned work.
  • Memory: today's reminders (a birthday with a drafted message and a gift suggestion, a follow-up call), and the week and month questions. Ask it to find a hotel and it answers with options and books nothing.
  • Goals: this week, this month, this year, long term, and the full ladder.
  • Living Graph: every goal, route and task, and what slipped.

Behind the demo, the morning check-in has run end to end seven times on a live model (Gemini), with a test calendar and inbox. Not connected yet: a real Google account, the AWS deployment, live hotel and gift search, and sending or booking.

How we built it

SecondMe is three Strands Agents graphs sharing one DynamoDB store, the Living Graph, which holds goals, routes, tasks and slip history.

  • Intake: Extractor → Cascader → Route Planner → Scheduler → Resource Finder.
  • Daily: Observer → Diagnostician, then either Adapter → Preparer → Communicator when SecondMe can act alone, or straight to the Communicator when the decision is yours.
  • Feedback: Interpreter → Graph Updater.

Whether to interrupt you is a typed field. The Diagnostician returns a Pydantic diagnosis, and the graph's conditional edge reads its fields. A diagnosis with no evidence becomes UNKNOWN, and SecondMe asks.

Each agent gets only the tools its job needs, checked when the graph is built. No tool can send an email or delete a calendar event, and SecondMe cannot move an event you don't own.

AWS, built in code: DynamoDB with version locking, S3 and Amazon Transcribe for voice, Secrets Manager for tokens, a Bedrock AgentCore entrypoint, and EventBridge Scheduler with Lambda for the morning run.

The web app is React and TypeScript, with voice through the browser's speech tools.

Challenges we ran into

Amazon Bedrock refused Anthropic models for our country, so we moved to Gemini's free tier. Its limits (5 requests a minute, 20 a day, per model) meant giving each agent its own model and writing a retry strategy that waits the delay Gemini asks for and switches models when one is overloaded.

Some model providers silently ignore the instruction to return structured output, which would make the graph route on empty fields with no error. SecondMe refuses those providers.

Accomplishments that we're proud of

In live runs, the Diagnostician quoted the real evidence for a missed gym session (a nine-person meeting at the same time) and said "I can't tell" for a slip nothing explained. One founder built SecondMe in five days, with more than 700 automated tests.

What we learned

An assistant that always has an explanation is making some of them up, so "I don't know" has to be a valid answer. Limits belong in the tools, not in the prompt.

What's next

  • Connect real Google Calendar and Gmail, and deploy on AWS with the morning run switched on.
  • Real search and booking, always with your approval: hotels, flights, gifts from local vendors, restaurant tables.
  • Check-ins where you already are: WhatsApp messages and short voice calls.
  • Shared plans for families and small teams.
  • Learning your patterns: the slots you keep, the ones you always skip, when you do your best work.
  • A mobile app.

Try it

Hosted demo: https://second-blush-ten.vercel.app. Sign in with judge / second-demo (both fields are already filled in). Use Edge or Chrome, and allow the microphone to try Record and "Talk it through".

Code: https://github.com/oghenejivwe/second (MIT licence)

Built With

Share this project:

Updates

Submission history