Skip to content
View khoivan88's full-sized avatar
Block or Report

Block or report khoivan88

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
khoivan88/README.md

Hi there 👋

I am an organic chemist who writes apps and creates websites!!

A few of the websites that I created:

  • https://kristufeklab.com/: an academic chemistry research group website. Tech stack: static site generator (11ty), snowpack, Tailwindcss, AlpineJS.
  • https://organicchemistrydata.org/: a supplemental website launched by the Division of Organic Chemistry (DOC) in Sept 2020 for a collection of organic chemistry data. Tech stack: static site generator (11ty), snowpack, bootstrap4, vanilla javascript, jQuery.
  • https://organicchemistrydata.org/hansreich/: an archive of the late Professor Hans Reich’s (University of Wisconsin - Madison) web collection, transferred and currently being maintained by the DOC. While I did not create the content (~ 700 HTML pages) of this collection, the original materials were converted to a mobile-friendly format to work well for users from desktops, laptop, tablets and cell phones. Tech stack: static site generator (11ty), snowpack, bootstrap4, vanilla javascript, jQuery.
  • https://eluenttranslator.netlify.app: a web utility to estimate a solvent mixture composition that would give similar eluent strength for chromatography. Tech stack: static site generator (11ty), snowpack, Tailwindcss, AlpineJS.
  • https://acs-s21-orgn.netlify.app/dates/: a website to display a schedule of presentations in the ORGN track that were listed by date (for better viewing compared to the original ACS Spring 2021 scheduler). The content of the website was automatically extracted and updated 4 times/ day from the ACS Spring 2021 website. Tech stack: python, scrapy, github action, static site generator (11ty), snowpack, Tailwindcss, AlpineJS.
  • https://cs50w-pro1.herokuapp.com/: a website contains a database of 5000 books with links to GoodReads and OpenLibrary.org databases. Users will be able to register for website and then log in using their username and password. Once they log in, they will be able to search for books, leave reviews for individual books, and see the reviews made by other people. A third-party API by Goodreads, another book review website, is also used to pull in ratings from a broader audience. Tech stack: python, flask, SQL, HTML, CSS, vanilla javascript.
  • https://doyouknowwhenyouwillgraduate.netlify.app/: a fun little website for any graduate student dealing with people keep asking them when they will graduate. Tech stack: static site generator (11ty), snowpack, Tailwindcss, AlpineJS.
  • https://open-enventory.gitbook.io/user-guides/: create the User Guides content of Open Enventory

A few of softwares/apps that I created:

Automation workflows:

  1. Chemical inventory workflow automation:

    Tasks include:

    • Logging in and extracting (download, csv format) inventory data for the current date in one software
    • Sanitizing data and Processing data for importing to another software: removing unwanted data, changing the date format, changing CSV format to tab-separated text, extracting some critical info (chemical structures) into their own files.
    • Logging into another inventory software and importing the newly processed data
    • Keeping logs for the whole process
    • Cleaning up log files, data files using dynamic info of available disk size, how old the data, log files are.
    • Error reporting using email if there is any issue during the whole process

    Challenging:

    • Web automation requires headless selenium on a remote virtual private server (VPS): much more challenging to set up on a rented virtual private server.
    • Web automation set up on a VPS with limited CPU and RAM
    • Cronjob setting up for non-root user (because of selenium) while also performing tasks requiring admin permission.

    Tech stack:

    • Python
    • Selenium (headless, running on xvfb for remote headless virtual private server)
    • Requests
    • Pandas

    Solution Program Overview with UML Diagram

My skills and experience include

  • Python, PHP
  • Static site generator with 11ty
  • HTML and (S)CSS
  • Responsive Web Design
  • Accessibility and Progressive Enhancement
  • Vanilla JavaScript
  • Git, and Continuous Integration
  • Docker

How to reach me

📧: knv88@pm.me

How to support me?

If you enjoy using my softwares/apps/websites and can afford it, you can buy me a coffee 🙏 !

Pinned

  1. eluent-translator eluent-translator Public

    Solvent Eluent Strength Translator

    HTML 1

  2. open_enventory-modified_for_US open_enventory-modified_for_US Public

    Open Enventory, free open-source Chemical Inventory and ELN

    PHP 10 2

  3. pka_lookup pka_lookup Public

    Python script to lookup pKa values

    Python 19 6

  4. find_sds find_sds Public

    Find safety data sheet (SDS) for chemicals using their CAS numbers

    Python 34 10

  5. qr-generator-3dview qr-generator-3dview Public

    Demo page for generation of QR code for uploaded 3D molecules and its viewer page

    PHP 1

  6. oe_find_structure oe_find_structure Public

    for Open Enventory using python to automatically update sql queries in 'molecule' table with mol files

    Python 2