Kevin Ashcraft

Computer Programmer

Hello World

I'm Kevin Ashcraft, a computer programmer and amateur radio operator in Central Florida.

My Apps


Ham Radio Checkin & Chat
More Info
Show Less

EagleLogger is an app I made to help log checkins to the EagleNet (I'm the NCS on Tuesdays). It's been an ongoing project with a few simple features with a stack that's usually a reflection of my professional environment. This version, the third, is the most streamlined and stable yet, being the easiest to maintaine while also costing the least in overhead.

  • Imported FCC ULS Database
  • Synchronizes with daily transaction logs
  • Migrated Previous MySQL, PostgreSQL databases and Excel Spreadsheets
  • Real-time data updates in the UI thanks to Firestore snapshot watchers
  • This is the third version of EagleLogger. Using VueJS+Firestore
  • The first version was PolymerJS+MySQL, and the second VueJS+PostgreSQL
  • HTML+JS is hosted on a K8s cluster


Language Photo Flashcards
More Info
Show Less

RoboFlash is an app to help learn foreign langauge vocab.

  • Word lists are maintained in Google Sheets for easy colaboration
  • Translation is done by Google Translate (within Google Sheets)
  • Audio is generated from the Google Text-to-Speech API
  • Static images are imported from the PixaBay API
  • GIFs are imported from the Giphy API
  • Language decks are JSON files stored on Google Cloud Storage
  • On devices, deck data is permanently stored and works offline

Bird Song Identifier
More Info
Show Less is an app my wife invented (originally as an animal sound identifier) that uses the mic on your phone to listen to a few seconds of bird audio. That audio is transformed into a spectrogram and then send into an ML model that we trained to recgonize over 1,000 different species.

  • Processed over 300,000 audio files for over 4,000 species
  • Scraped Wikipedia for information on each animal to separate bird/non-bird
  • Used Sound Event Detection - training multiple models to isolate significant audio segments
  • Trained model and processed audio in python, converted to JS with TensorFlowJS
  • The app uses Web Audio API for cross-platform microphone access