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://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://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:
- https://github.com/khoivan88/find_sds: Find safety data sheet (SDS) for chemicals using their CAS numbers. Tech stack: python, requests, BeautifulSoup.
- https://github.com/khoivan88/pka_lookup: Python script to lookup pKa values, current database of at least 7300 values. Tech stack: python, PubChemPy, requests, pandas, tinyDB
- https://github.com/khoivan88/chemjobber-faculty-jobs-list-automation: Extract chemistry faculty job postings every hour from for different job posting boards, save to csv file and display to google sheet. The script is automatically run with github action every hour to extract job listing and the details of each of the listing. Tech stack: python, scrapy, google sheet API.
Chemical inventory workflow automation:
- 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
- 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.
- Selenium (headless, running on xvfb for remote headless virtual private server)
My skills and experience include
- Python, PHP
- Static site generator with 11ty
- HTML and (S)CSS
- Responsive Web Design
- Accessibility and Progressive Enhancement
- Git, and Continuous Integration
How to reach me
How to support me?
If you enjoy using my softwares/apps/websites and can afford it, you can buy me a coffee