About the Project
Inspiration
Organisations are constantly changing—people join, transfer, get promoted, change managers, and take on newly created roles. However, these changes are often scattered across spreadsheets, HR documents, and disconnected systems.
We built Setel Journey to transform those fragmented records into a clear, trustworthy history of how an organisation has evolved. Instead of only showing the current org chart, Setel Journey answers a more valuable question: How did we get here?
What It Does
Setel Journey provides a time-aware view of people, roles, teams, and reporting lines. Users can:
- Explore the organisation at different points in time
- Follow an employee's journey across roles and departments
- Review the complete history of a role and its occupants
- Compare organisational changes between periods
- Import and validate HR records from CSV files
- Identify incomplete, conflicting, or ambiguous data
- Extract proposed events from HR documents using local AI
- Review supporting evidence before approving any AI-generated event
Every approved AI-assisted change includes its source document, evidence passage, confidence level, model information, and reviewer decision.
How We Built It
We built the frontend with React, TypeScript, Vite, and Tailwind CSS. The interactive organisation map uses React Flow, while CSV processing is handled with Papa Parse.
At the heart of the system is an event-based data model. Rather than overwriting an employee or role whenever something changes, Setel Journey records events such as:
PERSON_PROMOTEDPERSON_TRANSFERREDROLE_CREATEDROLE_RENAMEDMANAGER_CHANGEDREPORTING_LINE_CHANGED
The application reconstructs an organisational snapshot for any selected date by applying the relevant events chronologically.
For document extraction, we created a small Express API that connects to a locally running Ollama model. Uploaded text, Markdown, or text-based PDF documents are converted into structured proposals and validated with Zod. AI output never enters the organisational history automatically—a named HR reviewer must inspect, edit, and approve it first.
Challenges We Faced
The biggest challenge was modelling time correctly. A person's role, department, and manager can all change independently, so a traditional "current state" database structure was not enough. We needed an event model capable of reconstructing the organisation consistently at any date.
Messy HR data created another challenge. Records may contain missing dates, unmatched employees, conflicting managers, duplicate events, or roles without occupants. We designed a dedicated review workflow so these issues are visible and resolvable instead of being silently ignored.
AI reliability and privacy were equally important. HR documents contain sensitive information, and language models can produce unsupported details. We addressed this by using local inference, strict structured output, exact evidence passages, confidence indicators, schema validation, and mandatory human approval.
Finally, presenting complex historical relationships without overwhelming users required careful UX decisions. We combined timelines, filters, evidence drawers, review screens, and an interactive organisation map to make each change understandable and traceable.
What We Learned
We learned that organisational data is more than a collection of employee profiles—it is a sequence of connected decisions and events.
We also learned that responsible AI works best as an assistant rather than an authority. AI can reduce manual data entry, but trust comes from validation, evidence, auditability, and meaningful human oversight.
Most importantly, we discovered that showing organisational history can help leaders understand not only who reports to whom today, but also how teams formed, why roles changed, and where data quality could affect future workforce decisions.
What's Next
Future versions could add persistent storage, authentication, role-based access, OCR for scanned documents, HRIS integrations, richer workforce analytics, and collaborative review workflows.
Built With
- react
- typescript
- vite
Log in or sign up for Devpost to join the conversation.