Development Diary
The initial thought was quite utilitarian: make something small, clear, and immediately useful in bioinformatics. A set of simple tools that can actually be used — GC calculator, reverse complement, ORF finder, DNA to protein translation, protein mass calculation, etc. Such tools already exist, but often they were made ten years ago, look heavy and are sometimes inconvenient. Wanted to make something light, fast, and clean that just works in the browser.
There was a feeling that you can gather an audience of biologists and students if you give them free and convenient tools. This is an "entry point": and if the site helps, then a pool of users who are already used to the style can form.
Read moreCurrent implementation at: https://proteinanalysis.pages.dev
Initial task - create a simple single-page sequence analyzer.
Created index.html with basic functionality:
index.html with basic functionalityRealization that for SEO we need separate pages for different keywords.
Split functionality into 6 specialized pages:
/index.html - main page (general analyzer)/dna-gc-calculator.html - GC calculator/reverse-complement.html - reverse complementary sequence/orf-finder.html - ORF finder/protein-mw-calculator.html - protein molecular weight/sequence-translation.html - DNA translation
Code was duplicated between pages (functions for GC%, reverse complement, translation, etc.)
Created common.js with common functions:
cleanSequence() - sequence cleaningcomputeGC() - GC% calculationreverseComplement() - reverse complementary sequencetranslateDNA() - DNA translationfindORF() - ORF findingcomputeMW() - molecular weightcommon.js even if using one functioncommon.js with unnecessary codecommon.js with common functionsEach page could have its own style, no navigation between pages.
styles.css for all pagesgetNavigation() function to common.jsstyles.css for all pagesgetNavigation() function to common.js
Pages were functional but not optimized for search engines.
For each page added:
<title> with keywords<h1> with main keyword<title> and <h1> for each pageUsers had to manually enter sequences to understand how the tool works.
Added "Load Example" button on each page with preset examples:
ATGCGTACCTGACTGGAAGGCTTACGATGCTTGAAGACCTGAMKTFFVAGLVLAGALAAPALAGCGGATCCGTCGATGCGGCCGTTAGCGCGATCATGGCCGCAATGACCGTAAGCTTGGATCCGATTAAGCATGAAACGTTTGACCTGAAGGTTCTACTGGAATAGMQDRVKRPMNAFIVWSRDQRRKMALENATGGCTTCTGACCTGAAGGACATCGTGAACTGG





Site had 6 pages, but to increase organic traffic needed to add more specialized tools. Navigation with 11 buttons was overloaded.
common.js with dropdown menusitemap.xml (now 11 pages)