Metamorphic (Early Access) is using Elixir

Congrats and thanks for mention

2 Likes

Update May 20, 2022

  • Portals under construction :construction: (using WebRTC)
  • Working on site overhaul for new logo :heart_eyes_cat: and colors (including dark mode toggle)
  • Use of Memories and Letters are available in their earliest forms
  • New public benefit parent company, Moss Piglet Corporation (replacing Core Theory)

75% off lifetime discount :tada:

Thank you to everyone who has signed up and checked us out during early access. There is a lot of work ahead to improve performance and iron out bugs (ahem Portals) ā€” not to mention new/enhanced features.

Everyone who signs up for a subscription during this first round of early access will receive a 75% lifetime discount on their subscription. :raised_hands:

This is a long road and journey to getting Metamorphic to where I envision it can be for everyone. Due to things in my personal life, development has been slower than Iā€™d like at the moment, so I appreciate the patience and support.

https://metamorphic.app (old logo and site colors)

Open source
Today, I open-sourced the codebase. This was a big step for me (including psychologically), putting everything out there so people can see whatā€™s happening.

Finished the initial stages of the site wide redesign, (https://metamorphic.app) though still very early days and lots to do. This site wide redesign was with the help of the Petal Pro team, @mplatts, @nhoban, and contributors) which has helped speed it up considerably, thank you.

Freemium pricing
Another big change is that Iā€™m moving Metamorphic to freemium pricing, so anyone will be able to use the service for free at a limited capacity. And then paid accounts will go toward supporting free accounts as well as the rest of the service.

Hang tight
If youā€™re currently in early access, hang tight, things are not yet ready and if you sign in then youā€™ll quickly see the redesign is still in process. Anyone not in early access can still go ahead and sign up for codes and I will send out more codes once the redesign is further along and the service is more usable.

To dos
Thereā€™s so much here. But one of the biggest things once everything is up and running (Portalsā€¦) is code refactoring so that Iā€™m not repeating myself so much. :blush:

Itā€™s been quite the journey and, again, itā€™s just getting started. Thanks and stay tuned! :blue_heart:

2 Likes

Quick update: I have changed the open source repo to not include any files/directories with Petal Pro code in it. I also named such repo metamorphic :blush:. So you can find the code base, sans any Petal Pro code, here.

Sorry for any confusion, and stay tuned! :blue_heart:

1 Like

Fall update 2022

Thank you to everyone who has been following along, signing/signed up, and patiently waiting for Metamorphic to be in a usable beta version (early access ā†’ Iā€™m going to just say beta now since itā€™s way easier :joy:).

Iā€™m doing another redesign (redesign of the redesign) with a stripped down code base and will be launching the beta with just 1 of the 4 features that have been worked on. Iā€™m learning my lesson and working toward having more of a MMP rather than a MVP, which makes way more sense to me as a solo dev team. Having one feature to launch with will make it way easier for me to focus and get one thing right before moving on to the other main features.

So, the launch feature will be Memories.

That being said, as I redo the codebase, Iā€™m realizing just how much work went into getting to just one feature. And all the ā€œtinyā€ features that Metamorphic has (like passphrase generators, rate limiters, beta invite codes, admin stuff, marketing pages) and the encryption.

I will also be launching it on Fly.io to take advantage of ā€œflyingā€ close to users around the world. Initially will be on the east and west coast of the US.

The awesome discount will still apply to all the signed up early access accounts (thank you for your support :sparkles:).

Hereā€™s a sneak of the redesigned marketing look (thanks to Tailwind):


2 Likes

Update 9/25/2022

Weā€™ve swapped over from Render to Fly officially and running on the east and west coast of the US, currently (ewr and sea) on a pretty minimal setup for now.

note: the marketing video on landing page is a placeholder joke until I make a demo

Fly has been amazing. Iā€™m hopeful this will mean a better experience for people on Metamorphic at the end of the day (especially in the future when we can afford to be around the world). And itā€™s hopefully more affordable for us on the operations side. :hiking_boot:

Estimated date that Iā€™ll send out the first wave of invite codes for Metamorphic v1 (:thinking:): October 25, 2022.

Whatā€™s changed
Will be launching our beta with 1 main feature, Memories, offering free accounts, and a redesigned code base. I have made a decision not to try and bring the database from Render over to Fly. Fortunately, itā€™s early enough that nobody has started to upload content on Metamorphic (outside of myself and a close circle).

Redesign done
Total redesign of the codebase from scratch with new look and feel. I also discovered that just getting to ā€œ1ā€ feature still means a lot of other features.

  • marketing
  • redesign of People (you need to be able to share Memories)
  • refactored and sped up the encryption with one (live_decrypt/5) helper function
  • redesign of the database structs (one reason why I opted not to try and port any existing Render accounts over)
  • settings
  • onboarding
  • add profile option for future sharing possibilities

Redesign still to do
Thereā€™s still a little bit more of the People feature left to do before moving on to avatars, roadmap, Memories, Stripe, and data management (e.g. downloading/deleting your data).

  • Avatars
  • Shared Avatars
  • Memories
  • Shared Memories
  • Roadmap
  • Stripe subscriptions
  • Data management
  • marketing video

For existing early access sign ups

Iā€™m sorry for the inconvenience or annoyance. You will have to sign up again. However, just use one of your invite codes (even if youā€™ve used it for your account) in your sign up message so I can know to apply the super sweet discount to your account when you choose to pay for a subscription. And, yes, that also means that you could share your other codes with 2 other people to give them the same super sweet discount.

New beta/early access sign ups

You can sign up now! New early access sign up accounts will get 40% off their subscription for life.

Thanks everyone for following along and supporting. :blue_heart:

Update October 2022

  • Avatars
  • Shared Avatars
  • Memories
  • Shared Memories
  • Roadmap
  • Stripe subscriptions
  • Data management
  • marketing video
  • add paraxial bot protection

Iā€™m happy to say that now that itā€™s not the first time Iā€™m implementing ets for the avatars, I seem to have implemented it in a much better way, and the result is the speed and performance Iā€™d hoped for with images.

So, what happens is that we upload the encrypted avatar image to object storage. Then, when someone logs in, it makes the initial object storage request and then decrypts, encodes, and stores the binary in an ets table for that person. All subsequent requests pull from ets and itā€™s working great so far. :blush:

Edit
As I wrote this, I thought about a possible privacy/security concern of having non-encrypted binaries in ets. So I switched it around to where we store the encrypted blob in ets and then decrypt when we pull it out for the current person. It appears to have the same performance with now encrypted blobs stored in ets. :blush:

When you log out, it clears the binary for that person from ets.

This ā€œbundlesā€ the request time for object storage into the log_in process and makes it much less noticeable as it feels like the usual log in business.

Onward

The next big test is going to see how it performs with sharing avatars (shared_avatars). Then Memories.

Weā€™re getting closer to being MMP ready! Iā€™ve got my hope set for the end of October, but thatā€™s still quite a list left, so it may end up in November or December. Thank you and stay tuned!

1 Like

Update[2] October 2022

  • Avatars
  • Shared Avatars
  • Memories
  • Shared Memories
  • Roadmap
  • Stripe subscriptions
  • Data management
  • marketing video
  • add paraxial bot protection

Shared avatars are finished (for now). We store the encrypted binary in ets like we do with each personā€™s avatar. We handle the object storage calls in an asynchronous task to not interrupt the page navigation or loading times.

I wrote a little fast blog post with a gif where you can see a demo of how it works.

Definitely not making that first optimistic timeline for opening the beta on October 25. :blush: Memories next. Moving the beta opening to end of November now. Thank you for your support as always! :blue_heart:

Happy 2023 everyone :wave:

Itā€™s been quite some time. Big refresh and clean slate with the latest beta. Phoenix and Live View have made everything possible for me, and so another huge shout out and thank you to everyone working on those.

Metamorphic is developing in public, I havenā€™t figured out what to do with the license bit at the moment, so you can check that out and see all of my mistakes and fact check me on any privacy/security claims :blush:

https://metamorphic.app

Beta
You can currently make private and public text posts in a twitter-like format and favorite or repost another public post that isnā€™t yours.

Next up will be adding the functionality to connect with people and share posts with them.

Same security/privacy as before, your account data is asymmetrically encrypted to your password.

Some changes
Iā€™ve made one big change imo, you can now enable a ā€œforgot passwordā€ feature that will give you the ability to reset your password if you forget it (without losing access to your previously encrypted data).

This is off by default but can be toggled on at any time from your account settings once your account is confirmed.

Moving forward
I wanted to really strip away a lot of things I got tangled up in last time, and keep it very simple and build from there. If you have feedback of any kind, Iā€™m totally open and looking to build and improve based on how people are using it and what people would like to see :slight_smile:

At some point I will have to make money to support the site, I imagine it will be some kind of subscription, but for now itā€™s free :tada:

Thank you :heart:

1 Like

And weā€™re live! Things you can do:

  • change your visibility
    • private ā€“ no one can send you a connection request (you can still send requests)
    • connections ā€“ Metamorphic users can send you requests
    • public ā€“ Metamorphic users can send you requests (will eventually sync with publicly viewable profile)
  • update your username/email
  • change your password
  • enable/disable forgot password feature
  • add/delete new connections
  • create new posts ā€“ privately, to your connections, or publicly with the world
  • fav/unfav posts
  • repost posts
  • delete your account (also deletes all connections and posts ā€“ public or otherwise)

Connections, posting and deleting your account happens in real-time thanks to Phoenix PubSub. Weā€™re also using LiveView, streams, and multi-region hosting on the east and west coast of the US through fly.io. And all with the privacy and encryption that started this whole thing. More to come, thanks everyone! :heart:

2 Likes

SSL issue?

Are you sure your IPV4 DNS is setup correctly?

$ s6-dnsip metamorphic.app
s6-dnsip: fatal: : unable to resolve metamorphic.app: no such domain

If anyone is still experiencing any issues, lmk :slight_smile:. Iā€™m not totally certain what is going on with the issues mentioned from @tj0 and @polygonpusher but there may be a configuration issue that is preventing some attempts to access the site and Iā€™m looking into it.

Metamorphic Posts Demo v0.1.8
Just released a little live demo showcasing what you can currently do with Posts in Metamorphic, Vimeo link below:

Metamorphic Posts Demo v0.1.8

Lots more in store, thanks everyone šŸ©·

Sadly still not working.

Appreciate the report! Can you provide more info?

Like the server is not responding:

~ curl -v https://metamorphic.app                                                                                                                                        []   14:12:13
*   Trying 66.241.125.253:443...
* Connected to metamorphic.app (66.241.125.253) port 443 (#0)
* ALPN: offers h2,http/1.1
* (304) (OUT), TLS handshake, Client hello (1):
*  CAfile: /etc/ssl/cert.pem
*  CApath: none
* Recv failure: Connection reset by peer
* LibreSSL/3.3.6: error:02FFF036:system library:func(4095):Connection reset by peer
* Closing connection 0
curl: (35) Recv failure: Connection reset by peer

Chrome mobile just says ERR_CONNECTION_RESET

Thank you guys! Iā€™ve been able to confirm that this is happening for anyone trying to access through our sjc region.

Iā€™m on my phone rn but will look into it more tonight. Apologies for this!

Fixed issue :tada:. IPv6 was working but an old value in A record was breaking IPv4. Thank you everyone, and big shoutout to fly.io and their supportā€”incredible :heart:

you can start using metamorphic today!

2 Likes

Currently registration bug. Iā€™ll be able to issue a fix once Iā€™m home at the computer. Some minor Growing pains, appreciate the support and patience!