Inspiration
I wanted a personal assistant that could help between conversations. Finding relevant jobs, keeping up with research, checking grocery offers, and planning a day out all involve repeatedly searching, comparing, and coordinating information. Daylight grew from a simple idea: tell an assistant what matters to you once, and let it keep helping while you stay in control.
What it does
Daylight brings conversation, memory, and scheduled tasks together through a web interface and Telegram. It can match job postings against your CV, track research topics, filter grocery offers by your preferences, and plan outings in Stockholm using real places and transport information.
Recommendations aim to show their evidence and limitations. Job matches identify both supporting CV experience and missing requirements. Calendar changes require a preview and confirmation, while a dedicated page lets you review remembered information and pause scheduled tasks.
How I built it
I built Daylight around Hermes Agent, with NVIDIA Nemotron models served through Nebius Token Factory. The larger model handles conversations and detailed reasoning, while a smaller model helps screen incoming information.
The application uses a lightweight HTML, CSS, and JavaScript frontend with a Node.js backend. MCP tools and reusable skills connect the agent to planning, calendar, job-search, research, and grocery workflows. Google Maps provides location and routing information, Google Calendar handles scheduling, and SQLite stores application state.
Challenges I ran into
The hardest challenge was making the assistant flexible without making its actions unreliable. Early versions repeated questions, misunderstood unrestricted budgets, and treated a few example activities as the limits of their capabilities.
These failures pushed me to rethink the division of responsibility: the model interprets requests and chooses tools, while code validates constraints, preserves state, and controls consequential actions. Handling incomplete information and interrupted model responses also required more work than simply improving prompts.
Accomplishments that I'm proud of
I’m proud of bringing several useful workflows into one assistant with shared memory and reusable tools. The job-matching workflow checks claimed qualifications against actual CV text, and the calendar workflow keeps approval separate from the model’s suggestions.
I’m also proud of making personalization visible: users can inspect what the assistant remembers and control the tasks it runs for them.
What I learned
A capable model is only part of a useful agent. Context, tool design, persistent state, and clear feedback strongly influence how intelligent the experience feels.
I learned to evaluate complete conversations rather than isolated answers—and to treat repeated questions, unsupported claims, and stalled tasks as architectural signals rather than problems to patch with another prompt.
What's next for Daylight
Next, I want to complete and validate cloud deployment, integrate cloud speech recognition and natural voice playback, and improve recovery when tasks fail. I also plan to make recommendations more personal and conversational, explaining why an opportunity or activity might interest the user while keeping the supporting evidence accessible.