Projects Daniel Jonce Evans Projects Daniel Jonce Evans

PWAH

“Dad, I want to make a game on your phone!” my 9 year old exclaimed with that special childhood excitement that only springs forth from the well of authenticity not yet drained dry by taxes and “grown up” life. We talked about his concept, it would be a fish game where you get bigger as you eat smaller fish. We went to a public large language model (A.I.) and asked it to generate the code for his idea as a “mobile friendly web game.”

After just just a few clarifications and requests for bug fixes, we had a brand new, custom, game, just for us.

Ok… it’s working, but now how do I run this code on my phone?

Hosting our new game publicly or trying to publish it through an app store would take longer than making it.

Wouldn’t it be great if we could just… pwah! Put the app on the phone?

That’s when I had the idea for pwah.io.

How to Make a PWAH App

  • Write some code or use your favorite LLM to create your idea as a “single page web app” that’s “mobile friendly” and copy the code.

  • In your mobile device’s browser type in “your-app.pwah.io” (where “your-app” is any name that’s url friendly for your app) and visit the address.*

  • From there, add PWAH to your phone’s home screen and close your browser.

  • Open your newly created PWAH app from your device’s home screen.

  • Paste your code in the appropriate place and hit “Launch App” to start your custom app.

* Note: This doesn’t make your app public or reserve this url for you, this just gives you something called an “origin” on your device that’s unique to this app to keep it’s data seperate from other apps you may make, someone else could use the same URL origin for their app on their device.

How to Share a PWAH App

To make an app that’s sharable takes an extra step. You’ll need to have a GitHub account and create a GitHub gist. Once you’re satisfied with your app, paste your single page of HTML code into a GitHub gist and use the “share” feature for the gist to get the shareable gist url for your gist containing your app code. Your code is now hosted on GitHub and can be used in pwah.io and shared with other people.

First, get the share link from the GitHub Gist.

Then, use PWAH to get a shareable link:

  • In your mobile device’s browser type in “any-app-name.pwah.io”

  • Add that PWAH page to your phone’s home screen and close your browser.

  • Open your newly created PWAH app from your device’s home screen.

  • Paste your Gist’s URL and click “Share App” to copy a shareable pwah.io link.

OR Use this little utility.

Example Sharable Apps

Fish Frenzy

This is the app my 9 year old and I were working on when I had the idea for pwah.io.


Done List

Created with Claude 3.7 in a single paragraph of text explaining what I wanted.


Orange Juice

My 7 year old currently loves using “orange juice” as the punchline to any joke, so I made this one with her help.


Cosmic Runner

Space themed infinite runner. I made this as a proof of concept 3d app using an external Three.js script reference for the 3d features.


Flappy Square

Frustratingly hard knockoff of the famous bird version. Created with Claude 3.7 as I waited for my dinner at a restaurant after coincidentally bumping into my friend Wil who suggested it.


Gritty Details

PWAH is mostly vibe coded, mostly tested on my personal iOS device, and is open source (MIT License). For security reasons, I’ve intentionally made it without any backend or database. In other words, it’s a static site. It’s essentially a generic PWA wrapper for people’s custom code. There’s pros and cons to the way I’m handling things, if you want to know more or review the code, check out the github project. One big con to my current method is that you can’t make a custom app icon for your app. I have some thoughts on how to provide this feature but it will take some more time, require a backend, and I want to make sure it’s reasonably secure before launching anything like that publicly.

Read More
Prose Daniel Jonce Evans Prose Daniel Jonce Evans

What I Called Grief

As the specter in the dark, the unknown enemy, the imagined experience, the future nightmare, what I called grief wasn't grief.

As the tinge of pain seeping in after a swift gash, nerves remembering to feel, the first sharp shocks of any touch too close to a severing, what I called grief wasn't grief.

As the desperate pleading, the magical thinking, as the return from dissociation, thoughts flirting with despair, justified anger, reasonable hate, what I called grief was grief. But it was young.

As the whisper of connection, a notice of absence, a reminder of good, a reflection, as shared truth with humanity, as a solemn friend who needs no words to remind me that I survived pain, that my tears are always welcome, what I called grief today was companion.

In memory of Rachel.

Read More
Prose Daniel Jonce Evans Prose Daniel Jonce Evans

Yet Another God

I’ve encountered many gods invented by human imagination. Gods whose actions mirror their followers’s beliefs. Those with an existence relying on a curated set of Bible verses.

When pressed about my belief in God, the best answer I have is “I don’t know.”

The phrases “I know” or “I don’t know” are sneaky because “know” is another way to say “feel certain.”

As someone who is yet unsure of cosmic absolutes, I can still know with certainty that I don’t believe in Zeus, Baal, or Shiva.

Certainty is a feeling. I’m quite certain that most gods I’ve heard of don’t exist.

I encountered yet another god last week.

He is a god that requires evil for good to exist.
He is a god of correct belief and tight arguments.
He is a god that invented suffering to have authentic relationships.
He is a god that paradoxically requires human freedom of choice and human submission.
He is a god that punishes mistakes.
He is a god of emotional baggage.
He is a god of trauma.
He is a god that celebrates your moral compass if it condemns you.
He is a god that forbids your moral compass if it condemns your pastor.
He is a god that causes suffering of others to prove his point.
He is a god that requires human sacrifice.
He is a god that insists on “He/Him” while his followers mock the use of pronouns in bios.
He is a god of gaslighting and double thinking.
He is a god that gives us choices that aren’t choices.
He is a god of patriarchy and controlling women’s bodies.
He is a god that bans books and keeps secrets.
He is a god of guns and fear.
He is a god of abuse.

He is a god espoused by individuals and invented by a collective. He is a god of the system. He is a god with the moral relativism of a dictator.

If he wills something, no matter how much suffering it causes, his subjects must call it good.

He is the god of my youth.

Consider for a moment this god that damns the majority to eternal torture while also blaming them for it.

A god who invented punishment and presides over horrors he could stop at any time.

If we look at his work through the lens of self evident morality, his essence becomes clear.

He is a god of everlasting pain.
He is a god of eternal death.
He is a god of unlimited hell.

This god is peculiar because in exchange for his toxic, self centered, jealous, moral relativism, the highest benefit he offers his followers is a feeling of certainty.

Once I understood that certainty is a feeling this god no longer had an advantage.

If this is the god I’m asked to weigh in on, then I’m certain about him.

He is yet another god in which I don’t believe.

Why?

I spent last week in my home state because my mom is dying. Watching someone fade away slowly and in pain is a horrendous experience of suffering.

But it’s not the horror of my mom’s process of death that gives me certainty about this specific god.

It’s the problem of good.

If the god of hell existed there wouldn’t be good people. Good people like my mom.

People that include those excluded.
People that hurt with those that hurt.
People love others more than their own god is capable of.

For the god of hell to exist as a force of good, most people must be, at their core, evil.

But that’s not reality.

We live in a reality where a minority of bad actors and natural events cause the majority of suffering.
We live in a world that, in the context of centuries, is trending towards longer life and health.
We live in a reality of complexity and nuance, one without easy answers to most big questions.
We live in a world where people of varying beliefs can agree to do good together.

It is true that evils like war and famine still exist. It is also true that over the most recent dozens of decades smaller percentages of people have died in war and we’re getting better at producing food.

Growing up, I felt I had unique, profound, insight into world events because I knew the apocalypse was near. I had hope because my god would return soon so we could all go to my heaven.

But now I know how common that thought is across belief systems. The idea that we’re close to the end is as bland as it is ubiquitous.

The thought that now fills me with hope is that we humans are at the beginning of our story.

When we look at our paths in the context of millennia, as a human race, we are making progress towards better lives, better health, better understanding of each other, and less suffering.

The human experience is expanding to include accomplishments that two centuries ago seemed impossible.

If the god of hell existed there wouldn’t be families that still love each other even though we believe different things. There wouldn’t be good people in “other” religions.

There wouldn’t be a morality written on our hearts.

If the fragile, petulant, god of hell, the one sold with plastic smiles and apologetics, was the one true God, we wouldn’t have this much good in our lives.

We would be forced to live in fear of not being right.

Fear of making mistakes.
Fear of punishment.
Fear of anger.
Fear of god.

Fear that, if the ones we love don’t believe the correct things or make the right choices, they will be tortured for eternity.

I choose to live in hope. Hope for more than just myself. Hope for people who believe differently than me. This type of hope is incompatible with the god of my modern evangelical Christianity.

If God exists, they are a God of hope.
If God exists, they are a God of grace.
If God exists they are a God of love.

If there is such a thing as a quantifiable one true God that exists they are a God that has written morality on the heart of humanity.

I don’t know the answers to the ultimate questions, I don’t know which heaven is real, I can’t solve the unlimited string of whys that exist in times of pain, but I know this.

Good is real and the god of my childhood is yet another god that doesn’t exist.

In memory of my mother Norma (March 30, 1941 - March 13, 2023)

Read More
Prose Daniel Jonce Evans Prose Daniel Jonce Evans

Stability

sky.JPG

What fanciful lives we live pretending to secure ourselves on the earth. We buy, clamor, argue our way onto foundations. We’re trained by example and presentation about our corners of truth, our pyramids of answers, our straight placements. Our skills for pointing bricks to build stable solace are wasted. We exist in an ocean. Our rigid structures fail when our illusion of stability breaks from waves whipped by squalls. The designs of placidity created for children are disturbed. Bricks sink. To thrive we must float. On waves we must balance. To progress we must navigate. Once we’re buoyant the depths of our engulfing seas matter less. We can stare into the deep mystery without fear. We are one yet separate. We grieve the loss of those that go before us back to the unknown and we continue on our ever changing courses. If we expect to rest in towers our imaginary lives will never be. If we accept the truth of who we are and where we exist in this beautiful, terrible expanse, we may yet learn to love and be alive.

Read More
Prose Daniel Jonce Evans Prose Daniel Jonce Evans

Shadow

Grief is a shadow, appearing suddenly in certain light, flickering here and there as you move through life, dancing between others of its kind and, depending on where you look, cast either in front or behind. But it’s odd, this shadow, because of its weight.

Read More
Prose Daniel Jonce Evans Prose Daniel Jonce Evans

Imaginary Future

IMG_0539.jpg

Three years ago we needed to clear brush and saplings from behind our house to make room for a new septic system. It’s not an elegant sounding thing, a septic system. But our elegance is greatly reduced without a way to deal with shit. Elegance saved is elegance gained so perhaps a septic system is an elegant thing after all.

The field lines for the system weaved back and forth, trenched through the dirt, until it arrived at the base of a tulip tree. This tree towered over the surrounding earth, demanding its right to exist. Tall, straight, pale trunk, I empathized with it. We kept it. Every day since the brush clearing we had a view of the tulip tree from our kitchen window. Every morning while making coffee it caught a small share of our attention. Every evening while doing dishes, a tiny part of us. We could imagine it years from now. Taller, more branches, more shade, its future stable and expected. It was there long before we’d moved into our home. It would be there long after we moved out.

When I say we, I mean my spouse Rachel and I. We replaced our septic system. We dealt with shit. Our shit. Other people’s shit. We worked together. We had children together. We lived life and imagined our future together. We imagined it as easily as one imagines the future of a tree.

Rachel was pronounced dead on May 4, 2019 at 2:52AM CDT. This morning, May 4, 2020, while making coffee, I discovered I lost our tulip tree in a storm last night. I don’t know exactly what time. For the tree I have no official certificate. No longer tall, it’s now long. Fallen awkwardly, leaning on lesser trees as it slowly dies and finds its way to the earth.

What an odd thing to write about on this, the first anniversary of Rachel’s death. What an insignificant grief I feel for this loss. This tiny drop of a loss compared to the ocean of other losses. How dare I feel this when there are so many bigger things to feel. How dare I give this loss time when others have lost more. It’s an odd thing to write because grief is an odd thing. It tempts me with the sweet smell of solace if only I taste it, yet it’s bitter and berates me with guilt if I indulge. How dare I? Well friends, I dare. Absolutely I dare. I dare to grieve that fucking tree.

That lesser grief changes nothing about other griefs. It steals nothing from others grieving. And to those of us who need it, I hereby give us permission: We may grieve trees.

I can’t imagine a better way to remember Rachel than to remember how much she cared about others. About you. You who lost family. You who lost marriages. You who lost jobs, pets, plants. You who lost community. You who lost an author you never knew. You who lost a friend.

I can’t imagine a better way to remember her than to remember you who give birth. You who continue the work. You who bake bread. You who escape oppression. You who write. You who find love, sign contracts, succeed. You who raise kids. You who care. You who put good things into the world.

Rachel’s dead. I can’t fix it. The greatest gain I’ve found to wring from our collectively drenched grief cloth is to empathize with others who have lost. It’s ok to grieve. It’s ok to stay still. It’s ok to move forward. It’s ok to deal with our shit. Perhaps dealing with shit is more elegant than we realize.

I know what it means to lose a future so I know what I’m about to ask is no small request. I ask it nonetheless. I ask that we allow ourselves the grace to embrace the past, the generosity to share griefs in the present, and the fortitude to invent a new imaginary future.

Read More