Stephen Hara

Projects

≫ 2024

Japan Tax EstimatorHosted on Fly.io

This app estimates your individual tax situation based on your income from all categories and incorporating all types of deductions. It provides a breakdown of the applicable deductions and their amounts, your effective tax rates as a whole and for national and local taxes separately, and even estimates your maximum furusato nouzei contributions.

ElixirPhoenixPersonal finance

Bounty guides you to the best points to collect for a given goal, like travel or cashback.

ElixirPhoenixJapanese personal finance

≫ 2023

Japan NHK Vocab HelperHosted on Fly.io

This app provides an interface for scraping NHK articles into the application, then allows users to view the article and select individual segments to parse and display the vocabulary in that segment, showing definitions, part-of-speech information, and more.

ElixirPhoenixLanguage learningJapanese language
OWDDM Word Game ChallengeCode on Github

A member of the Osaka/Kyoto Web Developers and Designers Discord posed a challenge for a word game involving words that could be built from a set of common prefixes. This was my solution with Rust, involving some graph building and searching and a lot of optimizing bad answers away.

RustDS&AGraph algorithm

≫ 2022

CollabTranslateHosted on Fly.io

This app is a POC for a collaborative translation application, allowing multiple translators to work on and view the same translation.

ElixirPhoenixTranslation
Suumo ScraperHosted on GCP

This app is a very simple frontend on top of a scraper/DB that pulls listings from Suumo, the most populated real estate search site in Japan. The scraper is only configured for apartment rentals for now. Once scraped, it aggregates the data and shows stats for each breakdown of each area down to the neighborhood district.

ElixirPhoenixScrapingReal estate

≫ 2021

Elixir RPG Combat DemoCode on Github

This repo has the code I used for a team tech talk introducing the Elixir language. The final code simulates a turn-based combat between two RPG entities with various stats like attack and health.

ElixirKnowledge sharing
Table of Contex - Markdown Table of Contents generatorCode on Github

This is a simple Elixir Mix task that adds a table of contents to your project's README.md.

Elixir

≫ 2019

BrainAggregateCode on Github

This repo is the start of a Stack Overflow clone built on Elixir and Phoenix. This was mostly a fun project I did for Hacktoberfest that year.

ElixirPhoenix

≫ 2018

Japanese Number DrillsAvailable on Google Play

An app for practicing the pronunciation of Japanese numbers. It recognizes multiple forms of romanization and keeps track of your right/wrong count for the current session.

KotlinAndroidJapanese Language

≫ 2017

Band TogetherBackend (Github)

A musical social media platform I was trying to build called Band Together.

TypescriptReactElixirPhoenix
Matte EngineCode on Github

A C++ 2D game engine I was working on in my spare time to refresh my C++ knowledge. I also live streamed most of the development of this project!

C++SDLGame developmentTwitch streaming
Game of Life implementation - ElixirCode on Github

An Elixir implementation of Conway's Game of Life.

Elixir

≫ 2016

B-Ball Team StrengthCode on Github

An Elixir implementation of a paper describing a method for calculating relative strength of two basketball teams based on their season scores.

Elixir

≫ 2013

N-Gram toolsCode on Github

Final project for an NLP project I took in university. Basically this is a few scripts and tools for parsing n-gram models from text corpora and using them to generate novel text based on those models.

PythonNLP
TUI FretboardCode on Github

Python TUI for displaying a guitar fretboard and other information like scales, chords, modes, etc.

PythonMusic theoryGuitar
Ludum Dare 27 - 10 Second Runny GuyCode on Github

A really bad Ludum Dare submission I wrote in C++ and SDL.

C++Game DevelopmentSDL