Updated Devtools and Full Time position

This commit is contained in:
2024-06-23 23:46:08 -04:00
parent 86c08a95e1
commit 4aed6b824d
18 changed files with 299 additions and 30 deletions

View File

@@ -1,6 +1,7 @@
{
"name": "my-app",
"version": "0.1.0",
"proxy": "http://localhost:8000",
"private": true,
"dependencies": {
"@fortawesome/fontawesome-svg-core": "^6.1.1",

View File

@@ -6,7 +6,6 @@
<link rel="icon" href="favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" />
<meta name="description" content="Web site created using create-react-app" />
<link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
<!--
manifest.json provides metadata used when your web app is installed on a

View File

@@ -4,10 +4,13 @@ import About from "./components/About";
import { getByTitle } from "@testing-library/react";
import SimpleSlider from "./components/publicationSlider";
import Experience from "./components/Experience";
import Contact from "./components/contact";
import DevToolsComponent from "./components/devtools";
function App() {
return (
<div className="App" >
<meta name="Aman Tahiliani's Portfolio"></meta>
<Header />
<hr></hr>
<About className ="About" id="About"/>
@@ -15,10 +18,19 @@ function App() {
<h2 style={{color:"salmon", fontSize:"50px"}}><b>Publications</b></h2>
<SimpleSlider/>
</div>
<div className="Experience" id="Experience">
<h2 style={{color:"salmon", fontSize:"50px", marginTop:"110px"}}><b>Experience</b></h2>
<Experience/>
</div>
<div className="DevTools" id="DevTools">
<h2 style={{color:"salmon", fontSize:"50px"}}><b>Dev Tools</b></h2>
<DevToolsComponent/>
</div>
{/* <div className="Contact" id="Contact">
<h2 style={{color:"salmon", fontSize:"50px", marginTop:"60px"}}><b>Contact Me!</b></h2>
<Contact/>
</div> */}
</div>
);

View File

@@ -4,13 +4,13 @@ import { Grid, Row, Col } from "react-bootstrap";
import "./about.css";
import AmanTahilianiPortfolio from "../media/AmanTahilianiPortfolio.png";
import { Button } from "bootstrap";
import resume from "../media/AmanTahilianiJan23Resume.pdf"
import resume from "../media/Aman_Tahiliani_Resume_June24.pdf";
// const img = '../media/AmanTahilianiPortfolio.png'
import { library } from '@fortawesome/fontawesome-svg-core'
import { faFileDownload } from '@fortawesome/free-solid-svg-icons'
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
import { library } from "@fortawesome/fontawesome-svg-core";
import { faFileDownload } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
library.add(faFileDownload)
library.add(faFileDownload);
class About extends Component {
render() {
@@ -30,20 +30,43 @@ class About extends Component {
<Row className="Info">
<ul>
<li>
Currently pursuing a Master's degree from Georgia Institute of Technology majoring in Computer Science with a specialization in Computing Systems. (#GoJackets) {" "}
Currently working at <a href="https://rimidi.com/">Rimidi</a>,
a Software as a Service (SaaS) startup, full-time as a Software
Engineer with a special emphasis on data interoperabiltiy and
building a robust set of tools to enable secure flow of
sensitive patient health information across health systems.
</li>
<li>
Graduated from Georgia Tech in 2024 with a Master's Of Science
degree in Computer Science (MSCS), with emphasis on Computing
Systems and Machine Learning. (#GoJackets{" \uD83D\uDC1D"})
</li>{" "}
<li>
Worked as an SDE Intern(Backend) at{" "}
<a href="https://innovaccer.com/">Innovaccer</a> as part of
the DAP(Data Activation Platform) alongside my undergraduate BTech. in Computer Science program at Jaypee Institute of Information Technology.{" "}
</li>{" "}
<li>
I enjoy designing and creating the backend logic for projects
and am also proficient in frontend development.{" "}
Interned as an SDE (Backend) at{" "}
<a href="https://innovaccer.com/">Innovaccer</a> twice as part
of the Data Activation Platform and Licence
Management/Platform Configuration Teams.{" "}
</li>{" "}
</ul>{" "}
</Row>{" "}
<button style={{borderRadius:"0.8em", width:"auto",height:"40px", fontSize:"larger", backgroundColor:"rgb(5, 255, 180)"}}><FontAwesomeIcon icon="file-download"/> <a href={resume} style= {{color: "black", textDecoration:"none"}} download="AmanTahilianiJan23Resume.pdf">Resume</a></button>
<button
style={{
borderRadius: "0.8em",
width: "auto",
height: "40px",
fontSize: "larger",
backgroundColor: "rgb(5, 255, 180)",
}}
>
<FontAwesomeIcon icon="file-download" />{" "}
<a
href={resume}
style={{ color: "black", textDecoration: "none" }}
download="Aman_Tahiliani_Resume.pdf"
>
Resume
</a>
</button>
</Col>{" "}
</Row>{" "}
</div>

View File

@@ -0,0 +1,44 @@
input ,textarea {
background-color: black;
width: 35%;
height: 40px;
margin-top: 25px;
margin-bottom: 5px;
color: white;
/* padding-top: 5.5%;
padding-bottom: 4%; */
padding: auto;
padding-left: 15px;
border: none;
border-bottom: 2px solid aquamarine;
font-size: larger;
}
input[type=text]:focus {
border: none;
border-bottom: 3px solid salmon;
outline: none;
}
.MessageBox{
height: auto;
display: inline-block;
/* text-overflow: ellipsis; */
}
.MessageBox[type=textarea]:focus {
border: 3px solid salmon;
outline: none;
}
button{
margin-top: 20px;
margin-bottom: 30px;
border: 2px solid rgb(122, 224, 143);
color:darkblue;
border-radius: 0.8em ;
width: auto;
height: 40px;
font-size: larger;
font-weight:600;
background-color: rgb(5, 255, 180);
}

74
src/components/contact.js Normal file
View File

@@ -0,0 +1,74 @@
import React, { Component, useState } from "react";
import "bootstrap/dist/css/bootstrap.css";
// import { Row, Col, TabContainer } from "react-bootstrap";
import "./contact.css";
function Contact () {
const [name, setName] = useState("");
const [organization, setOrganization] = useState("");
const [message, setMessage] = useState("");
const [popup, setPopup] = useState("");
let handleSubmit = async (e) => {
e.preventDefault();
try {
let res = await fetch("http://localhost:8000/sendMail", {
method: "POST",
body: JSON.stringify({
name: name,
organization: organization,
message: message,
}),
});
// let resJson = await res.json();
console.log(res.status)
if (res.status === 200) {
setName("");
setOrganization("");
setMessage("");
setPopup("Message sent successfully");
} else {
setPopup("Some error occured");
}
} catch (err) {
console.log(err);
}
};
return (
<div>
<form onSubmit={handleSubmit}>
<input
type="text"
value={name}
placeholder="Name"
onChange={(e) => setName(e.target.value)}
required = "true"
/>
<br/>
<input
type="text"
value={organization}
placeholder="Organization"
onChange={(e) => setOrganization(e.target.value)}
/>
<br/>
<textarea
className="MessageBox"
type="textarea"
value={message}
placeholder="Message"
onChange={(e) => setMessage(e.target.value)}
required = "true"
/>
<br/>
<button type="submit">Send!</button>
<div className="popup">{popup ? <p>{popup}</p> : null}</div>
</form>
</div>
);
}
export default Contact;

View File

@@ -0,0 +1,55 @@
.dev-tools-container {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
}
.dev-tool {
display: flex;
flex-direction: column;
align-items: center;
margin-bottom: 20px;
margin-top: 20px;
animation: toolAnimation 0.5s ease-in-out;
width: 200px;
max-width: 100%;
text-align: center;
}
.dev-tool-logo {
width: 100px;
height: 100px;
border-radius: 50%;
object-fit: cover;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
transition: transform 0.3s ease-in-out;
}
.dev-tool-logo:hover {
transform: scale(1.1);
}
@keyframes toolAnimation {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@media screen and (max-width: 768px) {
.dev-tool {
width: 150px;
}
}
@media screen and (max-width: 480px) {
.dev-tool {
width: 120px;
}
}

View File

@@ -0,0 +1,37 @@
import React, { Component } from "react";
import PythonLogo from "../media/python-logo.png"
import JavaLogo from "../media/java-logo.png"
import CplusLogo from "../media/c++.png"
import JavaScriptLogo from "../media/JavaScript.webp"
import './devtools.css'
import Languages from "./programmingLaguages.json"
const logos = {
"Python":PythonLogo,
"Java":JavaLogo,
"C++":CplusLogo,
"JavaScript": JavaScriptLogo
}
class DevToolsComponent extends Component {
render(){
return (
<div>
{/* <h2>Programming Languages</h2> */}
<div className="dev-tools-container">
{Languages.map(({name}) => (
<div className="dev-tool">
<img src={logos[name]} alt={name} className="dev-tool-logo" />
<h3>{name}</h3>
</div>
))}
</div>
</div>
);
}
};
export default DevToolsComponent;

View File

@@ -1,16 +1,16 @@
[ {
"company": "Rimidi",
"title": "Software Engineering Intern",
"title": "Software Engineer",
"points":[
"Developing Rimidify, Rimidi's first micro-service, enabling standardized outputs for FHIR resources from any EHR source or FHIR version. By decoupling resource standardization logic from the core instance, improved flexibility and maintainability were achieved.",
"Refactoring the business logic for FHIR standardization, adopting a modular and reusable approach. Reducing redundant code improved scalability and maintainability, making it easier to update and support new FHIR versions and onboard new EHR systems.",
"Implementing efficient logic for handling FHIR version additions (DSTU2, STU3 and R4) and EHR integrations (Epic, Cerner, Athena etc.), streamlining the process of onboarding new EHR systems and supporting new FHIR releases. This optimization saved considerable time for the development and QA teams, enhancing productivity and reducing time-to-market for new integrations."
"Building Interoperable Health data parsers in order to be able to ingest health information from any US Electronic Health Record systems and write information back to them.",
"Focused on upgrades to the existing Rimidi Infrastructure to aid with efforts towards containerization and integration of cloud-first architecture.",
"Owner of the Rimidify (Data interpretation) and EhrMes (Data Writeback) micro-services and domain expert on FHIR and HL7 specs."
],
"term": "May 2023 - Present"
"term": "June 2024 - Present"
},
{
"company": "Georgia Tech",
"title": "Graduate Teaching Assistant",
"title": "Graduate Teaching Assistant (CS 6440)",
"points": [
"Working under the guidance of Dr. Jon Duke as a teaching assistant for his course CS-6440 Introduction to Health Informatics in Spring 2023 to mentor students about Healthcare IT, including technologies such as HL7 FHIR. Interoperability, Clinical Decision Support (CDS) and the use of LLMs in healthcare.",
"Helped students gain hands on experience with new healthcare technologies such as Hapi FHIR (R4), Mirth Connect, creation of SMART on FHIR applications and more using Python, Java, Docker and Heroku. ",
@@ -18,6 +18,16 @@
],
"term": "Jan 2023 - Present"
},
{
"company": "Rimidi",
"title": "Software Engineering Intern",
"points": [
"Spearheaded the creation of a universal data-standardization microservice capable of processing patient health information, including smart-device and lab data from 7 EHRs (including Epic and Cerner) regardless of FHIR API variations (DSTU, STU3, and R4), facilitating a 30% improvement in patient data refresh times compared to the monolith.",
"Slashed 3+ hours of integration effort per week through enabling push-pull based tenant mapping sync functionality.",
"Championed code cleanliness and maintainability, achieving robust 94% test coverage and logging, guaranteeing efficiency and scalability for future growth"
],
"term": "May 2023 - Dec 2023"
},
{
"company": "Innovaccer",
"title": "Software Development Engineer Intern (Data Platform)",

View File

@@ -0,0 +1,14 @@
[
{
"name": "Python"
},
{
"name": "Java"
},
{
"name": "C++"
},
{
"name": "JavaScript"
}
]

Binary file not shown.

Binary file not shown.

BIN
src/media/JavaScript.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

BIN
src/media/c++.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
src/media/java-logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

BIN
src/media/python-logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 KiB