What it does

GeoGuard is a simple and interactive dashboard that is mainly designed for PMs (product managers) as well as legal teams. It allows user to input their feature's documentation (Title, Description, PRD, TRD), and the application itself will use Google Gemini model to perform compliance analysis on the inputted feature. The LLM itself is augmented with curated knowledge base of legal regulations, it will determine whether it require geo-specific logic (Having a clear flag [YES, NO, UNSURE]) provide concise and clear reasoning towards its conclussion, it also refers to the relevant law for its credibility. It is possible for the user to upload the features in batch in the format of a .csv file, this helps users to efficiently upload features into the app. Each scan of the feature done will be saved as an immutable, versioned snapshot, which enables Audit-Ready Transparency, therefore, every change done by the user in the feature and each scan is recorded. The app also implements CRUD on the list of features that are inputted by the user. As user scan the feature that they inputted, it is also possible for them to modify the legal rules and the terminology that Google Gemini is referring to or considering (for context) when doing compliance analysis.

How we built it

GeoGuard is built using a modular Python stack, so that it is easy to set up and run locally. We used Visual Studio Code for development and Git/Github for version control. The app is also containerized with Docker for simple deployment. The core of feature analysis engine is the Google Gemini API model (gemini-2.0-flash model). The main Python libraries that were used are streamlit (for interactive UI), google-generativeai (API connection), scikit-learn (Evaluation script of the AI model), python-dotenv (Secure key management), supabase (Database). Our main asset is our custom-built legal knowledge base hosted using supabase, which is the foundation of our "Simplified RAG" approach.

What we learned

In this project we learned a lot in the field of building AI for a specialized field (in this case legal tech) this includes technical and non-technical skills. As we divide the works across each team member, each of us gets to contribute to different parts that outputs different functionality, which then will be merged into one and turned into GeoGuard. We learned how to properly use Git to version control and collaborate, this helps to prepare us for the future in an actual project working environment. As some functionalities are dependent upon each other's file (parts), sometimes we also need to communicate to each other for functions to be properly working, This teaches us the value of communication and how to do them.

While for the skills that are more technical, we learned how to create and curate knowledge base for an LLM, as we now understand its impact on getting accurate, grounded results. We also learned more on prompt engineering, this relates to how we leverage Google Gemini to do compliance analysis on the feature, we learned prompt structure, its keywords, and other prompting techniques to output the best result. We learned how to create an interactive and easily understandable UI/UX using streamlit library as well as CSS. We also learned how to manage the data (features) that are inputted by the user, using supabase to make sure that all of the features as well as all the snapshots are kept logged and accessible to the user. Aside from learning how to leverage Google Gemini and using a simple RAG approach, we learned on how to evaluate the compliance analysis done by GeoGuard. The evaluation allows us to fine tune our AI and test edge cases that might mess up with the analysis from the model.

What's next for GeoGuard

A possible extension for GeoGuard is to do real-time regulatory monitoring, so we integrate a component that continously scans regulatory update from different official government websites as well as credible legal news sources. This way when there are relevant law changes, the system can automatically re-scan affected features, alerting the user. This turns from manual process into a proactive system. It is also possible to link it to platforms like JIra or Asana, when a new feature is created, GeoGuard then can automatically generate compliance risk ticket, assign it to the legal team, and finally track its status alongside the engineering work.

+ 123 more
Share this project:

Updates