sapiens

make learning come alive.

try sapiens now at sapiens.sophli.in

inspiration

when learning, boring lessons from the textbook or dozens of assignments were never what stood out in our memory. rather, it was the fun aspects of learning, like exploring islands of the past in popular flash game poptropica or reading about jack and annie's time-traveling adventures in magic tree house.

we want to build a k-12 edtech platform that truly works, filled with lots of love and heart, that helps history come alive, and teach students why learning about the past matters.

what it does

sapiens is an educational sandbox where you can create stories with your imagination alone. we contextualize it as embarking on voyages. the teacher is the captain of the ship, and students are the cadets. students can share the field notes they take in the starstream forum to facilitate discussion. in a 2d pixel home, they can chat with stars, historical figures from completed voyages.

for a visual overview, click through the dots below the demo video to see screenshots of different pages and features. click on an image to fullscreen for the best image quality!

what is in a voyage?

  • (optional) lesson plan for teachers to share when assigning voyages
  • written story and dialogue, formatted in our custom JSON for rendering branching dialogue paths
  • lesson plan

it takes ~7-10 minutes to generate a complete voyage, so be sure to keep the tab open while it's generating. press [d] to toggle the progress panel and see what stage the workflow is on.

some useful pages to check out!

/ auraful hero page. press [space] and tab to "returning player" and choose a profile. if you want to see a teacher profile, select "darwin" and if you want to see a student profile, select any of the profiles with a book icon.

/nexus view your voyages and share discoveries with fellow cadets on the starstream. on the main page, you can click on the read (book) icon any voyage card and go to a voyage.

  • in teacher view, you can click "imagine" button to generate a lesson plan. once you update it as you see fit, you can pass it to the multiagent workflow to generate a story to assign to students. press [d] to toggle the progress panel.
  • before posting something to the forum, our toxicity filter checks for any harmful or inappropriate language and prevents such messages from being pushed.
  • in the settings tab, teachers can configure a list of approved domains for historical content. all llms, including the steering story generation process, coco companion, and historical figure npcs will all be fed this list to know what sources to generate responses from!

/ship your home for . triple-tap your cute sleeping monkey (coco), select "tell me a story," create a story through any of our curated options or through your own text description!

  • the "something..." option allows you to choose adjectives that determine the genre or atmosphere of the story. for example, "something amazing" is defined for the curator agent as an important event that is widely regarded as foundational to a specific country or culture, for example the construction of the great wall of china or the signing of the magna carta.
  • the "take me to..." option includes a fixed set of eras covering different continents and time periods.
  • the "tell me a story about" option allows users to freely type in a story of their own choice.

all of these options are fed through the curator agent to generate an engaging yet structured story grounded in sources.

/home chat with stars of the past. press [z] to talk with historical figures like abraham lincoln or rosa parks, and as you ask them questions, you can press [n] to access the field notes panel where they add notes and citations for their responses for future reference.

/voyages view generated voyages (dev feature). click on the "done" tab and you can see the story generation progress log and per-agent i/o for available stories.

how we built it

a quick note: i (sophie) solo designed and built the full platform, but my teammates saumya and kaavya helped with the demo video, so they were added as contributors!

extra: saumya also helped create the toxicity filter, which prevents inappropriate messages using openai's latest omni-moderation model.

no real auth, you can switch between profiles easily in sapiens.sophli.in/roll-call?view=returning. this way demoing the mvp is easier and you don't need a separate email for each mock account.

tech

codex for building

openai | gpt 5.6 luna, omni-moderation-latest & anthropic | claude sonnet 5 for llms

pixellab ai for pixel art gen

steering workflow

with just text description alone, steering, our multi-agent harness, will choose the appropriate historical period/event and make it come alive.

the multi-agent team consists of the below:

  • optional curator that turns the user's free-text prompt into structured synopsis direction
  • a director that generates the synopsis and character list
  • a writer to create the full story, dialogue
  • an artist to generate pixel art character portraits, voyage-exclusive collectible, and sprite for the star historical figure

codex & gpt 5.6 usage

codex was used to code the platform and come up with ideas for product & architecture. i found that it works very well for generating core functionality, solving quite a few tricky bugs without hallucination or cyclic failures where it keeps repeating the same solution, and ui eval via preview. it's a lot faster than cursor and feels nicer to use, especially with the new gpt 5.6 models. even when it doesn't get the specs in one shot and forgets certain details, it's easy to ask it to fix in subsequent fixes.

it was also nice to use to generate mock data and come up with different free-text prompts to run the story gen processes on to cover edge cases, as well as one-shot design ui when i wasn't too sure how it shape out and shape from there.

i tried creating a fleet of agents (orchestrator, designer, dev, eval, housekeeper) in .brain/team to build the platform at some point early on, though i had to experiment with the level and type of task to see what it would be good for. sometimes the subagents would time out too early, but maybe that was some config on my end i could fixed.

overall pretty pleased by codex's results and will definitely be using it to build future projects.

aside: gpt 5.6 model was used when developing in codex, i did not use any other models. i used gpt 5.6 luna medium and high mode for different tasks. i also tried sol but didn't try it enough to figure the difference; luna was sufficient for my tasks.

the model gpt 5.6 luna was used in the story-generation steering multi-agent workflow and other llm functions that make sapiens come alive, but also keep stories and answers about historical events grounded.

attached in the repo README you can see all the main codex chats (some minor fix chats were archived) used to create the project. a good mix of technical implementation and design discussion used for codex.

overall pretty pleased by codex's results and will definitely be using it to build future projects.

challenges we ran into

deciding how the story generation workflow would work.

originally, the workflow consisted of only a researcher, writer, and artist and you can only input a historical event, not any textual description.

once i got that working, i realized that i wanted more control for the user, so i added an ability to freely prompt the steering harness to generate a story even based on vibe (e.g. something amazing or something mysterious) and an ability for the teacher to approve certain sources for all agents to use when generating any historical responses instead of free web search.

of course, there was also api retry and rate limiting issues, so i added logging, appropriate rate limiting mitigation, and a terminate button to keep the story generation process and debugging experience high-quality.

even then, there were quite a few edge cases to consider! for example, i had to add the director agent because one agent alone to generate the story one-shot would often lose details from the user prompt, so i had to create a director agent to generate synopsis and character list that the writer was required to build upon.

an important part of the dev process was building the /steer and /voyages pages, in addition to debug panel to show agent progress logs that can be accessed through [d] key. /steer was used to individually test the different agents to make sure they would work to diagnose issues and run the entire workflow, and /voyages was used to

building a custom web game engine.

there weren't really any good frameworks for the hybrid react ui / game engine architecture that i conceived of, so i decided to build my own. this was pretty hard since standard ai coding models aren't yet very great at understanding layout and different assets, so i had to manually curate some workflows instead of one-shotting.

accomplishments that we're proud of

building something that is truly first of its kind.

edtech + ai is usually framed as augmenting the existing public education system, but we wondered if we could break that mold and create something truly novel. we hope that sapiens will break the paradigm and encourage more story-driven, immersive educational techniques that appeal to the imaginative side of kids.

what we learned

building something new is not easy! even with all the ai development tools we have now, a steady vision, creative design, and good product sense are all required to make a good product.

also codex works really well might be switching over after this hackathon...

what's next for sapiens

expand sapiens to other school subjects, including science, mathematics, and fine arts. essentially, a virtual playground where students are able to learn through play, time-traveling back to learn about important historical events, running science experiments, and build and inquire anything that interests them all in one place.

Built With

Share this project:

Updates