-
LockSphere_lifecycle
-
LockSphere_Login
-
LockSphere_calendar
-
LockSphere_AI
-
LockSphere_PlanFLight1
-
LockSphere_PlanFlight2
-
LockSphere_PlanFlight3
-
LockSphere_PlanFlight4
-
LockSphere_PlanFlight5
-
LockSphere_PlanFlight6
-
LockSphere_Trip_Summary
-
LockSphere_FinalBookCall
-
LockSphere_Itinerary
-
LockSphere_Suggestion_Itinerary_Restaurant
-
LockSphere_Suggestion_Itinerary_rentalCar
-
LockSphere_Imbursement
-
LockSphere_Imbursement_approved
-
LockSPhere_ReschdeuleFlight
-
LockSphere_ConfirmationEmail
-
LockSphere_ImbursementEmail
Inspiration
Corporate travel is fragmented: policy, approvals, booking, and what happens after the trip rarely feel like one flow. We wanted a single copilot-style thread that feels like a real associate journey—planning through wrap-up—with Lockton-flavored guardrails.
What it does
LockSphere is a demo web app for Travelers and Approvers: plan a trip on a trip card, pick flights/hotel from demo inventory, submit for approval, get approve / reject / request changes, then simulate booking with confirmation email and simulated corporate-card line items. Travelers can move through on-trip, issues (rebook), and post-trip (recap, receipt-style expense extraction, email handoff to a People Leader).
How we built it
React + Vite + Tailwind on the front; Express + Prisma + SQLite on the back with cookie sessions and bcrypt auth. Gemini or xAI powers planning/chat when API keys exist; otherwise deterministic parsing and offline inventory from CSV datasets. Policy flavor comes from a deterministic policy digest plus templated module copy. Email goes out via Resend or SMTP when configured.
Challenges we ran into
One thread model with many JSON blobs—keeping migrations, types, and UI in sync. Windows / ports / Vite proxy quirks during local demos.
Accomplishments that we're proud of
End-to-end demo arc: planning → approval → mock booking → ledger charges → post-trip recap and multipart receipt / .eml intake. Two real personas (traveler vs approver) with role-gated APIs and UI. Honest “simulated” labeling while still feeling polished (emails, confirmation codes, policy copy). Architecture you can explain: one Express surface, Prisma models, clear TripModule + approval axes.
What we learned
Hackathon velocity favors one thread document + JSON fields over over-normalizing. Demo credibility comes from clear real vs mocked boundaries (GDS, card, email). Operator experience matters as much as features—restarts, env docs, and seed accounts save judges’ time.
What's next for LockSphere
Ship deeper integrations (real OBT / Concur-style handoff), stronger receipt OCR and audit trails, multi-tenant orgs, durable session store, and production DB—while keeping the single-thread copilot story as the spine.
LockSphere — Example traveler prompts
(1) Prompt: “I need a client meeting in Chicago from 2026-06-02 to 2026-06-04, flying out of Kansas City Monday morning and back Wednesday evening. Please propose flights and a hotel near the Loop.” Situation / response: Structured itinerary proposal with flight + hotel options from inventory; readiness to select one of each and submit for approval. Prompt: “Same Chicago trip — my People Leader prefers I keep total airfare under $800 round trip if possible. What still fits policy?” Situation / response: Refinement toward compliant options; ties to associate travel policy framing (budget / reasonableness), not generic travel advice.
Prompt: “Does our policy allow business class for this Chicago leg? It’s only a 90-minute flight but I have a back issue.” Situation / response: Policy-grounded answer (approve vs. steer to economy + alternatives), not a blanket “yes” from a consumer chatbot.
Prompt: “Add one extra night on 2026-06-04 so I can debrief with the client Thursday morning; I’ll fly back 2026-06-05 evening instead.” Situation / response: Date change / extension flow; updated options and flags anything that needs re-approval or approver visibility.
Prompt: “I picked the morning outbound and the Courtyard-style option — summarize what my approver will see when I hit Submit for approval.” Situation / response: Clear package summary for People Leader review (what, when, cost band, policy hooks).
Prompt: “My trip was approved yesterday. Can you book what we selected and give me a confirmation I can forward to finance?” Situation / response: Simulated booking with confirmation-style detail (demo GDS), appropriate disclaimers that it’s not a live ticket.
Prompt: “I’m on trip now — my outbound was delayed 3+ hours and I’ll miss my connection. What should I do first: airline, hotel, or notify my approver?” Situation / response: On-trip / issues guidance: practical triage + internal escalation path aligned with your demo stages.
Prompt: “The hotel charged minibar and Wi‑Fi to the room. Which of those can go on the corporate card vs. personal?” Situation / response: Expense / card behavior explained in a corporate travel context (even if ledger is simplified in the demo).
Built With
- geminiai
- node.js
- nodemailer
- prisma
- react
- sql
- sqlite
- tailwindcss
- typescript
Log in or sign up for Devpost to join the conversation.