Enable Medicine logo

Enable Medicine

Software Engineer Intern • Full-Stack Developer

January 2023 - August 2023 • San Francisco, CA

ReactTypeScriptGraphQLPostgreSQLLangChainVector Databases

Overview

Worked on the company's web application that allows spatial biology researches to analyze their tissue samples. Worked full stack on the web app, building out the UI and the backend for a semantic search and an LLM powered chatbot.

💉 Spatial Biology🤖 LLM Integration💻 Web Development

Highlights

🔍 Semantic Search Engine

Built the new frontend for the search page, and helped with building the Amazon lambda function that updates the vector embeddings daily.

Features: Implemented vector embeddings and similarity search using these embeddings to find relevant results based on the meaning of the query, rather than the exact terms.

Technologies: React, GraphQL, Amazon Lambdas, Pinecone

🤖 Chatbot and Summary Bot

Developed a chatbot and added tool calling capabilities, like allowing users to ask about how to navigate the site and directly add biological samples. Added the SQL reads and writes to maintain chat history and store messages. Also created a summary bot to summarize slack threads.

Features: Experiment creation, data upload, guidance for how to use the site, slack thread summarization.

Technologies: LangChain, OpenAI, PostgreSQL

🌐 Atlas Library

Primary engineer driving the development of the Atlas Library, building the frontend for the new data visualization, connecting the existing semantic search, and adding the python backend to retrieve the data from our SQL database. Lead the bug bash and addressed bugs to push feature to production.

Features: Search interface, data visualization, data sorting

Technologies: React, TypeScript, GraphQL, SQLAlchemy, PostgreSQL

Demo

Semantic search interface

Atlas Library, a new data visualization tool

LLM tools interface

Chatbot in action

Reflections

This was my first internship at a startup, and I got very hands on experience with end-to-end web development. I learned a lot about how a business operates, its strategies for growth, and how my role as an engineer fits into it. Due to the fast paced nature and leaner team structure of a startup, I was able to also work full time with LLMs for our use cases for a month with 3 other senior engineers, which not only taught me a lot of technical skills, but also was personally very intriguing to explore the capabilities and shortcomings of LLMs.