Inspiration

Both coming from a tech background—Trevor as a software developer and Gabby as a product manager—we aimed to create practical solutions for everyday use cases in corporate America, particularly in tech. Recognizing the time developers lose to context switching while reading emails, we conceived SIFTBOX to streamline this process and enhance productivity. We wanted to be creative and make something for developers that solved a business use case since it seems the market lacks enterprise AI solutions for internal teams.

What it does

SIFTBOX serves as an AI companion for your inbox. It scrapes unread emails using a Python script, then leverages a ChatGPT plug-in to discern important information. It compiles summaries of critical emails and generates a prioritized to-do list from actionable items found within those messages.

How we built it

Technical Considerations for Building

To make sure we were efficient using ChatGPT (there is a cost associated with calling the API) we had to carefully structure our prompts. We used the python OpenAI library to be able to make calls from our backend to ChatGPT. We also had to configure our backend to be able to authenticate to Azure/Office365. The backend interacted with our react frontend through FastAPI and fetch requests. We had to generate local SSL certs to allow us to redirect from Azure/o365 to our local app. To do this, we are serving our frontend via NGINX and we proxied our backend routes through that as well.

Product Management and Agile Methodologies

The development of SIFTBOX was a meticulous exercise in agile product management, with each phase reinforcing the other to create a seamless and efficient workflow.

Problem Statement and Planning

We initiated our journey by articulating a clear and concise problem statement: "How can we minimize context switching for developers due to email communication?" This question anchored our entire project. From there, we meticulously planned our timeline, incorporating agile's iterative cycles and setting milestones that were realistic yet challenging, ensuring regular delivery of value.

User Research

Our groundwork began with deep user research within developer communities. We identified common challenges in their workflows, especially around communication overhead, which often led to context switching. This direct engagement with potential users is a staple in agile's emphasis on customer collaboration.

Defining Scope

Scope definition was an exercise in disciplined creativity. We had to navigate between the ideal and the practical, choosing to focus on features that offered the most significant impact within the hackathon's timeframe. This aligns with agile's principle of simplicity—maximizing the amount of work not done is essential.

Feature Selection and Prioritization

In selecting and prioritizing features, we relied on the MoSCoW method (Must have, Should have, Could have, Won't have this time), which is congruent with agile practices. It helped us to deliver a minimum viable product (MVP) that was both functional and value-driven within the constraints we faced.

Writing User Stories

The creation of user stories translated our user personas' needs into actionable development tasks. This agile technique ensured that each feature was designed with the end-user in mind, facilitating clear communication and setting expectations correctly for both the development team and stakeholders.

Definition of Done

Establishing our 'Definition of Done' was critical to maintain a consistent quality standard. In agile, this comprehensive checklist ensures transparency and quality control, confirming that each feature is ready for release.

Timeline Management

Our timeline was not only a schedule but also a strategic plan that reflected our agile approach. We broke down the development process into sprints, with each sprint resulting in a potentially shippable product increment. This allowed us to assess our progress continuously and adapt as needed.

Challenges we ran into

Challenges fell into product management and development. As a product manager, Gabby grappled with understanding user needs without direct feedback and defining the MVP's scope. The limitation of a hackathon format forced hard decisions on feature inclusion.

From a technical standpoint, we decided to use a ChatGPT endpoint and in the days leading up to the OpenAI Dev Day 2023, there were a lot of issues with response times due to the volume of users.

Accomplishments that we're proud of

We're proud that SIFTBOX feels like a complete product, not just a snippet of code. Its practical use case, accessibility due to open-source tools, and the seamless integration of Docker with AI for a user-friendly experience are also notable achievements.

What we learned

We discovered Docker's power in enabling AI, the Docker community's strength, and that a clear vision requires detailed planning and execution. The project underscored the importance of strategic and diligent work to realize an idea.

What's next for SIFTBOX

We plan to open-source SIFTBOX for community use and feedback, with aspirations to refine and expand the MVP into a more robust product in the future. As we saw from OpenAI's Dev Day, there is a strong desire for autonomous agents and that's something we could definitely incorporate into SIFTBOX if users respond well to it in A/B testing and user feedback sessions!

Built With

Share this project:

Updates