Awards & Nominations
One Giant Leap - Lunar C&C has received the following awards and nominations. Way to go!

One Giant Leap - Lunar C&C has received the following awards and nominations. Way to go!
One Giant Leap is a command and control application that allows hundreds of flight controllers to create, edit, and commit mission log entries that are updated on every flight controller’s console real-time. Using a technique called event-sourcing, a mission’s entire log history is stored both as a final “view”, as well as a series of events as they happened over time. This event history allows you to re-create the state of the mission log at any point in time--functionality that can provide critical insight during a mission debriefing or future audit of the actions taken during the mission.
Mission Log Entry
The current version of One Giant Leap provides hundreds of signed-in flight controllers with the ability to create and edit mission log entries using text, audio, and images (video is planned for the future). These entries are tagged with a timestamp and appear to all flight controllers viewing the mission log in real-time.
Editing Log Entries
Flight controllers can go back and edit their own log entries, but they cannot edit entries from other flight controllers. The application keeps an edit history for each log entry so that previous versions can be referred to when needed.
Multiple Logs
The flight controller has access, by default, to two logs: their own, and the entire mission. These logs can be sorted or filtered by any available field allowing the flight controller to change the logs they’re viewing. A planned but not yet complete feature allows the flight controller to define additional logs based on those filters for quick access.
Automated Audio Transcription
Audio entries are automatically transcribed and entered both as text entries, as well as audio attachments so flight controllers can refer to the source audio. Video transcriptions are planned once the application supports video. This feature not only provides a critical form of accessibility for flight controllers, but also allows radio communications to be directly linked to the mission log with transcriptions and original source audio clips appearing to all flight controllers in real-time.
Audit Trail
Every action taken by the flight controller that updates the mission log is recorded. This provides a complete audit trail allowing mission log owners to understand what the state of the mission log was at any given point in time. Since critical decisions can be made based on the information available to flight controllers, this auditability allows you to understand exactly what information was available to the flight controller at the time they made that decision whether during the mission, or when debriefing.
Custom Log Entry Types
This feature was planned and implemented as a mock-up only.
Custom Log Entry types allow flight controllers to define custom templates specific to the types of their information their role requires. These custom templates consist of type-validated form-fields the flight controller can use when creating new log entries to ensure they log all information required for an event, and ensure the data input is validated.
Event Sourcing
The “Event Sourcing” architecture pattern is used to enable a completely auditable and reliable mission log. This is the backbone to the service on top of which all other features have been built. The event sourcing process works as follows:
Current Implementation
On-Premise Implementation
Nothing about the fundamental architecture would need to change to convert this to an on-premise solution. A few of the technologies would need to be swapped for other open-source technologies; however, the code has been designed using interfaces to minimize the impact to the code when swapping out services. Here is a list of the technologies you’d need to swap:
Technologies Used
Suggested alterations for on-premise configuration
I could talk about all the features we wanted to implement like video stream and transcription, custom log entry schemas, etc.; however, honestly, what we really hope is that this project and its architecture inspires the developers of the systems that will actually be used on the Artemis missions. If even one ounce of this project is used as the foundation to a system used by NASA it would be a dream come true.
testuser1@lunarcommand.onmicrosoft.com - password: welcome to lunar command1!
testuser2@lunarcommand.onmicrosoft.com - password: welcome to lunar command1!
To develop this system we heavily relied on the data provided in the resources section of this project. These resources: the Apollo 13 hand-written logs, the Apollo flight journals, the NEEMO 12 Mission Journal, and the Apollo 11 logs, photos, and transcriptions were all used to lay the foundation for how a mission log system should operate. We also reviewed NASA’s Artemis Plan and associated videos and other materials as an inspiration for what the (near!) future of space travel holds, and what modern missions require to ensure they are carried out successfully.
Like all hackathons, the journey began way before the October 2nd, 2021 start date. I came across a Facebook post made by the Canadian Space Agency that said “Space Apps Challenge”. I am pretty sure these are all of my favorite words combined into one thing. I was sold already.
Once the challenges were announced I reviewed them all, but immediately was drawn to the Lunar Surface Operations: Real-Time Collaboration challenge for a few reasons. The first was that it was right in my wheelhouse, but required just enough new technology to push my abilities and learn something new. The second reason was that I grew up dreaming of walking on the moon, and then later, more practically, I started dreaming of building applications that would assist in space missions. Third, I felt like this project is something that I could see in-action someday.
With the project selected, and a few weeks still out, I began planning fundamental architecture and technology choices, and practicing how to integrate them together. I didn’t want to go into the hackathon with zero plan, and with no understanding of the tech I would use. In my search for the ideal architecture I came upon an article about event sourcing. It’s a pattern I had used in the past on large scale systems, and, when reminded of it, it immediately clicked as an ideal foundation for the project.
One week to go--I have no team. I considered ever-so-briefly “flying solo”--but that’s never the path to success. You need a diverse set of voices on any program, project, or mission. The chat is open, so I start looking for team members.
The team I found ended up being amazing. The work throughout the weekend has been so seamless. The best ideas did not come from me. The best work on the flight controller experience did not come from me. Ultimately, it was as true a team effort as any project I’ve worked on. Everyone did amazing work, and I feel blessed that I found each and every one of them.
I’m writing this in the final hours, so you won’t get to hear the end of this story. To know the end, you’ll have to review our project--I really appreciate the time you’re taking to do just that.
#Moon, #Artemis, #Apollo, #AdLunam, #CommandAndControl, #App, #Cloud, #Azure
This project has been submitted for consideration during the Judging process.
As astronauts collect data on the Moon, NASA and the worldwide scientific community will be documenting and reviewing the information in real time. Your challenge is to create an application to allow NASA flight controllers and the broader scientific community to collaborate and compare notes on lunar mission data as it is collected.
