Inspiration
Parking at a friend’s apartment should be simple. Instead, it often means finding the guest parking portal, navigating an unfamiliar form, asking your friend for their apartment details, and entering everything before you risk getting towed.
We realized how much work happens after you’ve already found a parking spot. The driver has the car information. The resident has the apartment information. The parking portal needs both—and someone has to coordinate it all.
We built Parkour to handle that coordination. It brings together AI reasoning, browser automation, and communication so visiting a friend doesn’t start with another form to complete.
What it does
Parkour is an agentic parking assistant that handles guest parking registration at supported locations. The experience starts with one approval and ends with confirmation from the parking portal.
Here’s the workflow:
Arrival detection and consent: Parkour recognizes arrival near a supported parking location and asks the user to confirm where they’re parking. Registration begins only after explicit approval.
Portal navigation: The agent opens the property’s guest parking portal in a real Chromium browser.
Understanding requirements: NVIDIA Nemotron interprets the form’s questions, identifies required information, and determines what is missing. Parkour checks saved details before asking for information again.
Resident communication: When resident information is needed, Photon contacts the resident directly. The request reflects the information required by that portal, so the driver doesn’t have to relay questions and answers.
Information extraction: Nemotron interprets the resident’s natural-language response and turns it into structured form fields. Parkour validates those fields before using them.
Registration and verification: The agent fills the form, performs a controlled submission, and checks the portal’s response. It returns the confirmation number, expiry information, and a screenshot as proof.
Reminders and renewal: Photon sends expiry reminders and lets users reply RENEW to request an extension. Renewal remains subject to the property’s rules and requires a new confirmation before Parkour reports success.
Throughout the process, SpacetimeDB maintains shared workflow state, saved resident details, confirmation metadata, and parking history. This lets Parkour pause while waiting for a resident, resume after their reply, and simplify future visits.
How we built it
Parkour combines several technologies around one coordinated task:
NVIDIA Nemotron provides the reasoning behind portal interpretation and information extraction. It identifies what the form requires and converts natural-language replies into structured data the agent can use.
Playwright and Chromium provide the browser environment for opening parking portals, interacting with forms, submitting registrations, and capturing confirmation evidence.
Photon connects the workflow to the people involved. It carries resident requests and replies, registration updates, and expiry reminders.
SpacetimeDB maintains the shared state throughout the workflow. It connects saved details, registration progress, confirmation and expiry information, and parking history.
The workflow coordinates these components: understanding the portal, collecting missing information, completing the browser interaction, and returning evidence of the result.
We also designed boundaries around the agent’s actions. Registration requires consent, browser navigation is restricted to approved domains, structured outputs are validated before use, and unexpected fields are rejected. CAPTCHA challenges trigger a human handoff. Resident requests have limits to prevent repeated messaging, and the workflow waits for a response rather than inventing missing information.
Our initial scope is supported parking locations. Expanding coverage means testing additional portals and their requirements while continuing to improve the agent’s ability to interpret unfamiliar forms.
Challenges we ran into
Parking portals vary widely. Different properties use different interfaces, field names, and registration requirements. We needed a way to connect the meaning of a question to the information available, which made Nemotron’s interpretation role central to our design.
The driver doesn’t always have the required information. Traditional form automation assumes the answers are already available. Parkour needs to recognize a gap, contact the person who can fill it, and incorporate their response into the task. Photon makes that communication part of the workflow.
The task needs continuity while waiting. A resident may respond after the driver has left the registration screen. SpacetimeDB gives the workflow a persistent state so it can retain context and resume with the right information.
Reliability matters beyond filling a form. A completed form doesn’t necessarily mean a valid parking pass. We designed the workflow around controlled submission, checking the portal’s result, and returning confirmation evidence. When a blocker requires human input, the agent pauses and asks.
Accomplishments that we’re proud of
Connected the full workflow: We brought together portal navigation, missing-information detection, resident communication, registration, and confirmation in one experience.
Gave AI reasoning a practical role: Nemotron interprets the form and the resident’s response so the agent can act on information expressed in different ways.
Made communication part of task completion: Photon lets Parkour reach the person who has the answer instead of making the driver coordinate every exchange.
Connected each stage through shared state: SpacetimeDB keeps the registration’s progress and context available as the workflow moves between the app, resident, and browser.
Kept user control in the design: Consent, domain restrictions, validated outputs, messaging limits, and CAPTCHA handoffs establish boundaries around the agent’s actions.
What we learned
Building Parkour taught us that useful AI agents need to do more than generate a good response. They need to understand what a task requires, recognize missing information, interact with external systems, and establish whether the task actually succeeded.
We learned how to connect language-model reasoning with browser automation and use communication as an active part of a workflow. We also learned why persistent state matters when a task depends on another person’s reply.
Most importantly, autonomy and reliability have to develop together. An agent needs clear boundaries, validation, and points where it hands control back to a person.
What’s next for Parkour
We plan to launch a December 2026 pilot with selected student housing communities near UTA and UTD to validate demand, registration reliability, and repeat usage.
Our founders will personally onboard the first locations, understand their parking requirements, and test the registration experience. We then plan to grow across DFW university communities through resident referrals, campus organizations, and housing partnerships.
On the product side, we want to improve precise lot detection, add directions to visitor parking, and expand registration support to more public and private lots. Community suggestions can help us identify the next locations to verify and support.
We also plan to apply to NVIDIA Inception as we continue developing Parkour beyond the hackathon.
Our long-term vision is one parking companion for apartment visits, campus events, and Saturday nights out—so your plans don’t have to revolve around parking.
Parkour. You park. We handle the rest.