About the Project

Inspiration

I’ve always loved words and crosswords, the way language intersects and builds meaning across a grid. But when I started constructing puzzles myself, I realized how limited the available tools were: either too basic, too complex, or paywalled. I wanted to build something that made crossword construction accessible, beautiful, and fun, something that celebrates language itself.

What I Learned

Before this hackathon, I barely knew JavaScript. In 48 hours, I dove into modern web development and learned more than I expected:

  • Three.js: Built interactive 3D scenes, learning about lighting, cameras, and spatial math.
  • Electron.js: Turned a web app into a native desktop experience.
  • Async JS & APIs: Integrated Google’s Gemini API with proper loading, error handling, and user feedback.
  • Algorithm Design: Optimized pattern matching across 400,000+ words for speed.
  • 3D Math: Used vectors and transformations to visualize word relationships.

How I Built It

Lexiconstellation is an Electron desktop app powered by Three.js.
Each “planet” in the 3D interface represents a tool:

  • Pattern Matcher – Finds words matching letter patterns (C?T??).
  • AI Clue Generator – Uses Gemini to write creative clues.
  • Word Galaxy – Displays word connections as a 3D star network.
  • Word Tools – Utility suite for searching and exploring words.

The app uses efficient algorithms, lazy loading, and filtering to handle a 400k-word dataset smoothly.

Challenges

  • Learning Curve: Rapidly picking up Three.js, Electron, and async programming.
  • Performance: Maintaining 60 FPS while rendering thousands of objects.
  • API Integration: Managing Gemini calls, api stuff, and prompt tuning.
  • Data Scale: Keeping large wordlists fast and memory-efficient.

Reflection

In just two days, I went from minimal JavaScript experience to building a full 3D desktop app. Lexiconstellation reflects not just what I learned technically, but how much creativity and curiosity can accomplish under pressure. I hope it helps others find the same joy in constructing crosswords that inspired me to make it.

Share this project:

Updates