Software Development

Advancing collection-based evolutionary biology through seamless data integration and accessible genomic software, from the field to the museum to publication.

Code activity

Updated daily from GitHub · Oct 17, 2026

Past 12 months

3,721 contributions

Nov Dec Jan Feb Mar Apr May Jun Jul Aug Sep Oct Mon Wed Fri 5 contributions · Sun, Oct 12, 2025 9 contributions · Mon, Oct 13, 2025 5 contributions · Tue, Oct 14, 2025 26 contributions · Wed, Oct 15, 2025 26 contributions · Thu, Oct 16, 2025 6 contributions · Fri, Oct 17, 2025 2 contributions · Sat, Oct 18, 2025 18 contributions · Sun, Oct 19, 2025 11 contributions · Mon, Oct 20, 2025 12 contributions · Tue, Oct 21, 2025 20 contributions · Wed, Oct 22, 2025 22 contributions · Thu, Oct 23, 2025 26 contributions · Fri, Oct 24, 2025 33 contributions · Sat, Oct 25, 2025 9 contributions · Sun, Oct 26, 2025 0 contributions · Mon, Oct 27, 2025 4 contributions · Tue, Oct 28, 2025 0 contributions · Wed, Oct 29, 2025 4 contributions · Thu, Oct 30, 2025 0 contributions · Fri, Oct 31, 2025 0 contributions · Sat, Nov 1, 2025 0 contributions · Sun, Nov 2, 2025 6 contributions · Mon, Nov 3, 2025 10 contributions · Tue, Nov 4, 2025 10 contributions · Wed, Nov 5, 2025 18 contributions · Thu, Nov 6, 2025 11 contributions · Fri, Nov 7, 2025 0 contributions · Sat, Nov 8, 2025 0 contributions · Sun, Nov 9, 2025 7 contributions · Mon, Nov 10, 2025 1 contributions · Tue, Nov 11, 2025 5 contributions · Wed, Nov 12, 2025 4 contributions · Thu, Nov 13, 2025 1 contributions · Fri, Nov 14, 2025 0 contributions · Sat, Nov 15, 2025 0 contributions · Sun, Nov 16, 2025 17 contributions · Mon, Nov 17, 2025 34 contributions · Tue, Nov 18, 2025 42 contributions · Wed, Nov 19, 2025 19 contributions · Thu, Nov 20, 2025 42 contributions · Fri, Nov 21, 2025 0 contributions · Sat, Nov 22, 2025 0 contributions · Sun, Nov 23, 2025 5 contributions · Mon, Nov 24, 2025 2 contributions · Tue, Nov 25, 2025 0 contributions · Wed, Nov 26, 2025 0 contributions · Thu, Nov 27, 2025 0 contributions · Fri, Nov 28, 2025 0 contributions · Sat, Nov 29, 2025 0 contributions · Sun, Nov 30, 2025 0 contributions · Mon, Dec 1, 2025 6 contributions · Tue, Dec 2, 2025 12 contributions · Wed, Dec 3, 2025 10 contributions · Thu, Dec 4, 2025 23 contributions · Fri, Dec 5, 2025 4 contributions · Sat, Dec 6, 2025 31 contributions · Sun, Dec 7, 2025 14 contributions · Mon, Dec 8, 2025 9 contributions · Tue, Dec 9, 2025 3 contributions · Wed, Dec 10, 2025 13 contributions · Thu, Dec 11, 2025 19 contributions · Fri, Dec 12, 2025 0 contributions · Sat, Dec 13, 2025 0 contributions · Sun, Dec 14, 2025 31 contributions · Mon, Dec 15, 2025 8 contributions · Tue, Dec 16, 2025 3 contributions · Wed, Dec 17, 2025 7 contributions · Thu, Dec 18, 2025 10 contributions · Fri, Dec 19, 2025 2 contributions · Sat, Dec 20, 2025 0 contributions · Sun, Dec 21, 2025 10 contributions · Mon, Dec 22, 2025 0 contributions · Tue, Dec 23, 2025 16 contributions · Wed, Dec 24, 2025 2 contributions · Thu, Dec 25, 2025 1 contributions · Fri, Dec 26, 2025 1 contributions · Sat, Dec 27, 2025 1 contributions · Sun, Dec 28, 2025 1 contributions · Mon, Dec 29, 2025 3 contributions · Tue, Dec 30, 2025 1 contributions · Wed, Dec 31, 2025 1 contributions · Thu, Jan 1, 2026 5 contributions · Fri, Jan 2, 2026 1 contributions · Sat, Jan 3, 2026 1 contributions · Sun, Jan 4, 2026 1 contributions · Mon, Jan 5, 2026 5 contributions · Tue, Jan 6, 2026 3 contributions · Wed, Jan 7, 2026 5 contributions · Thu, Jan 8, 2026 1 contributions · Fri, Jan 9, 2026 1 contributions · Sat, Jan 10, 2026 1 contributions · Sun, Jan 11, 2026 5 contributions · Mon, Jan 12, 2026 1 contributions · Tue, Jan 13, 2026 4 contributions · Wed, Jan 14, 2026 1 contributions · Thu, Jan 15, 2026 4 contributions · Fri, Jan 16, 2026 1 contributions · Sat, Jan 17, 2026 3 contributions · Sun, Jan 18, 2026 10 contributions · Mon, Jan 19, 2026 5 contributions · Tue, Jan 20, 2026 2 contributions · Wed, Jan 21, 2026 4 contributions · Thu, Jan 22, 2026 2 contributions · Fri, Jan 23, 2026 6 contributions · Sat, Jan 24, 2026 4 contributions · Sun, Jan 25, 2026 19 contributions · Mon, Jan 26, 2026 35 contributions · Tue, Jan 27, 2026 25 contributions · Wed, Jan 28, 2026 16 contributions · Thu, Jan 29, 2026 40 contributions · Fri, Jan 30, 2026 7 contributions · Sat, Jan 31, 2026 12 contributions · Sun, Feb 1, 2026 3 contributions · Mon, Feb 2, 2026 5 contributions · Tue, Feb 3, 2026 0 contributions · Wed, Feb 4, 2026 0 contributions · Thu, Feb 5, 2026 1 contributions · Fri, Feb 6, 2026 2 contributions · Sat, Feb 7, 2026 0 contributions · Sun, Feb 8, 2026 4 contributions · Mon, Feb 9, 2026 0 contributions · Tue, Feb 10, 2026 0 contributions · Wed, Feb 11, 2026 8 contributions · Thu, Feb 12, 2026 1 contributions · Fri, Feb 13, 2026 4 contributions · Sat, Feb 14, 2026 3 contributions · Sun, Feb 15, 2026 2 contributions · Mon, Feb 16, 2026 0 contributions · Tue, Feb 17, 2026 0 contributions · Wed, Feb 18, 2026 0 contributions · Thu, Feb 19, 2026 0 contributions · Fri, Feb 20, 2026 0 contributions · Sat, Feb 21, 2026 7 contributions · Sun, Feb 22, 2026 8 contributions · Mon, Feb 23, 2026 4 contributions · Tue, Feb 24, 2026 25 contributions · Wed, Feb 25, 2026 20 contributions · Thu, Feb 26, 2026 17 contributions · Fri, Feb 27, 2026 6 contributions · Sat, Feb 28, 2026 0 contributions · Sun, Mar 1, 2026 14 contributions · Mon, Mar 2, 2026 53 contributions · Tue, Mar 3, 2026 14 contributions · Wed, Mar 4, 2026 5 contributions · Thu, Mar 5, 2026 7 contributions · Fri, Mar 6, 2026 24 contributions · Sat, Mar 7, 2026 22 contributions · Sun, Mar 8, 2026 2 contributions · Mon, Mar 9, 2026 0 contributions · Tue, Mar 10, 2026 4 contributions · Wed, Mar 11, 2026 6 contributions · Thu, Mar 12, 2026 7 contributions · Fri, Mar 13, 2026 128 contributions · Sat, Mar 14, 2026 35 contributions · Sun, Mar 15, 2026 11 contributions · Mon, Mar 16, 2026 21 contributions · Tue, Mar 17, 2026 15 contributions · Wed, Mar 18, 2026 21 contributions · Thu, Mar 19, 2026 0 contributions · Fri, Mar 20, 2026 7 contributions · Sat, Mar 21, 2026 15 contributions · Sun, Mar 22, 2026 12 contributions · Mon, Mar 23, 2026 13 contributions · Tue, Mar 24, 2026 3 contributions · Wed, Mar 25, 2026 3 contributions · Thu, Mar 26, 2026 10 contributions · Fri, Mar 27, 2026 7 contributions · Sat, Mar 28, 2026 8 contributions · Sun, Mar 29, 2026 6 contributions · Mon, Mar 30, 2026 3 contributions · Tue, Mar 31, 2026 2 contributions · Wed, Apr 1, 2026 2 contributions · Thu, Apr 2, 2026 6 contributions · Fri, Apr 3, 2026 30 contributions · Sat, Apr 4, 2026 6 contributions · Sun, Apr 5, 2026 2 contributions · Mon, Apr 6, 2026 2 contributions · Tue, Apr 7, 2026 0 contributions · Wed, Apr 8, 2026 0 contributions · Thu, Apr 9, 2026 0 contributions · Fri, Apr 10, 2026 0 contributions · Sat, Apr 11, 2026 0 contributions · Sun, Apr 12, 2026 4 contributions · Mon, Apr 13, 2026 14 contributions · Tue, Apr 14, 2026 10 contributions · Wed, Apr 15, 2026 9 contributions · Thu, Apr 16, 2026 23 contributions · Fri, Apr 17, 2026 39 contributions · Sat, Apr 18, 2026 22 contributions · Sun, Apr 19, 2026 16 contributions · Mon, Apr 20, 2026 2 contributions · Tue, Apr 21, 2026 10 contributions · Wed, Apr 22, 2026 22 contributions · Thu, Apr 23, 2026 1 contributions · Fri, Apr 24, 2026 0 contributions · Sat, Apr 25, 2026 2 contributions · Sun, Apr 26, 2026 2 contributions · Mon, Apr 27, 2026 12 contributions · Tue, Apr 28, 2026 7 contributions · Wed, Apr 29, 2026 2 contributions · Thu, Apr 30, 2026 0 contributions · Fri, May 1, 2026 0 contributions · Sat, May 2, 2026 0 contributions · Sun, May 3, 2026 3 contributions · Mon, May 4, 2026 6 contributions · Tue, May 5, 2026 1 contributions · Wed, May 6, 2026 4 contributions · Thu, May 7, 2026 1 contributions · Fri, May 8, 2026 0 contributions · Sat, May 9, 2026 0 contributions · Sun, May 10, 2026 0 contributions · Mon, May 11, 2026 1 contributions · Tue, May 12, 2026 2 contributions · Wed, May 13, 2026 3 contributions · Thu, May 14, 2026 0 contributions · Fri, May 15, 2026 27 contributions · Sat, May 16, 2026 16 contributions · Sun, May 17, 2026 2 contributions · Mon, May 18, 2026 2 contributions · Tue, May 19, 2026 2 contributions · Wed, May 20, 2026 0 contributions · Thu, May 21, 2026 9 contributions · Fri, May 22, 2026 6 contributions · Sat, May 23, 2026 10 contributions · Sun, May 24, 2026 18 contributions · Mon, May 25, 2026 5 contributions · Tue, May 26, 2026 0 contributions · Wed, May 27, 2026 7 contributions · Thu, May 28, 2026 2 contributions · Fri, May 29, 2026 16 contributions · Sat, May 30, 2026 0 contributions · Sun, May 31, 2026 1 contributions · Mon, Jun 1, 2026 0 contributions · Tue, Jun 2, 2026 1 contributions · Wed, Jun 3, 2026 0 contributions · Thu, Jun 4, 2026 0 contributions · Fri, Jun 5, 2026 0 contributions · Sat, Jun 6, 2026 0 contributions · Sun, Jun 7, 2026 1 contributions · Mon, Jun 8, 2026 47 contributions · Tue, Jun 9, 2026 43 contributions · Wed, Jun 10, 2026 40 contributions · Thu, Jun 11, 2026 14 contributions · Fri, Jun 12, 2026 28 contributions · Sat, Jun 13, 2026 5 contributions · Sun, Jun 14, 2026 14 contributions · Mon, Jun 15, 2026 26 contributions · Tue, Jun 16, 2026 37 contributions · Wed, Jun 17, 2026 3 contributions · Thu, Jun 18, 2026 8 contributions · Fri, Jun 19, 2026 27 contributions · Sat, Jun 20, 2026 49 contributions · Sun, Jun 21, 2026 7 contributions · Mon, Jun 22, 2026 13 contributions · Tue, Jun 23, 2026 16 contributions · Wed, Jun 24, 2026 11 contributions · Thu, Jun 25, 2026 32 contributions · Fri, Jun 26, 2026 35 contributions · Sat, Jun 27, 2026 24 contributions · Sun, Jun 28, 2026 8 contributions · Mon, Jun 29, 2026 7 contributions · Tue, Jun 30, 2026 12 contributions · Wed, Jul 1, 2026 17 contributions · Thu, Jul 2, 2026 14 contributions · Fri, Jul 3, 2026 43 contributions · Sat, Jul 4, 2026 25 contributions · Sun, Jul 5, 2026 33 contributions · Mon, Jul 6, 2026 0 contributions · Tue, Jul 7, 2026 17 contributions · Wed, Jul 8, 2026 11 contributions · Thu, Jul 9, 2026 13 contributions · Fri, Jul 10, 2026 15 contributions · Sat, Jul 11, 2026 0 contributions · Sun, Jul 12, 2026 8 contributions · Mon, Jul 13, 2026 5 contributions · Tue, Jul 14, 2026 15 contributions · Wed, Jul 15, 2026 20 contributions · Thu, Jul 16, 2026 8 contributions · Fri, Jul 17, 2026 21 contributions · Sat, Jul 18, 2026 3 contributions · Sun, Jul 19, 2026 0 contributions · Mon, Jul 20, 2026 6 contributions · Tue, Jul 21, 2026 9 contributions · Wed, Jul 22, 2026 17 contributions · Thu, Jul 23, 2026 14 contributions · Fri, Jul 24, 2026 6 contributions · Sat, Jul 25, 2026 7 contributions · Sun, Jul 26, 2026 14 contributions · Mon, Jul 27, 2026 18 contributions · Tue, Jul 28, 2026 2 contributions · Wed, Jul 29, 2026 9 contributions · Thu, Jul 30, 2026 14 contributions · Fri, Jul 31, 2026 35 contributions · Sat, Aug 1, 2026 5 contributions · Sun, Aug 2, 2026 2 contributions · Mon, Aug 3, 2026 2 contributions · Tue, Aug 4, 2026 1 contributions · Wed, Aug 5, 2026 12 contributions · Thu, Aug 6, 2026 17 contributions · Fri, Aug 7, 2026 4 contributions · Sat, Aug 8, 2026 7 contributions · Sun, Aug 9, 2026 8 contributions · Mon, Aug 10, 2026 13 contributions · Tue, Aug 11, 2026 8 contributions · Wed, Aug 12, 2026 9 contributions · Thu, Aug 13, 2026 0 contributions · Fri, Aug 14, 2026 19 contributions · Sat, Aug 15, 2026 11 contributions · Sun, Aug 16, 2026 15 contributions · Mon, Aug 17, 2026 15 contributions · Tue, Aug 18, 2026 8 contributions · Wed, Aug 19, 2026 14 contributions · Thu, Aug 20, 2026 6 contributions · Fri, Aug 21, 2026 16 contributions · Sat, Aug 22, 2026 18 contributions · Sun, Aug 23, 2026 3 contributions · Mon, Aug 24, 2026 2 contributions · Tue, Aug 25, 2026 6 contributions · Wed, Aug 26, 2026 12 contributions · Thu, Aug 27, 2026 0 contributions · Fri, Aug 28, 2026 12 contributions · Sat, Aug 29, 2026 17 contributions · Sun, Aug 30, 2026 8 contributions · Mon, Aug 31, 2026 15 contributions · Tue, Sep 1, 2026 16 contributions · Wed, Sep 2, 2026 8 contributions · Thu, Sep 3, 2026 3 contributions · Fri, Sep 4, 2026 17 contributions · Sat, Sep 5, 2026 1 contributions · Sun, Sep 6, 2026 8 contributions · Mon, Sep 7, 2026 8 contributions · Tue, Sep 8, 2026 13 contributions · Wed, Sep 9, 2026 19 contributions · Thu, Sep 10, 2026 6 contributions · Fri, Sep 11, 2026 15 contributions · Sat, Sep 12, 2026 16 contributions · Sun, Sep 13, 2026 11 contributions · Mon, Sep 14, 2026 2 contributions · Tue, Sep 15, 2026 6 contributions · Wed, Sep 16, 2026 10 contributions · Thu, Sep 17, 2026 9 contributions · Fri, Sep 18, 2026 13 contributions · Sat, Sep 19, 2026 13 contributions · Sun, Sep 20, 2026 20 contributions · Mon, Sep 21, 2026 21 contributions · Tue, Sep 22, 2026 44 contributions · Wed, Sep 23, 2026 48 contributions · Thu, Sep 24, 2026 7 contributions · Fri, Sep 25, 2026 10 contributions · Sat, Sep 26, 2026 15 contributions · Sun, Sep 27, 2026 20 contributions · Mon, Sep 28, 2026 5 contributions · Tue, Sep 29, 2026 4 contributions · Wed, Sep 30, 2026 1 contributions · Thu, Oct 1, 2026 6 contributions · Fri, Oct 2, 2026 5 contributions · Sat, Oct 3, 2026 6 contributions · Sun, Oct 4, 2026 47 contributions · Mon, Oct 5, 2026 16 contributions · Tue, Oct 6, 2026 25 contributions · Wed, Oct 7, 2026 3 contributions · Thu, Oct 8, 2026 6 contributions · Fri, Oct 9, 2026 12 contributions · Sat, Oct 10, 2026 3 contributions · Sun, Oct 11, 2026 6 contributions · Mon, Oct 12, 2026 14 contributions · Tue, Oct 13, 2026 10 contributions · Wed, Oct 14, 2026 11 contributions · Thu, Oct 15, 2026 19 contributions · Fri, Oct 16, 2026 0 contributions · Sat, Oct 17, 2026
Less More

Monthly volume

  1. 238 O
  2. 234 N
  3. 241 D
  4. 219 J
  5. 132 F
  6. 476 M
  7. 247 A
  8. 143 M
  9. 497 J
  10. 396 J
  11. 305 A
  12. 403 S
  13. 190 O

Weekly rhythm

Busiest on Saturdays.

  1. 456 Sun
  2. 489 Mon
  3. 518 Tue
  4. 560 Wed
  5. 539 Thu
  6. 472 Fri
  7. 687 Sat

All time

Lines of code
+1.3Madded
−623Kremoved
Commits
7,627
Repositories
82
Pull requests
125
Reviews
34

Languages

  • Rust 57.0%
  • Dart 17.8%
  • Astro 8.2%
  • Python 5.7%
  • Shell 3.0%
  • TypeScript 2.6%
  • C++ 2.4%
  • C 0.8%
  • Other 2.5%

Public repositories only. Source: hhandika/hhandika.

Get the apps

Store listings for 3 free apps across 4 app stores, 10 in all.

All apps are free to install.

Software Projects

SEGUI on Windows summarizing genomic reads SEGUI home screen on iPhone in dark mode SEGUI genomic sequence tools on iPhone SEGUI alignment concatenation on iPhone

SEGUL

A cross-platform phylogenomic tool

Desktop GUIMobile appCommand-line appPython packageRust crate

We develop SEGUL (SEquence and Genomic UtiLities) to address the need for a high-performance and accessible phylogenomic tool. It features a growing list of high-performance, memory-efficient solutions for genomic data exploration, cleaning, filtering, and conversion tasks. We designed SEGUL to handle large-scale phylogenomic datasets involving thousands of loci and hundreds of samples. Additionally, it is capable of handling small Sanger sequences effectively. It scales from smartphones, tablets, and personal computers to high-performance computing clusters. It is available as a command-line app, mobile and desktop GUI, and packages for Rust and Python. Using the SEGUL library in other languages is also possible using the Rust interface, such as in R using extendr. It is a practical solution to typical phylogenomic data analyses and a proof of concept for scalable, cross-platform genomic software. SEGUL received the Society of Systematic Biologists' 2024 Ernst Mayr Award.

Code Docs Install

NAHPU home screen on a phone NAHPU catalog template design on macOS Recording collecting-site coordinates in NAHPU NAHPU media gallery for specimen photographs Specimen part records in NAHPU

NAHPU

A cross-platform field catalog for natural history collections

Mobile appDesktop app

The NAHPU project is a collaborative effort to develop a digital field catalog for natural history collection. We designed it to streamline data collection from fieldwork to the museum database. It minimizes information loss and lack of integration between specimens, collecting efforts, and derivative data (e.g., photographs and sound recording). We aim to foster international collaboration and improved reproducibility through rich, consistent data features and multi-language support. NAHPU features real-time statistics to keep track of specimen records to aid in making decisions in collecting efforts and avoiding over-sampling. The app is stable. Field teams have used NAHPU for fieldwork in Brazil, Colombia, Indonesia, Mexico, and the United States. It supports data collection for ornithology and mammalogy, with plans to extend support to other taxa.

Code Docs Install

ULLAR running a MAFFT sequence alignment pipeline on 4,421 loci in the terminal

ULLAR

An Ultrafast, scaLable, Accessible, and Reproducible pipeline for phylogenomics

Command-line appPython package

ULLAR is currently in the beta development stage. It aims to create a lightweight and scalable pipeline for phylogenomic studies. It requires minimal learning and omits manual config generation and shell scripting. The pipeline uses Rust, which has no runtime dependencies, is memory-safe, and efficiently uses computing resources. In addition to Linux and macOS, typically supported operating systems for bioinformatics, ULLAR will also run natively on Windows for part of the pipeline, allowing more efficient access to hardware than using the Windows Subsystem for Linux.

Code Docs Install

MDD app taxonomy tree MDD website home page Species information in the MDD app Occurrence map in the MDD app Taxon page on the MDD website Database statistics in the MDD app

MDD app

Mobile, desktop, and web apps for the ASM's Mammal Diversity Database

Mobile appDesktop appResponsive website

The American Society of Mammalogists' Mammal Diversity Database (MDD) app is a mobile and desktop application I developed as part of the MDD curation team, together with the responsive MDD website that works on phones, tablets, and desktops. The app is stable. It allows offline access, advanced search, and user-selected export functions for the database. We aim to simplify access to MDD data when access to the internet is limited.

Code Docs Install

LepiVerse home page, built on BioCosmos LepiVerse species page for Morpho aega with specimen images and classification Visually similar species to Morpho aega ranked by image embedding similarity LepiVerse Nymphalidae family page in dark mode with genus, species, and image counts Coloration morphospace of Lycaenidae, with dorsal and ventral points for each species on the first two principal components Genetics section for Danaus plexippus summarizing the reference genome, assembly, and gene annotation Taxonomy section for Danaus plexippus with nomenclature, classification, and name usage Literature section listing publications on Danaus plexippus by year

BioCosmos

AI-powered search and trait exploration for natural history collections

Web appAPI server

BioCosmos is the platform behind LepiVerse. It lets anyone search more than 600,000 butterfly specimen images by name, image, or a plain-language question. An open-weight language model plans each search as typed tool calls, vision models encode it, and two embedded databases, DuckDB and LanceDB, execute it in a single lightweight server. The language model never touches the data, keeping token usage low and the data private.

Code Docs Install