Throughout my career as a developer and IT consultant I’ve avoided pointless meetings as much as I could, yet I’ve been learning that when done right, meetings can collectively decide whether a company succeeds or fails! They might block us from doing our jobs, or drive success by aligning individuals and teams to perform and deliver their best work.
Lukas Gotter - Founder & CEO of Meetical
Confluence is an amazing tool to share, prepare and document meeting notes. However, it lacks integration with modern Calendars and creating pages for meetings often feels like a waste of time. When pages start to get outdated and even lost, people become dissatisfied with the platform. Sadly, this can result in less effective collaboration and planning, making finding relevant information a challenge. Meetical’s mission is to change that, helping teams to excel at meetings and revolutionizing how people work with Confluence Meeting Notes.
What it does
Meetical for Confluence is a meeting management tool built by Confluence users for Confluence users. It allows teams to enhance meeting planning, documentation, and review, through seamless integration with popular third-party calendars like Google Calendar and Outlook.
The App allows you to directly create meeting pages from your Calendar and automatically links the event with a confluence meeting page. In addition, recurring meetings get automatically grouped and you can fully automate the creation of pages to ensure a Confluence page exists at the right time for every key meeting.
Meetical also provides users with a variety of new Confluence templates, comprised of thoughtful combinations of our custom, proprietary macros that help standardize and improve the meeting experience.
What problems does it solve
- Have you ever lost meeting notes and had to spend time tracking down people and/or information?
- Have you ever wished to create a meeting page with a single click containing all basic meeting info from your calendar?
- Have you ever wanted to automate the creation of Confluence meeting pages?
- Have you ever wanted a standardized way to publish a meeting page for everyone attending?
- Have you ever wanted professionally maintained confluence macros providing meeting metadata at-a-glance?
- Have you ever wanted customizable metrics around meeting effectiveness, driven by attendees?
Meetical is the solution for all of these common problems!
(1) Meetical supports and integrates directly into services like Google Calendar and Outlook, with extensions that allow users to create templated Confluence pages directly in those applications, so that immediately after creating your meeting, you can add Meetical integration and seamlessly publish a meeting page to a space of your choosing.
(2) Meetical adds structure to meeting notes on Confluence. By standardizing the process by which meeting notes are created, we make it simple for notes to be organized. The Confluence page is also directly linked in the meeting description, so you only have to track down the meeting to find its associated notes.
(3) Furthermore, by automatically linking the meeting Confluence page in the meeting description, all attendees are candidly afforded access to the meeting notes before, during, and after the meeting! Meetical takes the burden of notifying meeting participants of the meeting page by adding them as watchers.
(4) One of the coolest aspects of Meetical are its macros. Tens of custom-designed macros, providing different segments of meeting metadata with varying degrees of customizability, are made available to all users on a Confluence instance.
(5) One of Meetical’s newest macros is its Rating macro, which allows all attendees to vote on a customizable aspect of a meeting or any question in general. User ratings are persisted in Confluence to ensure everyone only gets one vote, and a general average of all votes is also available. Choose between a variety of visual rating styles, including emojis, stars, and a scientific Likert scale!
How we built it
Meetical is built on Atlassian Connect and Spring Boot, providing backend services, rendering macros as individual template views and, as appropriate, integrated with React JS and Atlaskit for a cutting-edge user experience. GitLab pipelines provide continuous integration and automated testing, while Heroku supports our production and staging environments.
Challenges we ran into
One of the most significant challenges was overcoming limitations of Confluence Cloud. For example, the absence of a REST API to get the user’s time zone and an API to get a Confluence user account id by email address. Setting up a Redis cache was our solution to this to have performant access and match meeting participants with Confluence users.
Another significant challenge was “React”ifying our macros. Recognizing the performance impact of dynamic Confluence macros, there were still some things that made a lot of sense to write in React. This meant top-down integration, to allow macros to communicate with backend services and provide distinct visual feedback using Atlaskit. Integration with the server side Atlassian Connect App connected the dots for that problem.
Since we were working on an existing product with a growing user base, we could not move with the speed that other teams might have been able to, who could have compromised testing, documentation, and/or backward-compatibility. In spite of that, we were still able to move forward relatively quickly and make significant improvements.
Something that should not be understated is the time spent on setting up continuous integration pipelines and development environments. Before making significant changes to the codebase, we ensured that GitLab was running all of our JUnit tests and that docker-compose would eliminate the dependency on starting Postgres and Redis instances manually. None of this existed before the start of the hackathon.
Our hackathon team is 3 software engineers, spread across 3 countries and 4,000 miles. The time-zone differences presented unique challenges but we made it work with JIRA, Confluence, Slack, Zoom, and even Meetical, facilitating near-daily stand-ups and constant communication.
Accomplishments that we’re proud of
We are very excited to be able to present Meetical as a greatly improved finished product to a wider audience. Meetical was spawned out of a side project from our CEO, Lukas Gotter, who found that companies gravitated toward using our app organically, without advertising campaigns or anything like that, eventually becoming paying customers to support Lukas’ full-time dedication to the project.
We’re proud of our existing first customers which also helped us to shape and optimize the product, and giving us early feedback for planned new features and epics.
Meetical was growing quickly, but in order to accommodate the demands of the Codegeist hackathon, and to deliver on most of the feature improvements to set Meetical apart from others, Lukas had to look for like-minded software engineers from all around the world that were both inspired by the product and familiar, to some degree, with the existing architecture.
For Meetical to have evolved so much since the start of the hackathon, makes us all very proud and excited for the future of the application!
What we learned
- Developing Cloud native Apps with the Atlassian Connect Framework
- Minification of React components and integration with Atlaskit
- Use Redis for scalable, performant, distributed caching and make microservices communicate with each other
- Process of facilitating reactive communication between macros and backend
- How to stay productive and communicate effectively when working with people around the world
What's next for Meetical
The Meetical hackathon team has found each other during this amazing event and our dream would be to be able to continue working on this together in full time. Winning this hackathon would give Meetical both a financial and reputational boost to help make this dream come reality almost overnight.
Our new App features will be deployed to production as soon as we finish the submission and we are excited to hear the user’s feedback. In the future we want to allow custom meeting page titles, and improve the overall performance. Also, we want to develop a new Slack App to create Confluence meeting pages, which we already prototyped during the hackathon. We even have new app ideas that were discovered during the hackathon but didn’t have time to implement.
One of the most critical judging criteria is the “extent to which the solution can help the most Atlassian users”, and it’s a focal point that Meetical is best able to distinguish itself from other submissions. We believe that Atlassian is looking for more than just an idea. Because an idea, not supported or maintained, does nothing for the platform.
Meetical wants to continue to support and grow our application post-hackathon, regardless of whether we win. The fact that we were able to release a few months before the hackathon to organically grow our clientele, and prove that Meetical filled a need that companies currently have (and are willing to pay for) might just be our biggest selling point. Meetical is here to stay, and we’re excited for what the future holds.