Inspiration

Inspiration often begins with something small. A sentence in a book, an unfamiliar building, an image, or a thought that appears unexpectedly. These moments can feel meaningful, but we often move on before doing anything with them.

I wanted to create a place where inspiration would not simply disappear.

That idea became Inspiration Museum, an AI-powered application that helps people discover something interesting each day, reflect on it, and turn their thoughts into something worth keeping.

The central idea is simple: Every inspiration deserves a place.

I also wanted personalization to feel more thoughtful. Rather than asking users to write a new AI prompt every day, the application learns from the interests they choose to share and uses that context to prepare new discoveries for them.

What it does

Inspiration Museum brings together four experiences: Discover, Reflect, Create, and Collect.

1. Discover: Personalized Daily Inspiration

Users begin by creating a personal profile and describing their interests.

Each day, Inspiration Museum presents a Daily Inspiration. It may introduce a word, a quotation, a place, or another creative subject.

The application uses the user's declared interests and relevant interaction signals to help prepare future discoveries. It also leaves room for less predictable topics.

Daily Inspiration is prepared in advance rather than generated when the user opens the card. This allows the reading experience to begin without waiting for a new model response.

2. Reflect: Give inspiration a personal meaning

A discovery becomes more meaningful when people can respond to it in their own words.

Users can open a reflection editor and write about the memories, emotions, questions, or images that a discovery brings to mind.

The reflection remains the user's own creative starting point.

3. Create: Turn words into visual art

Users can select Generate Image to develop a visual interpretation of their writing.

NVIDIA Nemotron analyzes the reflection and prepares structured creative material, including keywords, a short quotation, and an image description.

That description is passed to FLUX Schnell through fal.ai to generate the image itself.

The Go Deeper feature uses an additional Nemotron model pass to develop a more detailed creative direction.

The language model and image model perform different roles. Nemotron interprets and develops the text. FLUX Schnell generates the image.

4. Collect: Build a personal museum

A completed reflection can be published as a Collection.

Collections are displayed in the user's personal gallery, forming a growing archive of their creative ideas.

Users can also share public Collections with the wider community, discover other people's work, and interact through likes, saves, comments, follows, and messaging.

The community feed uses AI-assisted ranking to help organize relevant public content. The ranking model selects and orders existing Collections rather than generating new posts.

How we built it

Inspiration Museum is built with Flutter and Dart, allowing us to develop a consistent interface across supported platforms.

Supabase handles authentication, PostgreSQL data storage, image storage, and server-side Edge Functions.

The AI workflows run through three Supabase Edge Functions:

  • prepare-letter prepares personalized Daily Inspiration for the following day.
  • curate-card analyzes reflections, develops visual descriptions, and coordinates image generation.
  • rank-feed orders eligible public Collections for the community feed.

The application uses Nebius Token Factory to access NVIDIA Nemotron models.

NVIDIA Nemotron 3 Nano supports daily inspiration drafting, reflection curation, behavioral interest observations, and community content ranking.

NVIDIA Nemotron 3 Ultra provides an additional refinement step for selected creative descriptions and explanations.

For image generation, we use FLUX Schnell through fal.ai.

AI credentials remain on the server side rather than being embedded in the public Flutter application.

Challenges we ran into

Designing personalization without making users wait

Daily Inspiration should feel personal, but users should not have to wait for a language model every time they open the app.

We addressed this by preparing the next day's inspiration in advance and storing the result. The application can read the prepared content immediately when the user returns.

We also implemented fallback behavior so that the experience does not depend entirely on a successful live model call.

Connecting language models with visual generation

A personal reflection is not always a useful image-generation prompt.

We separated the process into stages. Nemotron first interprets the writing and prepares a visual description. FLUX Schnell then produces the image.

This separation helped us structure the workflow while keeping the responsibilities of each model clear.

Building a complete product rather than an AI demonstration

The project needed more than a model response. Authentication, publishing, storage, profiles, social interactions, and AI-assisted discovery all had to work together.

We spent significant effort improving the interface, handling asynchronous operations, and testing the complete user journey.

We also prepared a public GitHub repository, deployment documentation, and a hosted Flutter Web demonstration.

Accomplishments that we're proud of

The most satisfying achievement is completing an experience that connects discovery with creation.

Users can begin with a Daily Inspiration, write a reflection, generate an accompanying image, and save the result as a Collection.

The app also has a consistent visual identity inspired by contemporary museums and editorial design.

On the engineering side, we integrated NVIDIA Nemotron through Nebius Token Factory into multiple real application workflows rather than using the model only for a standalone chat feature.

We also built caching and fallback mechanisms, deployed the application, and verified the core features through automated and browser testing.

What we learned

Building Inspiration Museum taught me that an AI product is not defined only by the model it uses.

The surrounding experience matters just as much: when inference happens, how results are presented, what happens when a request fails, and how users remain in control of their own ideas.

I also learned the value of separating different AI tasks. Language understanding, deeper creative refinement, image generation, and feed ranking each have different requirements.

Most importantly, I learned to think about AI as a creative companion rather than a replacement for human imagination.

What's next

I would like to continue developing Inspiration Museum beyond the hackathon.

Future priorities include improving the quality of personalized daily discoveries, making creative exploration more interactive, and refining how users organize and revisit their Collections.

I also want to improve inference efficiency, production safeguards, and the native mobile experience.

The long-term vision is to make Inspiration Museum a personal creative space that grows with its users.

Every inspiration deserves a place.

Built With

  • cloudflare-pages
  • dart
  • fal.ai
  • flutter
  • flux-schnell
  • nebius-token-factory
  • nvidia-nemotron-3-nano
  • nvidia-nemotron-3-ultra
  • postgresql
  • supabase
  • supabase-edge-functions
  • typescript
Share this project:

Updates

Submission history