###Inspiration
The inspiration came from exploring Atlassian's Forge platform and the need to create unified experiences across Jira and Confluence. We wanted to build a cross-product app that demonstrates how modern cloud development can seamlessly integrate with Atlassian's ecosystem.
### What it does
This Forge app creates a personalized greeting experience that works in both Jira and Confluence. It:
- Displays a personalized welcome message using the current user's display name
- Detects and shows the current UI theme (light/dark mode)
- Automatically adapts to work in both Jira project pages and Confluence space pages
- Provides a foundation for building more complex cross-product features
###How we built it
We built this using Atlassian's Forge platform with:
- React and Forge UI Kit 2 for the frontend interface
- Forge Bridge API to access user context and make authenticated API calls
- Cross-product manifest configuration to deploy to both Jira and Confluence
- Modern JavaScript with hooks for state management
- Forge resolvers for backend logic and context-aware responses
###Challenges we ran into
- Handling API differences between Jira and Confluence REST endpoints
- Implementing fallback logic when one product's API isn't available
- Managing asynchronous user data fetching with proper error handling
- Understanding Forge's security model and permission scopes
- Ensuring the app works seamlessly across different Atlassian products
### Accomplishments that we're proud of
- Successfully created a truly cross-product app that works in both Jira and Confluence
- Implemented intelligent API fallback logic for maximum compatibility
- Built a clean, modern React interface using Forge's UI components
- Achieved proper error handling and user-friendly fallbacks
- Created a foundation that can be extended for more complex features
What we learned
- How to leverage Forge's unified platform for cross-product development
- The nuances of different Atlassian product APIs and their authentication
- Best practices for handling asynchronous operations in Forge apps
- The importance of graceful degradation when APIs are unavailable
- How to use Forge's context system to create product-aware experiences
###What's next for My first Forge App
- Add interactive features like user preferences storage
- Implement team collaboration features that sync across Jira and Confluence
- Create custom UI components for richer user experiences
- Add analytics to track usage patterns across products
- Explore AI/automation capabilities using Forge's platform features
- Expand to support more Atlassian products like Bitbucket or Trello

Log in or sign up for Devpost to join the conversation.