View more on medium


The Last Year of High School…

I’ll be starting school tomorrow, and I thought that maybe writing a post about that sort of thing would be interesting. I already wrote about summer in general. You can read about that here or here

The last previous 3 years of high school

I don’t remember too much about freshmen and sophomore year except that I learned some Math, Science, English, History, and Spanish. Plus there was learning how to be less socially awkward. Trust me, I’m getting there :)

Junior year was the most impactful. I faced many challenges and saw how many flaws that are need of addressing. What I initially thought were simple interactions came to be something else I did not entirely expect. In the end, I was forced to swallow some hard truths that I am still working on internalizing even now.

It was also the first year I took Spark! Spark! was and still is a wonderful place that people can spend their time learning skills through experience rather then through a regular classroom setting. I think they call it experiential learning or something of that sort.

For the first time, I was able spend time learning programming and technology with others rather then alone on my computer like I usually do. The feeling of belonging to a community like that, well… It’s an incredible feeling.

Looking forward (i.e tomorrow and beyond)

There is no realistic way of being able to predict everything about the future. If that were the case, it would not be as fun :). So making the best of my capacities and potential, I’ll put forth the best efforts to be of help to others and academically diligent. I cannot foresee what difficulties await, but they will happen and come to pass.

There is always an easier route in any situation. But if does not equate to the same yield as the harder route, the harder route will probably be better in the long game even if it looks boring in the short game.

Good luck

This was more of a personal post. If any readers are returning to high school/college this fall, I wish them all the best of luck.

– Michael Navazhylau

Read More

August 2018 Devlog 02: Building a Habit App but with RPG elements

Yo. It’s that bird. Mechasparrow. I’ve been doing some dev and making some tutorials.

What have I been coding this week?

Well I’m still kinda building the Scavenger hunt app, but I put that as second priority coding wise. The main application I’m working is called repeatic.

Repeatic is a habit task app with RPG elements.

What does this mean?

It means that as you complete certain tasks or solidify habits, you interact with a sort of game environment in the process. Kinda like Tamagotchi. You gain XP or lose health depending on how well you complete tasks and stay committed to habits.

How am I building it?

with JavaScript and React.JS

Whats the progress so far?

  • complete tasks
  • gain xp
  • create tasks

I plan on incorporating some pixel art aesthetics. Bad news… It’s going to be a lot of initially bad pixel art :D

That’s it so far. The repo is over at github

Other stuff

I completed another tutorial over on LiveEdu. LiveEdu is an online livestreaming programming education platform. I plan on starting to publish YouTube videos at some point.

Backend development has begun on the scavenger hunt application. So I would say maybe another good 70% to go regarding that app.

School starts less then one week from now… Pretty riveting IMO.

– Michael Navazhylau

Read More

On Project Based Learning

I really enjoy working on projects. Especially the ones that allow for creative freedom. When a problem is presented, we are either told by someone else how it is solved, or we are tasked with creating a solution. Often, there can be more than one solution to a problem. I find that incredible.

Retention of information

When a problem is presented, we are required to pull from multiple repositories of information to create a potential solution. Rather then making the excuse, “I don’t see myself using this in real life”, you are given a problem. Go solve it. Oh by the way… Here are some books that might help. Good luck.

By engaging the students in trying to find the solution themselves, they have a greater investment in figuring out what key information they were missing for the solution.

Diversity of learning

Depending on the scope of the problem presented, an individual has several paths that may lead to the completion of the project. Even if it is pre-structured project, the student/disciple is often given a variety of paths to complete it. This allows each student to pick up knowledge that aids them in the methods of problem solving that they utilize.

Collaborative efforts

By throwing multiple individuals into a project, a short feedback loop between team members can be established. This allows for incremental improvement and development without the complete fear that what is being built is somewhat viable. That is, of course, if other members choose to speak there mind regarding the project at hand.


If we want to stay motivated or learning new things, the best way is through the completion of projects or goals. This brings personal meaning behind the knowledge were attaining.

– Michael Navazhylau

Read More

2018 August Dev Log 01: App Dev and Project experimentation

I’ve been developing a couple of project lately. The main right now is a scavenger hunt app. Another friend of mine is developing this one with me, so that is pretty fun.

The other one I’m building is a information sharing platform. I’ll cover that one in more detail in the next Dev Log.


The features the completed app will have are

  • Ability to complete scavenger hunts
  • Ability to complete unique challenges that each hunt contains.
  • A Leader board that shows which players have completed the most challenges/hunts
  • Ability for users to create their own hunts/challenges
  • Users will be able to check back on the hunts/challenges they have recently completed


The basic version of the app frontend has been completed. I have begun coding the backend API not too long ago. Be adding a web backend to the app, users will be able to interact with one another and allows for the accumulation of user-generated content.

The Tech Stack

The aim right now is to be able to release the app on Android and IOS once it has been completed. As such, we opted to develop the app using JavaScript and React Native on the front end. React Native offers wonderful cross platform support with the offer of integrating essential native device features like Geo Location. In addition, if the app will be ported to the web (with React.JS), very little of the code base will actually have to be modified.

For the backend API, I am currently experimenting with Ruby on Rails

This project is being developed at a relaxed pace. This is mostly because senior year of high school is starting up in a few weeks from now :)

– Mechasparrow (Michael Navazhylau)

Read More

Web Backend Development with Ruby (Rails) Part two

If you haven’t read part one. Go back and read that

In this tutorial we will create additional models and seed them into the database.

After that we will write a simple view that will display a list of items the the grocery store has in stock.

Lets make the application look nicer

Before we start adding more data models to our application, lets install bootstrap.

inside the file named Gemfile, add these lines to it

gem 'bootstrap', '~> 4.1.3'
gem 'jquery-rails'

Then run

bundle install

This will install the bootstrap library for the project.

Afterwards go into the /app/assets/stylesheets/application.scss file and add these line

Adds bootstrap

@import "bootstrap";

if the application.scss file ends in .css, just change it so it has the .scss ending.

You can do this by running this command to change it in the terminal

mv app/assets/stylesheets/application.css app/assets/stylesheets/application.scss

Add these lines to /app/assets/javascripts/application.js file.

//= require jquery3
//= require popper
//= require bootstrap

Now we have Bootstrap 4 added to our application!

Adding our new models

We are going to add 2 new models, Ordered_Items and Carts. The ordered items model will be a table of items that have been ordered. The Cart will contain items that were ordered by the customer. So there will be some level of overlap that we will have to account for.

These are called associations.

First lets create the new models.

rails generate model Cart rails generate model OrderedItem

inside the folder /db/migrate, there will be a file ends with create_ordered_items.rb, open that file and edit it so it becomes this.

class CreateOrderedItems < ActiveRecord::Migration[5.1]
  def change
    create_table :ordered_items do |t|
      t.integer :quantity
      t.references :item, index: true
      t.references :cart, index: true

The references fields refers to the tables that the the table is connected to. In this case it is the Item and Cart model. I’ll show you how this connects when we seed example data for this.

The last migration we need to create is in order to modify our previous Item table. To do this we run.

rails generate migration AddStockToItems

This will create a file in the migrations folder that ends with add_stock_to_items.rb. Edit the file so it contains this…

class AddStockToItems < ActiveRecord::Migration[5.1]
  def change
    add_column :items, :stock, :integer

With the add_column function, this migration adds a integer(number) column called stock to the items table.

And finally.

rails db:migrate

Writing the model associations

In order to handle the connected tables we need to write the corresponding associations.

Inside /app/models/ordered_item.rb

class OrderedItem < ApplicationRecord
  belongs_to :item
  belongs_to :cart

Inside /app/models/item.rb

class Item < ApplicationRecord
  has_many :ordered_items, dependent: :destroy

Inside /app/models/cart.rb

class Cart < ApplicationRecord
  has_many :ordered_items, dependent: :destroy

With the belongs_to and has_many association functions. We tell the framework that a Item has many Ordered Items connected to it. The Cart also has many ordered_items connected to it. And the Ordered Item belongs to both a Item and Cart.

That way when a customer wants to take his or her cart to checkout, it already has all the corresponding ordered items. Those ordered items point to the items that are currently in stock.

This may sound over complicated, but it will make managing the item inventory much more easier :)

Seeding the data

If we want to display the items we have in stock, we need some items!

Go into /db/seeds.rb, and edit it so it is like this.

items = Item.create([
    name: 'Apple',
    description: 'Basic Fruit',
    price: 0.25,
    stock: 1
    name: 'Watermellon',
    description: 'Fruit mainly composed of Water',
    price: 3.00,
    stock: 1

run rails db:seed

to add the new data to the database.

Now we have some initial items that we can display.

Displaying the item catalog

So now we want to display the items in the shop. Go back to the InventoryController (/app/assets/controllers/inventory_controller.rb) and edit the index function like so

def index
  @items = Item.all

We created a variable called @items that we will be able to reference to within our view template. Item.all retrieves all the rows from the Item model.

Let’s edit our view to be able to use this variable. Go into /app/views/inventory/index.html.erb and change it to this

<div class = "container">
  <h1 class = "header-title"> Here are all the items that are currently in stock...</h1>

  <% if (@items.length <= 0) %>
    <p>Sorry no items :-( </p>
  <% end %>

  <% @items.each do |item| %>
    <div class = "card card-item">
      <div class = "card-body">
        <h5 class = "card-title"><%= %></h5>
        <h6 class = "card-subtitle mb-2 text-muted"><%= item.stock %> in stock</h6>
        <p class = "card-text">
          <%= item.description %>
        <p class = "card-text card-item-cost">
          $<%= '%.2f' % item.price %>
  <% end %>


also edit /app/assets/stylesheets/inventory.scss to contain this

.header-title {
  margin-top: 16px;

.card-item {
  margin-top: 16px;

.card-item-cost {
  color: green;

Now when you visit the / of the rails app. It should display something like this.

Great Job! Now people can see what items can be purchased! In the next tutorial, we will start adding functionality that will allow the user to add items to his/her cart.

You can get the source code for this project on Github

– Mechasparrow

Read More

Summer Vacation 2018

My 2018 Summer so far

Oh how different it really was

This summer. This summer has been quite a ride. When I started this summer, I thought that I would spend time just studying computer science and reading math textbooks. Yeah… That’s not really how I do “computer science”. Maybe next summer, or over the senior year… But definitely not summer.

Personal Development

For me, summer has always been a time to build new frameworks for sustained growth and progress. It is like the calm before the storm. Its not like nothing happens during summer. There is just more time to think. However, that shouldn’t be an excuse not to think when it counts.

And with this summer, this has been never more true. I am entering my final year of high school. Beyond that, college. This creates some uncertainty about the future that most be faced directly and no longer avoided.

Learned some things

I did learn some concrete things summer, not just spiritual or “life lessons”. Due to some unforeseen circumstances, I had a unfulfilled art course requirement that needed to be taken care of. I choose to take care of this by taking an online summer art course over AP Art History. I did not know how much this would change my appreciation for the arts and just art as a whole. Though it was long and tedious, I am glad that I took that course this summer.

I had some social conflicts with some new and old friends. In the process, I learned what I really valued in a friendship and what it means to be supportive and understanding of other peoples lives. By what degree? I can’t really say without point of reference

Programming and Building things again!

In the beginning, I referred to not studying that much computer science. Well I studied a little. Just a couple chapters of a textbook. Instead, most of my time was spent studying new frameworks and tools that I could use to create interesting and useful applications. For the tech nerds out there. I studied React.JS, Redux, React-Native, and some Backend tech. I’ll list links to these in the bottom.

I learned these technologies through project-based learning. I’m working on a couple projects right now. For now, just an app and a sort of game with geo-location. I also plan on starting to live stream these and release some tutorials on a semi-consistent basis.


A couple weeks back, I got hired as a programming instructor for a Untitled Learning Center. I also have been creating tutorials for the LiveEdu platform. The skills I pick up in teaching should be helpful in other avenues of life. Who knows?


This has been a long blog post. So I’m going to cut it here. I might go into more detail on specific parts later on. But thats that for now.

– Mechasparrow

Read More

Web Backend Development with Ruby (Rails) Part one

What is an web backend

A backend is the piece of software that deals with the business logic for interacting with the application’s data. This could be tweets, account records, facebook posts, and any other sort of data that you could think of that a user would want to interact with.

In a later tutorial we will go over frontend development to help shape what the user sees.

What are we going to build?

We are going to build a simple store inventory system. That way a grocery manager/clerk can keep track of what items are in stock. This tutorial will be separated into different parts. In this one we are going to just set up rails and generate some basic code to start.

Installing Rails

Make sure that you have Ruby installed. Once you do we are going to run this command in the terminal

gem install rails

This installs the latest version of rails that we will be used for developing our store inventory software.

Alright it is time to create our application.

rails new inventory-system
cd inventory-system
bundle install

This creates our new application in a folder called inventory-system and then we move into that folder and install our libs with the bundle install command.

From this point on, when I refer to /, I mean the path to the inventory-system project folder.

Launching the application

You can launch the application with

rails s

Then navigate your web browser to localhost:3000

You should see something like this..

Your on rails

Generating helper code

We are going to generate some code just to save some time.

Generating the data model

A model is software layer that simplifies the process of saving and reading data from our database.

So for our items model. run

rails generate model item name:string description:text price:decimal
rails db:migrate

This generates a model that has a name, description, and a price field. This will be important later on when we are saving or viewing item data. We then run a migration with the second command so the database is changed in response to our model code we generated.

Generating the controller

The controller is the code that is the real meat of the application. This is where all the business logic goes.

To generate our controller run

rails generate Inventory

This generates a controller (ruby file) that will deal with all the business logic for managing our inventory. Our inventory will just be a collection of Item data.

This will generate a file called inventory_controller.rb

in the file you’ll see

create a function called index

def index


and then go into /config/routes.rb

and add the code as seen from the new code comment

Rails.application.routes.draw do
  # New code
  root 'inventory#index'


then create the file starting from root /app/views/inventory/index.html.erb

inside it write

<h1>Hello there</h1>

Now if we visit localhost:3000, we should see this simple web page with the text, Hello There

That’s it for this tutorial. In the next one we are going to actually load some items into the database and render them to the client.

There will also be a separate tutorial on install bootstrap for this project.

You can get the source code for this project on Github

Read More

Building an Anime App because why not?


So one day, I was watching Anime. I do this on a frequent basis. With that being the case, I realized at some point that there was so much anime that I was losing track of. I looked at the current implementation out there… mainly MyAnimeList, but I thought I should build something a bit more extendable. There were a couple features and aesthetics that I wanted to modify. Not only that, I also have a set of favorate characters(A.K.A Waifus) that I thought would be cool to add in too. There is also a collection for this called MyWaifuList


The stack as of right now is just Angular 6.0 with TypeScript and Web Browser Storage. As I further develop the app. I’ll probably off load some of the logic onto a backend server of some sort.


  • Profile Page (WIP)
  • Anime Search
  • Waifu showcase
  • Anime/Entertainment collection Page
  • In Progress Features


Well that’s all I have to say about Animku (WIP). If you’d like to learn more or take a look. You can check the source code out at Github

Read More

Nightly Code Binge Result #1

Image of a whiteboard

So with the wonderful amount of time I have allocated during the summer. I get to do some things that I would not normally do on a school day.

Note… It’s like one in the morning so…


Hmm indeed. I have been coding something to do with Anime and some other cutesy things. Though anime is a niche, I plan on expanding it onto other stuff. Then I can just integrate with like 5 apis for ex (YouTube, Netflix, SoundCloud, etc…….)

What did I code today?

Looky here -> Github Link

I’ll have a prototype out later this week. (I think)

What will happen tomorrow

Probably more coding. I’ll also start working on my more serious app. More detail on that tomorrow

See ya next time.

Read More

Highschool So Far

So high school has been pretty interesting so far. I would like to say that I would like to get out of here and soon as possible. That feeling is greatly enhanced by that fact that I have one year left of high school. So in this article I’ll just go through the rundown of some key things that happened each year.


  • Took classes
  • Joined clubs
  • Coded


  • Took classes
  • Kept doing clubs
  • Coded
  • Virtual Business

Junior Took ½ classes + Spark

  • Spark is just more coding
  • Quit some clubs joined new clubs
  • Experimented a bit and then cut off sketchy friends


  • IDK

Within all of these years of high school and public education so far. I would have to say that my Junior year of high school has been the most valuable to me. The stakes were higher with exams like the ACT. Some classes I took were extremely interesting as well. Especially Government and Crime and Law. With how I’ve been taking classes, hopefully, senior year will not be that bad :D

Read More

How I organize my tasks for the day.

Organizing my tasks

So I started utilizing a system that I haven’t used since Summer Break started and I thought that I should share it. It’s quite simple (I think)

The System

I use this text editor on occasion called Emacs. Within Emacs they have special modes/plugins. One of the modes are called org mode. With in Org Mode you can do you can write notes/agendas/todos and so much more

How is this system used

Everyday when I wake up in the morning (and have the energy), I create a new agenda file. This agenda file is a simple checklist file that has tasks separated into several categories.


Yeah categories.

Like What?

The categories that I have setup right now are

  • Work
  • Mental
  • Physical
  • Spiritual (i.e Buddhism, Philos, etc)

By dividing all my tasks into these categories I can maintain a productive level of energy without burning myself out.

And sys.exit(1);

That’s it for now. I’ll modify this post with links tomorrow…

Read More

Game Dev Log for April 16

Game Devlog

Alright I’m tired. It’s 10:30. Whatever.

I’ll talk about the progress of the game I’ve been building for the past couple of weeks

Here we go


The game, Rodnova, is a game where you are Rod. Rod is a young scarf wearing Novian who was made fun of because he wore a scarf. The games main purpose is show that regardless of who people tell you, heros can come from unlikely sources and should not be underestimated. Rod goes on a journey to prove his strength and save his village from the 4 demons of the apocalypse. That’s the story I have in my head so far.

Level Design

The levels are split into 6 sections.

  • Tutorial
  • Grasslands
  • Firelands
  • Waterlands
  • Airlands
  • Village

Each of these sections have 4 levels except the Village stage, and the Tutorial levels.

Each set of levels is intended to present Rod with new challenged and new game mechanics.

I have not designed many games before hand so the level design still needs much work


I finished up most of the Airlands levels. I just have to creat the boss level for Airlands and that is it for that section.

Tomorrow, I will complete the Airlands boss, and begin working on the Village levels

Other updates

  • Turned 17
  • Building web application in Spark
  • Eating, Sleeping, High School, Coding

Game will come out within the following weeks
Stay tuned!

– Mecha

Read More

Project Management of Software and the Like.

Software can be troublesome

Especially when most of the time your experience is lone wolf coding. So for some reason, I decided to take a leadership position in a team project of 8 people.

I don’t know how to manage people

So how do you manage that many people and try to build a product in eight weeks?

Trial and Error my friend.

Getting everyone on board

Alright, you starting from ground zero. How do you start getting to work?

To start you need to:

  • Understand each member’s strengths/weaknesses
  • Create basic understanding of overall functionality and look of application
  • Look at end goal and work backwards

Each of these help advance the project in some way.

Understand each member’s strengths/weaknesses

Being able to gain a simple understanding of each member allows for better collaboration and team productivity down the road

Basic understanding of look and feel of application

With every team member on the same page (hopefully), the application development will become less difficult as less adjustments will have to be made

Look at the end goal and work backwards

Looking at the end goal and working backwards allows for the project to be broken into tasks and user stories. This will aid in the next step which is task delegation.

Task Delegation

Task delegation is one of the most crucial parts of project management. Without it, everyone would be working on the same features.

A good tool to use for task delegation is a kanban tool like Trello. By using such a system, each member knows exactly what to work on and when it needs to be done.

Clearing/Preventing Misunderstanding

This is a multifaceted issue, so I will try to offer what has worked for me so far.

In the midst of an misunderstanding, it is best to figure out how the misunderstanding came to be and come to a common consensus with the team member of what needs to be done.

A good way to prevent this from ever happening is to have a workshop that goes over where all the resources, tasks, and information for the project can be found. This saves time and energy as you, the project leader, will not have to answer as many of questions of confusion.

Good luck

I hope I was able to shed some useful advice in this article. If I did, please be sure to like, follow, share. It is greatly appreciated :)

Read More

Back to Top ↑


Alkonost version 1.0 released

Project Release! Alkonost: Another News Aggregation App

Alright. Alright. What’s the project?

TL;DR link to news app

So recently, I’ve been kinda annoyed with news stuff. As a result, I’ve been working on a news aggregation app in my free time.

It’s called Alkonost. You can use it here

What does it do?

Well right now. Not much.

Currently I have it setup to read some news from a select set of newsfeeds and categories. The categories are as follows

  • Business
  • Tech
  • Entertainment
  • Art and Culture
  • Lifestyle
  • Politics

I hope to implement more customizability in later versions.

Features to Implement

Here is the current list of features that I plan to implement for next release.

  • Add custom rss feeds
  • Add custom categories
  • Delete rss feeds

There is definitely a ton more I wish to implement, but I need to have a goal in my sights :P

Important Bugs

The current version of the app works. However, there are a couple of bugs. The main one is that

You can’t pull up the newsfeeds too quickly

What this means is that by switching between different news categories too quickly it could cause the app to glitch out.

That’s it for this post. If you enjoyed it please be sure to comment, like, share, and all that other fun stuff. Cheers.

Read More

Implemented Medium Archiving

Just today I completed the medium archiving process. You can now view the archives at


How did I implement it?

I went over to medium. There I downloaded an archive of all my posts I wrote. They were saved as pure HTML files.

I put them all into a folder labeled “archive”

I then created a page that iterates through each page and links to it.

bad news: They are still pure HTML files :(

I would still mark it as an success

Please be sure to check out the archived posts at

/archive or on my Medium page

Read More

Archiving Medium Posts

I recently stated that I would be moving off Medium and writing mainly on my personal website.

Main issue with this though is I have quite a bit of stories on Medium.


So the solution to this is pretty simple actually. Medium allows writers to download a zipped archive of all their posts.

I will just have to create a page on a website that links to all archived posts. They will be viewed as unstyled HTML webpages.

I’m sorry :P

That’s it for now on this piece of development. I will update about this once it is completed.

Read More

Building Alkonost: Aggregated RSS News Reader



I’m currently working on this new project called Alkonost. It’s basically an web app that gives you news from a variety of sources.

I’m building it right now to help diversify my own news reading. Version 1.0 will have a set amount of connected new feeds and categories.

The initial categories for the app will be

  • Tech
  • Business
  • Sports
  • Politics

The tech

The application is mostly built with the ionic framework. It is a useful tool for building mobile web applications with HTML, CSS, and JavaScript. I highly recommend if you are trying to build hybrid applications.

I also have to write a RSS parser in the app. I found a library that does most of the hard work for me. However, there is still some kinks I need to work out.

Most of the tech for this project was built out 2 months back for a tutorial I created. I am repurposing that code and publishing it.

The main issue right now is the exerpts creation. A user should not be able to view the entire article within the app. Instead, they should only be able to view an shortened version.

I will write more regarding this project as it progresses. That’s all I have for now.

Read More

Updated Website

Hey everyone. I’ve been focused on school and work related matters recently, so I haven’t had much time to work on the blog. Before I was about to start blogging, I realized I needed to make some changes to the website.

The main feature that I added to the website was a work page. I listed links to my Github, LinkedIn, and Product Hunt page. In addition, I also wrote an excerpt for notable projects that I have worked and am currently working on.

Next Steps

The next features that will be added to the website will be a category and archive page.

The category page is for organizing my several blog posts and content more effectively.

The archive page is needed because I still have quite a bit of blog posts from Medium that I need to move over.

Well that’s it for today’s developments. If you enjoy my work/writing please be sure to share or comment below. You can also contact me directly at

Read More


Welcome to the Blog

Hey. This is Michael. After several restless weeks of not blogging, I’ve decided to quit Medium. Instead, I will be blogging on my website mechasparrow

I feel that by blogging on my own website, I will have greater control of what I write about and the content I produce.


I will continue writing DevLogs. Expect those to be published weekly on Thursdays. New projects include an RSS Feed Reader, Cryptocurrent/blockchain, and a game! I can’t wait to talk about it these projects.

Poems and Creative endeavors

A couple months back, I experimented with alternative genres of writing. These mainly included poems and philosophical pieces. I will continue writing these type of posts as well.

Livestreaming and YouTube videos

I plan on creating course material and other types of content on platforms such as Youtube, and . I will post written post versions of these videos and courses.

I hope you guys enjoyed this blog post. If you did, please be sure to share, like, etc

Read More

Back to Top ↑