Inspiration
With the transition to remote work, professionals are often finding themselves without a centralized place where they can keep up to date with the company's general information like announcements, assigned work, coworkers' birthdays, and more.
What it does
Our dashboard is a beautiful, customizable home page for your users that serves as a digital water-cooler where your team can hang out, keep an eye on everything happening within your organization.
Key Features
- Welcome Widget: Welcomes users with a customizable welcome message
- Recent Announcements: Shows recent blog posts from across confluence, with the spaces, tags and number of posts being configurable by an administrator
- Harvest Widget: Displays total hours tracked via Harvest this week
- Jira Reminders Widget: Displays your assigned Jira issues organized by due date
- Birthdays Widget: Shows coworkers who are celebrating birthdays today or within the next 7 days
- Quick Links Widget: Provides quick access to key internal or external links configured by an administrator
- Weather Widget: Access current weather information for a user-configured location via OpenWeatherMap
- World Clock: Easily keep track of what time it is for your globally distributed coworkers no matter where they reside
- YouTube Widget: Display a rotation of your organization's content from YouTube
- Recent Section: Quickly access Confluence content you have visited, worked on, starred, or saved as drafts.
In addition to the user-facing dashboard application, a settings application has also been implemented which allows administrators to customize the dashboard experience for their users. Key customization settings that currently exist include:
- Welcome Message
- The quantity of recent blog posts to display
- The spaces and tags by which to filter blog posts
- Customizing the quantity, titles and URLs for quick links
How we built it
Work began initially purely as ideation, research of user needs and the creation of a compelling design and thoughtful user experience. Once the initial design and user experience had been planned out, development was begun. Agile methodologies were utilized, with Jira and Confluence playing a key role in ensuring continuity of work across a rotating cast of engineers who had availability.
An initial focus of Development was establishing a CI/CD pipeline to automate the deployment of the application across the dev, staging and production Forge environments. The elimination of friction in the deployment process facilitated rapid iteration on the application, shortened the feedback cycle and allowed us to rapidly collect feedback from real users internal to Modus.
Challenges we ran into
One of the hardest challenges with building a dashboard like this one is determining a "source of truth" for a given type of data and finding a mechanism to programmatically leverage that data. While this is fairly straightforward for some types of data (such as any which comes for Jira or Confluence directly), many third party services lack fully-featured APIs or have no API available at all.
This challenge is further complicated when trying to build a product that is flexible enough to adapt to the needs of many organizations, as the key integrations and sources of data are often entirely different.
Accomplishments that we're proud of
- Delivering a polished, functional UI that centralizes information from many disparate sources
- Accomplishing a lot with no fully dedicated resources at any point during ideation or development
What we learned
- Adapting to development of Forge applications is very straightforward for any engineer already familiar with modern web application development and serverless applications.
- That it's possible to successfully implement a CI/CD model when building Forge applications.
What's next for Modus Intranet Dashboard
Key next steps for the Modus Intranet Dashboard will focus on:
- Improving the flexibility and customizability of the application in order to adapt it to the needs of many organizations beyond just Modus Create.
- Continuing to iterate on user feedback and improving existing functionality
Log in or sign up for Devpost to join the conversation.