How we dogfood the Alpas web framework
Tags: development, kotlin, webdev, webframework
Published: 2020-03-17 14:39:45

---
title: How we dogfood the Alpas web framework
published: true
date: 2020-03-16 20:35:02 UTC
tags: development,kotlin,web-development,web-framework
canonical_url: 
---

![](https://cdn-images-1.medium.com/max/1024/0*fq0b4ugFFPgCAb-P)<figcaption>Photo by <a href="https://unsplash.com/@jamie452?utm_source=medium&amp;utm_medium=referral">Jamie Street</a> on <a href="https://unsplash.com?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption>

The practice of [dogfooding](https://deviq.com/dogfooding/) provides an added layer of acceptance testing prior to releasing software out to the broader audience. The core concept behind dogfooding is — if you wouldn’t eat it, why would you expect your dog to?

In the case of [Alpas](https://alpas.dev), if we wouldn’t use the web framework, then why would we expect others to use it?

We are currently on our [journey towards getting to version 1.0 of Alpas](https://github.com/alpas/alpas/issues/6) and along that journey, we are constantly using Alpas to create and advance real-world web applications. We do this to experience for ourselves how it feels to create an app using Alpas and to give us insights into what can be improved and what new features would make using Alpas even more delightful.

**Here are a couple real-world apps we are working on and how they have contributed, so far, to making Alpas more powerful and more productive.**

#### [That App Show](https://thatappshow.com)

We built That App Show with the intent to see if there is a desire to fill a void in the independent hacker space, which is to build a community around giving and receiving website/app feedback for products that are pre product-market fit.

As That App Show is a community-based website, this brings up many complexities and puts the Alpas framework to the test.

**Working on That App Show has brought many improvements to Alpas:**

- [Glaze](https://github.com/alpas/glaze) — a module that allows you to access Alpas named routes inside your Javascript
- [Notary](https://github.com/alpas/notary) — social authentication for your website; currently supporting Twitter and Google social authentication
- [Pantry](https://github.com/alpas/pantry) — upload and store files
- A multitude of new methods to cut down on lines of code — `intended()` , `previousUrl()` , `inRandomOrder()` , and many more
- Caught some sneaky bugs and squashed them 🦶🐞

#### [Cleaver](https://getcleaver.com/)

Cleaver is a tool to provision servers and deploy applications and is currently available as a desktop app. As we are building out the Cleaver cloud application, we are again putting Alpas to the test and in fundamentally different ways than That App Show.

**Working on Cleaver has brought the following improvements to Alpas:**

- Compatibility with MySQL 8.0
- ‘Remember Me’ functionality so you don’t have to log in every time
- Coroutines to increase performance and leverage some key Kotlin features
- Even more bug squashin’
- And so much more — seriously, [click here to see what you get out of dogfooding ](https://github.com/alpas/alpas/compare/next)— and that is only the beginning!

One of our main takeaways so far while dogfooding Alpas and using it for real-world apps is how much we love using Alpas. And… even though we are not yet to version 1.0, how great it is to use, how impressed we are with Kotlin, and how excited we are for the future of Alpas. 🚀

Have you created an app using Alpas? We would love to hear about it! Mention it to our [twitter account](https://twitter.com/alpasdev); or, better yet, request your app to be added to the list of example and real-world apps on the [Alpas Resources](https://github.com/alpas/resources) page.

* * *