menu

Jamie Keomanivong design. develop. think.

Who I am and What I Do

Hi, my name is Jamie Keomanivong. I'm currently the Director of Web Development at Happy Medium which is located in Des Moines IA. I have a BA in Graphic Design as well as over years of combined experience working with over a dozen programming languages and frameworks.

Although I'm a designer, I'm a programmer at heart. What I enjoy most about programming is being presented with problems, writing scripts to solve those problems and then sharing them with my team. I seem to thrive off of digitally building and fixing. There's also an interesting sense of accomplishment in being able to out logic the world.

Non Professionally I love to do photography, write/record music and cook. Before you go please take time to check out the sections below to learn a little more about who I am and what I do.

Some Personal Projects

Photography

One thing I love about photography is when you leave with your camera you never know what you'll bring home. Not only that, but you get to capture exact moments in time that you'll never see again. You get one shot, and that's what makes it all the sweeter. And on top of that, just like in music, you get to share pieces of you life. You can show others the world through your eyes. Enjoy!

Filters (Powered by sFilter)

Select/de-select items to show/hide different photo types.

Show All

Hide All

Animals

People

Scenery

Other

Cookbook

This cookbook contains recipes that my friends, family and myself have learned over the years. They either come from within the family or were inspired by various sources. All of the recipes you see here have been made, photographed and eaten by me. I'm continuously adding to the list so if you have any ideas feel free to let me know. I'll try to get it made and added.

Music

The music below is a small collection that I've written and recoreded over the past several years. The lead vocals and rhythm guitar were recoreded in 1 take. Then, I added some harmony and backup guitar on a few. Take Me Home is the first song that I wrote, and that was back around 2009. It's my vocals, rythm guitar and is accompanied by digital instruments that I put together.

Now, I have no musical background or formal training so you'll have to excuse my pitchiness or lack of rythm at times. That aside, it was a lot of fun to be able to not only write music, but be able to play it, sing it and bring it to life. Go ahead an give it a listen.

Lyrics

Take Me Home

Looking back at my life I'm wonderin why
All the roads that I pave always fall
Through the cracks in the sand that makes up the time
That we waste sitting around this place that

We call our home because we don't know
Who to blame when things go bad
We're always blamin someone else
Or this or that as a matter of fact

Please take me home
Because the shadows in this place are so cold
I wanna go home

They're throwing memories and
They took my keys to
The plane that'll take me
Higher than the trees

Of the forest that I lost myself into the sea of my memories
I'll dive an swim oh so deep until my brain pops and
My mind is free to stop and look at all the things
That I have in life that are oh so sweet

Please take me home
Because the shadows in this place are so cold
I wanna go home

Now I'm stuck here never to be free
Of my mind my life my hopes my dreams
And if you want to go with me
You'll have to bring your mind and everything

You see is real pulled out of a hat
And the man that's holdin it's faded black
Mow you'll never know the truth you see
It'll beat you up and set you free

Lets go home

Drifting

You are going nowhere
And I will say goodbye
Today is almost over
And you just sit and cry

You don't know where you're goin
Because your secret place has been found

You are drifting so far away from here
I can see all of the lies in your tears

The fumes might hold you over
Their lies just get you by

And now that the day is over
You can dream of a better life

You are drifting so far away from here
I can see all of the lies in your tears

Please go on
To a better place
And when you find yourself
Is when I'll see your face

Dry Your Tears

It's been so long
Since I've
Seen your smilin face
Your arms around me
Are all I'll ever need

So lets take out time
As we travel along this ride
Cause you're mine
And there aint nothin
That could ever change my mind

Oh girl please just dry your tears
You know that I
Will always be right here
To help wash away those years
And there's no reason to fear
Where we are headin' here
ooooo ooo ooooooo ooooooo

As we wait for the day
When our hearts will be back in their rightful place
Just hold onto the star
That you wish on when you think of my face
Close your eyes and just imagine
That you'll be in my arms tonight

Oh girl please just dry your tears
You know that I
Will always be right here
To help wash away those years
And there's no reason to fear
Where we are headin' here
ooooo ooo ooooooo ooooooo

All the summer days and the beautiful breeze
Crossin over the water on all them broke down trees
Yeah you saved my life you showed me beautiful things
That I pushed away because I didn't believe

We'd run through the town checkin out the acts and the sounds
There was nothing in this world that could hold us down
And if my demons come back and try to take me down
I have you in my life to make sure that I don't drown

Poor Old Man

He's walking down the street wondering and stumbling
He's lost himself to the demons in the bottle and
He's walking down the street and wonders why he gave it up
When he tries to smile that feeling just slips away

He's lyin' on the ground and his life is passing him by
He tries to hold on to the life the love the memories
That he's found because that's what keeps him holding on
When he finally stands he just turns around and walks away

He didn't seem to learn his lesson while he lied there all alone
Won't be surprised when there's no one there when he gets home
So he picks it up and puts it down the room is spinning all around
It helps him fall asleep so he can dream of the love that he needs

Poor old man

Now he's drowning in his sorrow and it hurts so bad
He sits and thinks about all that he had
So he sits in his chair and he puts on a frown
And that feeling comes back you see
So he pours another round and he puts em all down
So the lights go out and he's free

Now his life is ending and he's drifting away
While he lies there in the bed the lights begin to fade
They began to cry as they watch him close his mind
He tried to show them love but his body just had enough

Now he seemed to learn his lesson while he lied there in the end
All he ever needed was some love and support from his friends

Poor old man

Now his life has ended and it's oh so sad
But there's a lesson to be learned you se
One day you realize what you really need in life
Just hope you're alive and free
Cause if you take too long and you do it all wrong
The end is where it'll be

Sometimes

Sometimes, sometimes you just gotta try
Sometimes, sometimes you just gotta cry
You don't think I see
All of those things

That are breaking your heart
They're breaking your mind
You know that sometimes
You just gotta try

To let the world go
Back to the start
And give it your best
Not to fall apart

Because if tomorrow
The world doesn't start
I know that you didn't
Bring yourself this far...

To lay your heart down on the ground
And try to walk away without making a sound
You're gonna look right up into my eyes
You’re gonna pick yourself up and give this a try

Sometimes, sometimes you just gotta try
Sometimes, sometimes you just gotta cry
You don't think I see
All of those things

That are breaking your heart
They're breaking your mind
You know that sometimes
You just gotta try

To let the world go
Back to the start
And give it your best
Not to fall apart

Because if tomorrow
The world doesn't start
I know that you didn't
Bring yourself this far...

No I’m not gonna let you lay down your heart
You know that I'm not gonna let you fall apart

Because, one day you'll see!
That no matter how hard these things may seem
There will always be
Those moments worth living through tragedy

So oh oh oh please
Don't you give up on this life and you'll see
That one day you'll be
On top of the world living out your dreams

Down By The Water

He's sitting down by the water
Thinkin' bout his sons and daughters
You know this water makes it all fly by
Oh how this water's never looked to high

And if there's one thing that he needs to learn
It's that these people they have no concern
For all the problems and the bridges you've burned
Man, makes your problems feel like the worst

And as he watches the world through his eyes
All these people are quick to pass by
With all the anger and shame that he hides
He'll walk alone down by the water tonight

He counts the change in his pocket
He tries so hard not to drop it
He says this life aint as bad as it seems
You know this change could be used to break free

From all of these things that hold you down
From all of those things that you talk about
From all of this pain an misery
You gotta hold on, just wait and see

You gotta hold on
You've got to hold on
You gotta hold on
You've got to hold on

And as he watches the world through his eyes
All these people are quick to pass by
With all the anger and shame that he hides
He'll sleep alone down by the water tonight

She'll Be Gone

He's got so many problems and no good you see
Throws her around like baby I'm so sorry my
Life's been so bad I have my reason to be
A lonely pathetic fool
And nobody seems to want me

She buys his excuses for nothin' at all
Ahe's pretty but a fool to fall for his call she
Thinks he's a man that lovers her she's wrong
He's an insecure exuse for
A man that doesn't lover her at all

No not at all

I hope one day she sees what his love really means
She shouldn't have to live based on his needs it's
People like him that make it so hard to be
Anything worth a damn
He'll spend his time making her think

That she is weak
Why can’t she see

She’s gotta see
That she’s not weak
Because he thinks
She’ll never leave

He’s wrong
She’ll be gone
When he calls
She’ll be gone gone gone

Leave Your Reasons

They say that if you move to slow you will never survive
You gotta play it safe or be swallowed by time
He said don't believe in all those cynical freaks
He's gonna see the world as he wants it to be
Now he aint back in down as he stand so proud
He only hopes they understand, the words the leave his mouth

He said you gotta run jump take a chance and fall
With your reasons left behind
You gotta get back up and climb to the top
To find your reasons have gone and died
Without your reasons you see there's room to breath
And take your chances as they pass you by
You gotta live your life without woryin about time
And not believin those contemptuous minds
Just remember to always try
To leave your reasons behind

They said boy you must be crazy must be out of your mind
You best run from here and hide
Go on and do what you need but when your plans don't succeed
Your gonna wish you had took our advice

You're still young you see and one day when you need
Help we're gonna kick you aside
You won't know what to do and will feel like a fool
when you realize you've wasted your time

He said you don't know me at all
You just sit back and laugh as I try not to fall
And your just stepping on dreams
And you smile as they crawl
Because you know that your life aint worth nothin at all
So now just sit back and listen as I talk
Because these next few words are gonna get me to the top

I'm gonna run jump take a chance and fall
With my reasons left behind
I'm gonna get back up and climb to the top
To find my reasons have gone and died
Without my reasons you see there's room to breath
And take my chances as they pass me by
I'm gonna live my life without worryin about time
And not believin your contemptuous minds

And I'll remember to always try
To leave my reasons be hind
So just remember to always try
To leave you reasons behind

Contact Me Thank you for Stopping By!

You can contact me by email at [email protected]

Cheesy Beef Dip

Ingredients

  • 1 Package of Yeves Ground Veggie Beef or 1/2 lb of Lean Ground Beef
  • Shredded colby Jack Cheese
  • Franks Red Hot Buffalo Sauce
  • Diced Green Chilies
  • Ragu Cheese Sauce
  • 1 Jar of Mild Salsa
  • 1 Pack of Burrito Seasoning
  • 1 Small Container of Sour Cream or French Onion Dip
  • 1 Cup of Milk

Instructions

Begin by cooking or heating up your beef (depending on whether or not it's vegetarian) and when close to ready mix in your burrito seasoning.

Next heat up your milk, Ragu cheese sauce and shredded cheddar cheese in a large pot. Once the shredded cheese is melted add in your salsa, diced green chilies, Granks Red Hot (at least 1/4 cup) and ground beef. Mix well and remove from heat. After letting your dip sit and cool off slightly mix in your sour cream/french onion dip.

Enjoy.

Catfish Soup

Ingredients

  • Catfish
  • Bok Choy
  • Cherry Tomatoes
  • Fish Sauce
  • Lemon Grass

Instructions

Begin by boiling your water and lemongrass. Once boiling add in your catfish, fish sauce and cherry tomatoes. Once the catfish is almost cooked add in your bok choy. You want it to still have a slight firmness to it. Then you're ready to eat.

Fried Noodles

Ingredients

  • 1 lb Boneless, Skinless Chicken Breast, Pork or Beef
  • 1/2 Pack Bahn Pho Sai Gon Rice Noodles
  • 2 Tbsp. Olive Oil
  • 1/4 Cups Sugar
  • 1/4 Cups Soy Sauce
  • 1/4 Tsp. Accent
  • 4 Large or 6 Small Cloves Fresh Garlic, Finely Chopped
  • 6 Medium Cherry Tomatoes, Quartered
  • 2 Bunches Green Onion, Finely Chopped
  • Small Bunch of Cilantro, Chopped
  • 1/8 Cups Crushed Peanuts
  • 1-4 Thay Chilies (optional)
  • 1 Cucumber, Sliced

Instructions

Soak rice noodles for 2-4 hours. Slice meat into thin strips and cut into halves or thirds. Mix together the chopped green onion and chopped cilantro.

Heat a large pot or wok over medium-high heat. Once hot, add olive oil. When the oil is hot (it will become somewhat runny) add your garlic and cherry tomatoes; stir. Once the garlic begins to lightly brown add the meat and stir-fry. When the meat is close to done add the soy sauce, sugar and accent. Cook until meat is just cooked through. Add your rice noodles and stir constantly until they begin to soften (Noodles should not be stiff, or cook so long that they being to fall apart.) Noodles should lightly stick together. Once the noodles are done remove from heat; continue to stir. After the noodles cool down slightly, mix in the green onion, cilantro and peanuts. Serve with a side of cucumber slices. Optional: Once plated, sprinkle with additional green onion, cilantro, peanuts and sliced Thai chilies as a garnish.

Sweet Gizzards

Ingredients

  • Chicken Gizzards
  • Oyster Sauce
  • Sugar
  • Fresh Garlic
  • Green Onion
  • Cilantro
  • Soy Sauce
  • Rice Stick Noodles
  • Thai Chili Peppers
  • Olive Oil
  • Cherry Tomatoes

Instructions

You can begin by heating up a pan. Once it's hot you can put in your olive oil, garlic, cherry tomatoes and gizzards. As your gizzards cook you can chop your green onion and cilantro, but keep an eye on the gizzards so that they don't stick. When your gizzards are partially cooked add in your soy sauce, sugar and oyster sauce. At this point you can being boiling your rice stick noodles. Once the noodles and gizzards are done you can dish up, sprinkle some green onion/cilantro on top, and add sliced Thai chili peppers is desired.

Hot Papaya Noodles

Ingredients

  • Firm Tofu or Pork
  • Chopped Papaya (green and yellow papaya)
  • Cherry Tomatoes
  • Fresh Garlic
  • Fish Sauce
  • Lime Juice
  • Habanero or Thai Chili Peppers
  • Soy Sauce
  • Sugar
  • Accent
  • Rice Stick Noodles
  • Mortar and Pestle
  • Olive Oil

Instructions

If using tofu, start by lightly pressing out as much water as you can. Cut your pork/tofu into slices or cubes and marinate in a soy sauce/sugar mixture. Set aside.

As your meat marinates begin chopping your garlic, cherry tomato and Thai Chilies. You'll also need to skin and chop your papaya into shreds. It's okay if some pieces are thicker than others. Add your garlic into your mortar and being gently smashing it with your pestle. Once the garlic is smashed add in your cherry tomatoes and repeat the process. Next add your peppers and smash. You should now have a thick chunky mess. Add in your fish sauce, lime juice and stir. Mix in your papaya and gently use your pestle and spoon to mix and smash it all together. Now your sauce is complete.

Begin heating up your olive oil and add in some chopped garlic. Shortly thereafter add in your tofu or pork and fry until golden brown/done. The tofu should have the consistency of a fried egg. When your tofu/pork is almost complete being boiling your rice stick noodles.

Dish up your noodles, lay your fried tofu/pork on top and finish by covering with papaya sauce.

Tofu & String Beans

Ingredients

  • Firm Tofu
  • String Beans
  • Soy Sauce
  • Sugar
  • Sesame Oil
  • Sesame Seeds
  • Quartered Cherry Tomatoes
  • Fresh Chopped Garlic
  • White Rice
  • Olive Oil

Instructions

Begin by gently pressing out as much water as you can from the tofu and then cube. Begin boiling your rice. Start heating up your olive and sesame oil. Once hot add in your chopped garlic and cherry tomatoes. When the tomatoes cook down add in your tofu cubes, soy sauce and sugar until your tofu is almost cooked. At that point add in your string beans. When the tofu is cooked and the string beans are hot, sprinkle some sesame seed on top mix in with a bowl of rice and enjoy.

Fancy Noodles

Ingredients

  • Rice Noodles
  • Sugar
  • Soy Sauce
  • Accent
  • Garlic Oil
  • Green Onion
  • Cilantro
  • Fresh Basil Leaves
  • Pork Steak or Beef
  • Fresh Lime Juice
  • 2 Chicken Bouillon Cubes (or any other chicken flavored soup seasoning)
  • Thai Chili Peppers
  • Crushed Peanuts
  • Annus Starseed

Instructions

Soak your rice noodles for a couple hours.

You'll begin by creating garlic oil. You'll want to chop your garlic and start heating up a small pot of vegetable oil. When the oil is hot put in all of your garlic and fry it until very light brown. Once it's lightly browned immediately remove from heat. The garlic will begin to darken until it's a nice golden brown. If you over cook it the entire batch will be ruined. Once cool, place into tupperware and it can be used in various other dishes.

Next, chop up your green onion, cilantro and thai chilies. You can go ahead and mix them together in your bowl. Once mixed drizzle in some garlic oil and let sit. Now you can begin boiling your water, chicken, bouillon cubes, soy sauce, sugar, accent, basil leaves and annus starseed (if using actual seed you'll want about 2 stars. If powder you'll want around 1/4 teaspoon). When your chicken is cooked add in your soaked rice noodles and boil until they're slightly firm. Pour into your bowl over the greens, peppers and oil. Add in your lime juice and crushed peanuts and be amazed.

Chili

Ingredients

  • Chili Beans
  • Shredded Cheddar Cheese
  • French Onion Dip or Sour Cream
  • Chili Peppers
  • Crushed Tomatoes
  • Tomato Paste
  • Yeves Ground Veggie Beef or Lean Ground Beef
  • Chili Powder
  • Water
  • Dark Red Kidney Beans
  • Oyster Crackers
  • Garlic Powder

Instructions

Start by boiling your water. Add in your tomato paste, crushed tomatoes, chili beans, kidney beans and ground beef. At this point it's going to be very tomatoey so you'll want to add in garlic and chili powder to taste. Once it's tasting good add in your chili peppers and some shredded cheddar cheese. You're done! In your bowl sprinkle your chili with additional cheddar cheese and add a dollop of french onion dip or sour cream. Add crackers as desired.

Baked Burrito

Ingredients

  • 1 - Package of Yeves Ground Veggie Beef or Lean Ground Beef
  • 1 - Pack of Old Elpaso Burrito Seasoning
  • 1 - 4.5oz Can of Old Elpaso Diced Green Chilies
  • Flour Tortillas
  • Dark Red Kidney Beans
  • Shredded Cheddar Cheese
  • Shredded Lettuce
  • Medium or Hot Taco Sauce
  • Cilantro
  • Sour Cream

Instructions

Begin by frying your meat. When it's almost done stir in your burrito seasoning. Once it's mixed well, add in some shredded cheddar cheese until it's nice and melted. Lastly, mix in your dark red kidney beans. You're now ready to build your burritos.

Go ahead and begin wrapping up burritos and placing them inside of a baking pan next to one another. Try to put them as close as possible. Then sprinkle more cheddar cheese on top and put it in the oven. You can set the oven to whatever temp you'd like since you're really just heating up the shells. Once the burritos are golden brown take them out and dish them up. Add some taco sauce, a dollop of sour cream, a little cilantro and you're ready to eat.

Spaghetti Squash

Ingredients

  • Fresh Mushrooms
  • Pasta Sauce
  • Winter Squash (Spaghetti Squash)
  • Green Bell Peppers
  • Ground Pork
  • Fresh Garlic

Instructions

You'll want to start by browning your pork and adding in your diced garlic. Then begin warming up your pasta sauce. You can slice up and add in your bell peppers and mushrooms and add them in as it heats up. Once both your pasta sauce and pork are done you'll want to mix them together.

Now you can cook your spaghetti squash. Start by using a large knife to poke holes in it on two sides from top to bottom. For example, if you lay it on its side you would want to make one dashed line of holes from the top to the bottom, flip it over and repeat. Place it in the microwave for around 5-8 minutes or until it begins to feel somewhat soft. It may take more or less time depending on the squash. When it's done you can cut along your dashed line to create two halves. I always scoop out the seeds and center content with a spoon. Once it's cleaned you can use a fork to start poking at the squash (work from the center to the edge) all the way around and it will begin falling apart in the shape of spaghetti. Once it's all separated place it into a strainer and lightly press it to release any excess water. Put some in a bowl or on a plate and mix in your sauce. (Be careful, sometimes the squash can have excess water and can make your sauce a little runny)

Gelatine Fruit Slices

Ingredients

  • 1 Pack of Orange, Lemon and Lime Jello
  • 2 Oranges
  • 2 Lemons
  • 2 Limes

Instructions

Start by cutting your fruit in half and scooping out the insides. You can also slice off a small piece on the bottom of each half so that it sits on a flat surface evenly. This is to prevent your gelatine from spilling out. Once all of your fruit is ready to go you can begin making your gelatine. As each flavor finishes go ahead and pour it into your fruit halves and place in the fridge. One all gelatine is cooled and ready to eat you can slice your fruit into wedges and the gelatine should hold its shape.

High Kick, Low Kick, Punch

The Inspiration

High Kick, Low Kick, Punch (or Kick, Kick, Punch) is a spin off of traditional Rock Paper Scissors. It's played the same, but with the additon of being able to use combinations. One day I had the thought, "I wish I had a fun way to settle disputes with friends...", and within the next 48 hours High Kick, Low Kick, Punch was born.

You're welcome to try it out or view the full script.

The Fighters

I chose Muay Thai Mark and Kung Fu Kirk as the playable characters. I didn't really dive into character development because they consist of animated gifs. Instead of controlling the actual motion of the characters you simply select your moves and they're executed. Going the GIF rout proved to be difficult becuase I not only had to make sure that all animations were the same length, but they all had to be within a certain bounding box to ensure that the fighters appeared to interact.

The Guts

I decided that I didn't just want to make another rock paper scissors game so I added life bars, combos, stamina and dodging. This adds a little more competitiveness by allowing you to actually fight your opponent. Of course, it also introduced an enormous amount of complexity to the logic. It was difficult because I needed to make sure that the animations executed at the same time, stamina and life was tracked and that each player was able to enter combinations. I also added the ability to play against a computer opponent.

After countless hours of writing pseudocode, running through logic and wearing out the keys on my keyboard the high kick, low kick, punch engine was complete.