Inspiration

Originally I had been showing off some of my technical projects to a pharmacist buddy of mine, and randomly the topic of my AncestryDNA came up. He pitched me the idea, and I loved it, but I never had the opportunity to build a demo. Personalized medicine is the future of healthcare. With treatments becoming more advanced with the advent of unheard-of compute, and even quantum compute, we wanted to pioneer this emerging field to empower individuals by providing clear, actionable insights into how their unique genetic makeup influences their health, medication responses, and disease risks. By combining cutting-edge genetic analysis with intuitive 3D visualizations, I aimed to make complex genetic information accessible and understandable for everyone.

What it does

Genarrex is an interactive genetic analysis platform that integrates personalized genetic data with AI-driven insights. It allows users to:

  • View all of their genetic variants, even if it's in the 10s of thousands.
  • See insights in how their body responds to drugs, how they metabolize, what their deficiencies are.
  • Explore how their genetic profile affects medication responses, side effects, and effectiveness through a comprehensive medication simulator.
  • Engage on 1-on-1 video calls with their assigned pharmacist, to have true human contact with and a guarantee of board certification.
  • Engage with an AI Genetic Assistant to ask personalized questions about their genetic data, medication interactions, and health risks.
  • Have a simple, fast, and modern UI that is easy to navigate.
  • Search and simulate medication interactions dynamically, leveraging genetic markers (SNPs) and related genes to provide tailored recommendations.
  • See statistical data based on their genetic information.
  • Generate health reports to summarize their data in a PDF format, for safekeeping or for delivering to their primary health care physician (or otherwise healthcare professional).
  • Visualize different body systems (lungs, brain, digestive system, cardiovascular system, and genetic markers) through interactive 3D models powered by BioDigital Human.

How I built it

I built Genarrex using a modern technology stack designed for scalability, performance, and user experience:

  • Frontend: Next.js (React framework) with TypeScript for robust type safety and maintainability.
  • 3D Visualization: Integrated BioDigital Human API and viewer embeds to provide interactive, anatomically accurate 3D models.
  • State Management: Zustand for efficient global state management of genetic data and analysis results.
  • UI Components: Tailwind CSS and custom UI components for a clean, responsive, and intuitive user interface. + shad/cn
  • AI Integration: AI Genetic Assistant responses based on real genetic data, used OpenAi integration.
  • Data Handling: Structured genetic data (SNPs, genotypes, genes) and medication databases to dynamically generate personalized insights and recommendations.
  • AWS: AWS S3 bucket for the time being, but plan to use fully scalable database that is HIPAA compliant for PHI (Protected health information)

Challenges I ran into

I was ready to rip my hair out many times.

  • BioDigital Human Integration: 403 errors, hydration issues. Essentially all API riffraff that I had to iron out. I wasn't able to fully implement color coding with dynamic items to visualize the systems something might affect due to time constraints.
  • Performance and State Management: Managing complex genetic data efficiently and ensuring smooth UI interactions required optimization using React hooks (useMemo, useEffect) and Zustand for state management. It also kept breaking whenever I would make some big changes and I had to debug that often.
  • Development Environment Issues: Encountered file permission errors (EPERM) and port conflicts during local development, and eventually when deploying I had the Herculean task to get it past it being able to just build out. Lots of --force
  • VIDEO/CALL INTEGRATION: this was the final piece of the puzzle and I didn't have enough time to get it working. I may be eating my words when final judging comes around, but as of time when I must record it is not yet functional.

Accomplishments that I'm proud of

Really happy about these:

  • Seamless 3D Visualization: Successfully integrated interactive 3D models (YAY)
  • Personalized Medication Simulator: Developed a robust medication search and simulation feature that dynamically integrates genetic data, allowing users to explore personalized medication interactions comprehensively. It also connects to the next feature which is:
  • AI Genetic Assistant: Full Ai bot that uses all the data context to give answers purely off of your genetic data
  • User-Centric Design: Chefs kiss on the UI, its not to where I want it yet but its getting there quickly.
  • THE ENTIRE API INTEGRATION THAT RUNS THIS!!: It took me the first 4 to 5 hours just to get started with the base that I needed to work with, and I thought it was hopeless at first. I am so happy I got it working the way it does now, and I'm excited to build on it more to make it the most robust on the market, and most informative.

What I learned

  • Genetic Data Handling: As someone with a BS in Neuroscience you'd think this would be easy, but building a product around it took some time to figure out all the integrations and the meaning of many things. Very happy with what I learned.
  • APIs will always be as difficult as I think they are: despite getting things working pretty smoothly, I'd say at least 20% of the time was spent working hard on all the integrations and making sure they played well with each other.
  • Building MVPs can be FAST, especially alone: after all the ideas are ready, and you just want to build something... You can be crazy fast in this day and age, with all the tools available, I was able to spend hours making mistakes and STILL having something to show.

What's next for Genarrex

Looking forward, I really want to work more on this and have better integrations:

  • Modern CORAG system: forget normal RAG, I want to query directly from a database in a modern way to help the chatbot integration be even more efficient. It uses factual information as is, but it does so in an archaic and quick way, which eats up context tokens faster than I'd like. Having it talk directly to the database would be perfect.
  • Expanded Genetic Database: Incorporate a broader range of genetic markers, medications, and health conditions to provide comprehensive coverage and insights.
  • User Account and Data Management: Implement secure user accounts, allowing users to securely store, manage, and revisit their genetic data and analysis results. I wasn't able to add authentication and access layers such as (admin, pharmacist, patient, etc.)
  • Mobile Application: Develop a mobile version of Genarrex to provide users with convenient, on-the-go access to their personalized genetic insights. Most users would probably find this to be a more efficient way of using it.
  • Collaboration with Healthcare Providers: Explore partnerships with healthcare providers to integrate Genarrex into clinical workflows, enhancing patient care through personalized genetic insights.
  • Onboard Pharmacists to work full-time: I will need pharmacists to take care of a growing userbase that uses premium tiers.
  • Complete Integrations, fix bugs, and clean website up: As it is now, on the surface its clean but there are many dirty workarounds or wonky UI. I want to complete it all and hopefully have it ready for users entirely.

Built With

Share this project:

Updates