Inspiration

This project was inspired by the desire to personalize user experience inside Atlassian products using Forge, Atlassian’s cloud app development platform. The idea was simple yet meaningful: build a macro that greets users based on the current time of day—good morning, afternoon, or evening—with a touch of fun and interactivity.

What it does

The project is built as a Forge macro that renders a React-based frontend using @forge/react and connects to a backend resolver using @forge/bridge. It detects the current hour and returns a dynamic greeting using Forge's context APIs to personalize with the user’s account ID.

How we built it

Key steps:

Defined a macro in manifest.yml

Wrote a resolver function using @forge/resolver to return dynamic greetings

Built a frontend React component that invokes the resolver via @forge/bridge

Used ForgeReconciler to render the React UI

Deployed and tested in the Atlassian Confluence Cloud environment

Challenges we ran into

Getting familiar with Forge's unique folder structure and deployment model

Ensuring index.jsx and resolver functions were correctly referenced and wired

Real-time testing and debugging inside the Atlassian UI environment

Understanding error logs and troubleshooting deploy-time issues

Accomplishments that we're proud of

What we learned

How to create a Forge app from scratch using the CLI

Working with serverless backend functions (resolver)

Bridging frontend and backend in Forge using @forge/bridge

Debugging and hot-redeploying Forge apps

Deploying macros that integrate smoothly into the Atlassian ecosystem

What's next for Forge Quest: Bonus Level

Built With

Share this project:

Updates