ashkan117

ashkan117

I built Alpen Planner - a weekly planner built w/ LiveView

Background

Hey everyone,

I’ve been working on developing a personal planner over the last two years called Alpen. Yes I know another todo app. I’ve used a lot of apps to try and manage planning out my days but I’ve never been able to consistently/productively do so. Alpen was initially motivated by my personal problems but it was also a platform to learn more about Elixir and it’s ecosystem after beginning to use it for work.

In my opinion other apps file short because they are just a big list of things todos. Alpen’s philosophy is that until it actually enters your calendar that todo is in purgatory.

The name originally comes from the A.L.P.E.N method, ultimately it expanded into a few more techniques like time blocking and the Eisenhower Matrix. If you haven’t heard of these no worries. Alpen aims to instill these “best” practices into the app so that planning has more of a flow.

Why Alpen?

  • Planning as we all know is hard. Alpen provides a more opinionated way to plan your day. It takes a little getting used to but after the learning curve, you have a framework and more certainty in the system.

  • Life is chaotic. Alpen tries to make it easy to jot things down quickly and provides mechanisms so that it’s simple to give more of an intention to when you do things rather than creating things and forgetting

  • Giving back. Alpen will ultimately be a subscription model, however I aim to make it an affordable option and I’m hoping by leveraging Elixir and the ecosystem it allows a solo dev to keep cost low so that more people benefit. Furthermore, I’m only able to even create this project due to all the amazing work others have done so I would love to use those earnings in the future to pay something back to the ecosystem

Technology

Speaking of technology these are just a few of the libraries that help Alpen run.

  • Elixir/Phoenix/Liveview (Core)
  • Ash
  • Oban
  • Corex

Roadmap

Alpen is ambitious by nature. It really wants to help create a framework without being an all in one tool. It’s a personal project management! This means that it should be able to co-exist with tools like Linear/Jira. A manager creates your tickets in those tools, Alpen takes those tickets and makes them yours. You break them into pieces so that things are manageable.

Alpen is not a note taking app. It has places where you can write notes but it ultimately aims to work in tandem with more complete note taking apps like Obsidian.

So although Alpen has been my system for the last two years there’s much more I want to do. That’s why I need more people to give it a try offer any feedback they’d like.

Who it’s for

This is primarily at a state for Knowledge Workers, people who work with a laptop for their work day. A mobile app will be added down the line but the focus for the time being is focusing on the core interactions and creating a strong foundation that people find invaluable to help plan their day.

I’m not trying to sell you that Alpen will solve all your problems. Planning is hard and will always be hard. I’m hoping Alpen gives you a little more control throughout your day as well as provide you more tools so that your planning abilities are elevated. It unfortunately is not a silver bullet and it will always feel like we can use a couple more hours at the end of each day.

Please give it a go, there is an existing article that try and highlight some more of the concepts Alpen builds on. I’ll definitely be adding more but I’d love to hear what people think and really build a tool that makes an impact!

Most Liked

derek-zhou

derek-zhou

Can I self host it? I have signed in and tried a few things, however, any more engagement would require me to enter personal data, which I am reluctant to expose. It is billed as a personal project management, so data sovereign is something a potential user would need to consider.

derek-zhou

derek-zhou

I am not worried about you abusing my data to violate my privacy. It is not economical for you to do that (you are not Google). However, I am worried that if I built a life on your platform, then you will pivot, sell the business, or just quit in the future and leave me high and dry. Even if you had data export, I would not have the mean to restore the functionalities.

ashkan117

ashkan117

Hey everyone! A lot has happened since the last update so I wanted to highlight a few things that have been shipping over the past few weeks. Just wanted to highlight that there’s always improvements being made.

Going Mobile

Alpen now works as a PWA which means you can install it on your home screen on iOS or Android. I will try and make a tutorial on this in the future. Being a PWA not let’s us treat the mobile companion a lot more like a native application. A mobile app is a no brainer for a todo application. Although I have been using the iOS shortcut for ages and still continue to use it there are a handful of actions that just need the mobile companion. Namely, categorizing your todos and basic planning capabilities.

If I need to categorize that a todo that was quickly added belongs to a specific domain/project I can now do so. Additionally, if I wanted to schedule a todo for a specific day I can now do that on the go. Alpen wants to make capturing todos as simple as possible. That combined with the different types of tasks you think of while on the go, you just need a mobile app.

You can add it by

  1. Press the share button while visiting alpenplanner.com on a mobile browser
  2. Press the share button
  3. Press add to Home Screen

We get something that’s not quite native but a lot better of an experience than a bookmark

Onboarding

Alpen is opinionated for a reason. Other applications just give you a blank canvas. Alpen tries to give you enough structure to make it easier to be productive. It has a specific way of thinking about your work, and if you don’t understand the building blocks, there is no way you can use it effectively. Alpen is a tool and there is a skill to using it. I’ve had a couple of apps that I used and didn’t like it the first time around but it was moreso me using the application in a way that was not intended. Therefore, I want to make the concepts as clear as possible. If things don’t make sense please feel free to reach out. If things still feel too complicated or not efficient, I am always open to hearing how to make a great system.

The entities (domains, projects, and todos) carry meaning that the rest of the app builds on. The new onboarding wizard walks you through building your own hierarchy from scratch, and now ends with a summary step so you can see the full structure you built before diving in. The goal is that by the time you hit the app for real, the concepts feel more grounded rather than abstract. In my eyes make the concepts intuitive to a new user will be one of the main challenges for me.

Quality of Life

There’s been hundreds of commits since the last post. I’m constantly trying to make the application as simple as possible with as a little friction as possible. So many of these changes have been better connecting existing features or making certain aspects more apparent.

Before

After

Feedback would mean a lot. Particularly if something feels confusing or if something has been adding friction in an unnecessary way. Alpen has a point of view about how planning should work, and I’d love to know where that lands well and where it doesn’t. Thank you to those who have given feedback! The dark mode improvements and the ‘Keep form open’ option are are two examples of improvements that came directly from feedback

Where Next?

Popular in Discussions Top

matthias_toepp
I’d love to hear what people think about Wisp, the new Gleam web framework started by Gleam’s primary creator Louis Pilfold. Gleam, alon...
New
Rustixir
Hi everyone, im working on find best language/framework/system for high concurrency, high performance and stable performance after wor...
New
jeramyRR
This is an interesting article to read. Elixir’s performance, like usual, is excellent. However, it seems like the high CPU usage is co...
New
WildYorkies
It seems that the more I read, the more I find Elixir users speaking about all the ways that Elixir is not good for x, y, and z use cases...
New
nunobernardes99
Hi there Elixir friends :vulcan_salute: In a recent task I was on, I needed to check in two dates which of them is the maximum and which...
New
mbenatti
Following https://github.com/tbrand/which_is_the_fastest |> https://raw.githubusercontent.com/tbrand/which_is_the_fastest/master/imgs...
New
ejpcmac
I have discovered Nix last month and I am currently on my way to migrating to it—both on macOS at home and the full NixOS distrubution at...
New
Qqwy
I would like to spark a discussion about the static access operator: .. For whom does not know: it is used in Elixir to access fields of...
New
AstonJ
Seen any cool LiveView demos, sample apps or examples? Please post them here! :003:
New
Markusxmr
Since Drab has been developed for a while in the open, introducing the Liveview functionality in a way it happend appears to undermine th...
New

Other popular topics Top

mcarvalho
What is the difference between System.get_env and Application.get_env? For example, what are best practices to use one versus another.
New
skosch
To my knowledge, put_in, Map.update etc. all have the one limitation of not automatically creating intermediate keys when needed (for exa...
New
greenz1
I have a phoenix application from which a user can download multiple(5-6) files of size 1MB. I couldn’t find anything related to sending ...
New
jononomo
I am trying to figure out how Mix knows whether the environment is test, dev, or prod – where is this set? Thanks.
New
fireproofsocks
Forgive me if this is obvious, but how does one delete a database record WITHOUT selecting it first? Ecto.Repo — Ecto v3.14.0 has exampl...
New
Lily
In templates/appointment/index.html.eex: <%= for appointment <- @appointments do %> <tr> <td><%= appoi...
New
vegabook
I’m brand new to Phoenix and I have stripped one of the demo applications to the bone. I just want to get an svg up on the screen. Here i...
New
fayddelight
I tried installing elixir 1.11.2 erlang 23.3.4 via asdf in my zsh shell. Enabled the versions locally and globally. When I list them ...
New
dblack
I’ve got an issue with an app and I’ve no idea of how to troubleshoot it. I’m hoping someone here might have seen something similar. I p...
New
WestKeys
Currently suffering from paralysis by [HTTP client] analysis. This is rather unusual in Elixirland as there tends to be consensus on the ...
New

We're in Beta

About us Mission Statement