Building and Launching Shibutz

The Catalyst

The idea for Shibutz (meaning “Assignment” or “Allocation” in Hebrew) was born out of countless conversations with my wife, an elementary school administrator. She often shared the struggles of organizing class lists each year – a process fraught with complexity and potential oversights, having to email Excel files to a service provider, and having limited allowed “shuffles”. Watching her navigate this cumbersome task sparked a desire in me to create a tool that would alleviate such burdens.

Prototyping

My initial solution was to create a small CLI tool that can get all the details about the students, and generate class lists assignments. I’ve used a cool and somewhat unknown library called ZenLib, from the Microsoft Research team. It’s a constrains solving library, which allowed me to translate my problem space to mathematical equations, and then solve them.

Armed with this solution, I generated and tested the tool on the data my wife provided, making the necessary adjustments based on her feedback.

But I can’t provide a CLI tool to school administrators, so I’ve created a small WPF app that wraps my engine. This worked fine for that year, and my wife used it for her school, and even helped her friends in her previous school to generate their class lists.

But I was never really happy with the user experience. And I couldn’t easily update the software whenever a bug was found. And so over the last year or so, I’ve worked on and off on a new project – and that’s how Shibutz was born.

The vision

My goal was to design a tool that would be intuitive, flexible, and powerful enough to handle the intricacies of class list creation. I also wanted to make it web-based, so that I can continously improve it. I’ve never been much of a web developer, and so I’ve decided with the following web stack:

  • NextJS allowed for building a reliable and responsive frontend.
  • TailwindCSS enabled me to craft a clean and functional user interface.
  • Shadcn provided the backend strength needed for secure data handling.

The project currently includes:

  • Nice and user friendly landing page
  • A full-featured system:
    • Creation of new classes
    • Manually entering or importing of student details
    • Support for gender, behavior/emotion/social//learning level for each student
    • Up to 3 requested friends for each student
    • Abiltiy to set matches and mismatched between students
    • Ability to request setting a student in a specific class
    • Generate unlimited number of class list assignments
  • For SEO purposes, I’m adding:
    • Blog posts, which will also include documentation and guides on how to use the system
    • Free tools for related small tasks school administrators and educators might find helpful
    • Change log

Over time, I’ll add monetization for the system (it’s currently free), as well as add much needed content and improved UX.