return to table of content

Show HN: Horizon – Private alternative to Imgur

tyingq
14 replies
16h59m

Looks great, and clearly a lot of time and thought invested. Not news to you, I'm sure, but these sites typically only last for a while. Because nobody has really hit on a way to subsidize a reasonable free plan enough to pay for the bandwidth it collectively consumes, and to implement enough spam protection. Especially once it hits a certain adoption curve. So they either die or find a way to push ads, like imgur did. This is so nice though, I'm really rooting for it to find a way.

lelandbatey
5 replies
14h41m

Exactly; I still remember reading the imgur announcement post on reddit which had all the same descriptions. They were ad free and they were aiming to be great forever. Now though they're the "big bad".

https://www.reddit.com/r/reddit.com/comments/7zlyd/comment/c...

fsckboy
3 replies
13h38m

In 2016, Imgur raised $40 million in funding from investors, valuing the company at around $500 million. In 2021, Imgur was acquired by the media company, MediaLab, for an undisclosed amount, reportedly around $200-300 million. Alan Schaaf, the CEO and founder, reportedly owned around 40% of the company at the time of the acquisition, which would have netted him a significant amount, estimated to be around $80-120 million.

why does everybody here think that imgur is a failure in light of OP's stated goals? His stated goals are the same as imgur's stated goals. The imgur outcome is the stated goal of most of the people here.

Think a little bit more inside the box.

phito
2 replies
11h57m

So the goal is to make another unsustainable business, make everyone use and love it, then sell it to someone who will make it uterly shitty with the hopes of squeezing at least a bit of money out of the people who now rely on it, before it inevitably dies?

latexr
0 replies
8h45m

The goal is to make “fuck you money” then tell everyone, including users, to go fuck themselves. The specifics are up in the air.

Don’t forget to talk about the “wonderful journey” it has been when announcing the sale.

bonestamp2
0 replies
46m

sell it to someone who will make it uterly shitty

Imgur is still good. It's just not great anymore, and it's a long way from shitty.

sweca
4 replies
16h57m

Thanks! It's been operating for the past 3 years without any ads or third-party trackers, and I don't have plans to shut it down for the forseeable future.

fragmede
3 replies
16h50m

No one ever starts these things with plans to shut them down, the question is how much money do you have for this right now, how much money is it burning per unit of time, and how long will that last if no one pays for a paid plan. I'm not asking you to answer those questions, but pointing out the reality of the economics of the situation. If an image goes viral, can you pay a 10x or 100x hosting bill? For how long? How much are you commiting to spend before shutting it down becomes an attractive option?

sweca
2 replies
16h38m

These are good questions to ask. Right now, the monetization strategy is profitable.

If an image does go viral, which has happened before on popular Reddit posts that hit the front page, the infrastructure should be able to handle it for a while, and it should not be costly.

airtonix
1 replies
15h17m

you should protect yourself from free plans going viral and costing you more than you'd like with rate limiting rules of some kind.

sweca
0 replies
14h26m

I see your point, but the business model can sustain a large influx in free signups. I will keep this in mind though.

jchook
1 replies
1h15m

The spam protection is worth repeating.

I made one of these back in 2005 and it was inevitably gangloaded with questionable content like p*rn, malware, software license keys, copyrighted material, etc.

Modified3019
0 replies
15m

I remember a few years ago when some starry eye coder on Reddit made a page that would load and display the latest uploads to Imgur as tiles.

It soon became apparent that this is not ideal.

Same thing with tools that would try to archive Imgur, the results basically need manual review because the resulting dataset is a loaded gun.

stavros
0 replies
9h21m

I found a way, pay me: https://imgz.org/

GaiusCoffee
8 replies
16h19m

I have always wondered how "hosting" sites deal with malicious actors, like sharing of copywritten stuff (like movies), xxx stuff or worse (cp).

Is there content moderation at the backend of Horizon?

sweca
7 replies
16h18m

For privacy reasons, there's no scanning. I rely on user reports to determine whether to take content down.

idiotsecant
3 replies
14h19m

This is a legally...risky strategy. You built a cool thing but unfortunately when you put cool things online they get used for the worst possible purposes.

sweca
2 replies
14h16m

Yes, I understand there is an unfortunate risk. However, I oppose file scanning, and so do many users, as we've seen with the Apple scandal.

If any content is uploaded that violates the terms of service and is reported, they will be deleted as soon as possible, and that user will almost certainly be permanently banned.

The terms of service also limits my liability.

shawndrost
0 replies
8h49m

I don't believe it is feasible to run an image hosting service with your intended CSAM management plan.

Based on this comment thread, I fully expect your site will soon host CP/CSAM, if it doesn't already. Other image hosting services devote extensive resources to engineering a solution to this problem (one that is more robust than user reporting). I would not expect you will be able to avoid this work, and avoid liability.

Edit: I just noticed you're quite young. Congrats on all the great work. I think this CSAM thing could bring misery your way so I hope you find this comment helpful. Good luck out there.

idiotsecant
0 replies
3h0m

The terms of service cannot shield you from federal law. Not sure if you're in the US or elsewhere but similar laws are prevalent around the world - in the US federal law prohibits the production, advertisement, transportation, distribution, receipt, sale, and possession of child sexual abuse material (CSAM).

This is an issue that could ruin you. The only reason it hasn't already is that the service isn't big enough yet. You undoubtedly already have CSAM on your network and any reasonable person with experience online would expect that, which is an important standard for you to consider. You're starting your own projects online at 17. You will do a lot of cool stuff in your life. Don't let this kill that inertia.

My 2c.

0xCMP
2 replies
14h13m

I have some experience helping previous jobs block bandwidth abuse from user uploaded content. That lead to inadvertently finding some pretty bad content. I would figure out some way to have someone else review the content or at least some kind of automated scanner you can use to pre-check the reported content before reviewing it yourself.

Some stuff is hard to unsee.

Edit: I wonder if a local LLM (to help with privacy concerns) would be a good option or not to at least identify anything obviously bad. Wish I had more concrete suggestions.

sweca
1 replies
14h10m

You absolutely have a point. But for me, I'm not sure how to balance privacy and safety. Is my service really private at all if I'm handing off user files to a third party to do who knows what to scan for bad content, and potentially risk users through false positives?

Edit: A local model could work, but that can be quite compute intensive and therefore expensive.

0xCMP
0 replies
14h4m

I meant it only for the reported content so that is, to me, a proper balance because that's kind of your legal requirement[0] to take down content which is reported. But since that's ripe for abuse the proper way is to basically first hide the content, review+confirm it's bad, and then take proper action.

So I would try asking around or thinking of how best to handle the specific reported cases without exposing yourself too directly.

[0]: I am not a lawyer

RIMR
7 replies
3h47m

The marketing says that this is an Alternative to Imgur, but the product doesn't feel like an alternative to Imgur, it feels like an alternative to OneDrive. It shares more features with Gyazo, the other product you compare it to, but I don't see it being a solid upsell.

Is marketed to Imgur users as a better alternative for broadly sharing memes on the Internet, and if so why is privacy and encryption important? Couldn't privacy be a limiting factor, since Imgur is first and foremost a social network? Wouldn't the limited space of the free plan be a dealbreaker for someone happily using Imgur in an unlimited capacity for free?

Is it marketed to business users that actually prioritize privacy, and if so, aren't you worried that comparing it to a Social Network like Imgur would betray the privacy angle? Where are the enterprise options that allow me to onboard people with SSO/MFA and protect sensitive files from people outside of the organization? There are too many security holes in this product to trust it for business use, especially copying the full URL to every shared object to the clipboard where it can be accessed with anyone with the URL...

If someone actually wanted to use this service to store and share large files, you only offer 100GB for $5/month, and limit file sizes to 10GB. For $2/month you can get 100GB on Google Drive with roughly the same capabilities, and for $10 you can get 2TB on Google Drive or MEGA, with the latter being encrypted by default. $10 from Office 365 gets you 6TB of cloud storage with sharing capabilities. The pricing for Horizon storage is outrageous by comparison to every competitor's offerings.

Furthermore, you have to read through the pricing page to discover that encryption at-rest isn't default, and you have to turn it on for files you want encrypted, and it doesn't even tell you what kind of encryption or how the recipient decrypts it. Alternatives like MEGA still have you beat in that regard.

sweca
6 replies
3h29m

You're comparing Horizon to cloud storage services, which I think is unfair. Horizon is focused on the sharing aspect. Uploading to Google Drive and OneDrive is not as effortless as Horizon and won't provide the same frictionless viewing experience for whoever you share the links to.

Horizon is actually cheaper than alternatives, including Gyazo and Streamable, as said in another person's comment.

Global encryption is enabled at rest for every file, but with a key that I control. Toggling the Encryption feature (capital E to distinguish the feature name), encrypts the file again with a key not stored by Horizon. This info can be found in the help center.

Dylan16807
3 replies
2h2m

You're comparing Horizon to cloud storage services, which I think is unfair. Horizon is focused on the sharing aspect. Uploading to Google Drive and OneDrive is not as effortless as Horizon and won't provide the same frictionless viewing experience for whoever you share the links to.

Yeah...

It's nice that you get a business opportunity out of this, but one of my first thoughts was how easy it used to be to host images on Dropbox. But they made it bad, and the other big syncing services have the same bad experience. They clearly don't want to be image hosts.

fragmede
2 replies
1h56m

Not even Open AI, which arguably has the resources to programmatically "look" at images and know if they are okay, wants to do image hosting. That should give you pause. What do their lawyers know that you don't?

sweca
0 replies
1h50m

I'm not sure why OpenAI would. They're an AI research company. You're confusing scope with their legal team's considerations.

Dylan16807
0 replies
1h1m

Why would they want to?

Also these services still make it easy to share a folder of images, they just make embedded uses a pain.

RIMR
1 replies
3h8m

You're comparing Horizon to cloud storage services, which I think is unfair. Horizon is focused on the sharing aspect.

I think the closest competitor you have is MEGA, and they are not a Cloud Storage service, they are a File Hosting service like Horizon is. There is plenty of overlap between the offerings of Cloud Storage and File Hosting services, but if sharing files with others is a central feature, the service is generally understood to be a File Hosting service, and that would definitely include services like OneDrive and Google Drive too.

Uploading to Google Drive and OneDrive is not as effortless as Horizon

How specifically is it easier? Create an account, upload files, optionally with a client. API for uploading programatically. Sharable URLs for giving access to others. It seems fundamentally equal to other platforms in ease-of-use.

Horizon is actually cheaper than alternatives, including Gyazo and Streamable

Gyazo's entry tier costs the same as your's, and also offers an Enterprise tier with SSO/MFA that is going to be a operational requirement of any business customer that cares about privacy and security.

Streamable's entry tier may cost twice as much ($10/month), but it comes with 5x the storage (critical if you're sharing 4K HDR video), and the guarantee of a highly available CDN. It is marketed towards a specific need, instead of the broad social/business product you have created, which is superfluous to anyone who just needs reliable video hosting.

Global encryption is enabled at rest for every file, but with a key that I control.

As good as unencrypted if this key is hot and used to decrypt all files shared without user encryption.

sweca
0 replies
2h32m

Gyazo does not cost the same. You're comparing monthly prices *billed annually* to Horizon's month to month term, which is an unfair comparison. Horizon is $3.75 a month billed annually, while Gyazo is $4.99.

agersant
6 replies
18h5m

Incredible timing, I was just looking for somewhere to store and share my video game clips. This looks more appealing (cheaper) than Streamable.

I love that there is a Linux Appimage but does it also work with just a browser?

agersant
4 replies
16h51m

Thank you!

Some feedback after using it for a few minutes:

- When clicking the "+ create" menu, left-clicking whitespace on the page does not close the dropdown

- Home page takes very long to list videos (even with a single video). Updates after moving videos/deleting videos/creating folders also feel unresponsive.

- On home page or inside folders, videos do not have thumbnails (just a generic camera icon)

- While a video is being moved to a directory (spinner be spinning), the delete/move options under the search bar are still present

- Would like an option to apply resize/compression settings to videos on upload to help manage storage space

- When failing to upload due to size limit, the UI does not say what the size limit is

I think this is a promising service so I'll upgrade and hope the quirks improve over time!

Edit:

- Trying to upload 30-ish 100-200MB videos at the same time in the web UI, many error with `Unable to mark session as finished`.

sweca
3 replies
16h39m

Thanks for upgrading! And sorry that you ran into some speed bumps.

1. Good catch. Will improve on this.

2. I'm not sure what could be causing this. My account with thousands of uploads loads in less than one second.

3. Thumbnails are not supported due to compute and processing considerations, but will investigate this.

4. Good catch.

5. Compression can be compute intensive, but will investigate this further.

6. Will add that in.

7. Hopefully this isn't too ubiquitous? I'll investigate what's happening - but from preliminary analysis, it looks like a chunk may have failed along the way.

agersant
2 replies
16h16m

Re: 7 I think in the end all the videos did upload successfully, but the client UI stopped reporting progress at some point.

A couple more suggestions:

- Would like a select-all button instead of clicking videos 1 by 1

- An option to switch from grid view to list view could be useful

- Home UI shows 25 items per page but the grid has 3 columns so the last row is never full - which makes it seem like there are no further pages.

- When moving items, the item count in the title of the destination-selection dialog keeps increasing for every move operation. I think items are not deselected after moving?

sweca
1 replies
15h15m

I've added a new redundant check that will ensure all chunks are uploaded before marking the large upload as finished. Hopefully this resolves the issue you were facing. If not, please do send me an email at the address listed at https://horizon.pics/help.

As for those files that failed but still show up in the dashboard, it means they're stored incomplete, and as such, will be automatically purged in 24 hours. I will work on hiding them in the dashboard.

agersant
0 replies
13h37m

Thanks for the great support <3

Jamie9912
6 replies
15h52m

Why don't you have cloudflare caching enabled on the images?

sweca
5 replies
15h47m

For privacy reasons, it's kept out of Cloudflare's cache. But one could argue that it doesn't matter since traffic is flowing through Cloudflare anyways. What do you think?

electroly
2 replies
15h35m

It's not a real option. You'll eventually get banned or forced to pay for an enterprise plan if you try to use Cloudflare's CDN for an image hosting site where the origin is outside of Cloudflare. They require you to use R2 or Cloudflare Images.

From their terms: (emphasis mine)

Unless you are an Enterprise customer, Cloudflare offers specific Paid Services (e.g., the Developer Platform, Images, and Stream) that you must use in order to serve video and other large files via the CDN. Cloudflare reserves the right to disable or limit your access to or use of the CDN, or to limit your End Users’ access to certain of your resources through the CDN, if you use or are suspected of using the CDN without such Paid Services to serve video or a disproportionate percentage of pictures, audio files, or other large files. We will use reasonable efforts to provide you with notice of such action.

https://www.cloudflare.com/service-specific-terms-applicatio...

sweca
1 replies
15h25m

Good catch. Forgot about this terms of service clause.

Jamie9912
0 replies
15h8m

Are you not using R2 for storage?

Jamie9912
1 replies
15h43m

Yeah it's going through CF anyway. I also don't live near Europe or North America and noticed even small images take over a second to load, would be nice to have images cached locally after they are opened for the first time

sweca
0 replies
15h41m

Got it. Thanks for your feedback. All servers and user content are hosted in the EU, so for some parts of the world, it may not perform as intended. I've also thought of creating replicas for latency reasons, but it does introduce extra costs.

metadat
5 replies
16h59m

How is it private if you can't self host?

(I'm hoping I missed something :)

loteck
3 replies
16h34m

Privacy and security here are being commingled under the banner of AES encryption at rest, which is apparently disabled by default.

I always wonder, if your marketing pitch involves security features, but those features are off by default, aren't you technically pitching your lack of security?

sweca
1 replies
16h11m

Encryption at rest is disabled by default because many users do not want to keep track of all of their encryption keys, which are not stored by Horizon when that setting is enabled.

There are also other security features, like end-to-end encryption for pastes, but like mentioned before, not everyone wants to lose the ability to preview their content in the dashboard.

By giving the user a choice, I can cater to both crowds: one that prefers convenience, vs the other which prefers the most security.

Edit: To clarify, all files are already encrypted at rest with a key I control. But with Encryption enabled (capital E to distinguish the feature name), it is encrypted again with a key Horizon won't store.

iJohnDoe
0 replies
12h28m

Clear and concise. Well done. Impressive for a 17 year old.

metadat
0 replies
16h31m

And if $company controls the keys.. what happens once funding dries up? Yeah.. nothing personal but we've seen it previously.

In the meantime, OP and Co. could create an open standard for image hosting, and have a lasting impact on the order of S3. Wouldn't that be something?

Here's to hoping.

jmuguy
4 replies
15h30m

Maybe stupid question but can video files uploaded be played in the browser? I’m always frustrated when I want to share a game clip with friends and it seems like the options are YouTube which is overkill and a few services like streamable that are too expensive for just casual sharing

sweca
3 replies
15h27m

Yes! Supported file types can, such as MP4. Other video formats are not currently supported for streaming (can still be uploaded for download) due to browser restrictions and compute considerations.

For supported video types, Horizon is optimized in the sense that it recognizes videos and allows viewers to stream it in chunks for seamless watching.

ijustlovemath
2 replies
15h24m

Why not have the user's machine do the encoding into whatever format is cheapest/easiest for you to support? Could even divide user payloads into chunks and p2p it, bittorrent style. No compute needed, beyond a tracking server that can be very cheap to run

sweca
1 replies
15h18m

Transcoding client-side still has considerations:

- What if the user's hardware is not performant?

- Transcoding is intensive, so their machine will become slow

- Even wasm based ffmpeg will not be as efficient and has its own issues

- Takes a very long time

ijustlovemath
0 replies
14h42m

1. Then setup a worker thread with a very high nice value, like 19. Limit your throughput with tick-based compute (sleep if you're using too much compute)

2. Not if you do as proposed

3. Efficiency is not your problem, as you've stated with the previous 2 requirements. Your algorithm doesn't have to be maximally efficient if it takes a while to compute (eg you're using sleep in it)

4. Doesn't matter, most users of this service will only be taking a few photos or videos a day. Offer a paid service upgrade for heavy users who cant handle the upload times.

devnull212
4 replies
17h25m

Congrats on the launch! But, something that stops me from using a number of services is the sale of fixed size plans where I'll typically either under utilize them (e.g. do I have 100 GB of screenshots to upload) or I'll over utilize and might not have an upgrade path immediately available for more storage.

I tend to toss my photos in backblaze or S3 for this reason -- UX is severely lacking but I pay for what I use. I'm curious how you landed on the subscriptions you chose + whether you'd consider usage based plans?

sweca
2 replies
17h18m

I understand where you're coming from.

Most people do not have 100 GB of media on hand, nor will they probably in the next 5 years. As a result, it's basically unlimited from a reasonable usage standpoint. Before adding a 100 GB cap, I actually experimented with having "unlimited storage", but this can go wrong in many ways. I've spoken to companies in the VPN and cloud storage industries and having unlimited anything can go very wrong, especially if your service is promoted in a problematic context. e.g. unlimited cloud storage in a data hoarding community. By at least adding a cap, I can calculate a maximum cost for every user to influence my financial decisions and restrict abuse.

As for pay-per-use, no plans for now. Kagi's CEO had a really nice discussion about this on their forum and on HN. Simply put, for the demographic I'm targeting, which is quite broad, the typical user would likely get turned off by a pay-per-use model.

I've also priced Everest lower than other paid services, such as Vimeo and Gyazo, while including extra benefits.

uuuuuquu
1 replies
11h43m

Most people do not have 100 GB of media on hand, ...

I have over 130 GB of media and really just started taking pictures two years ago. My mother for sure has way over 100 GB of media. My gf too. My father also has over 100 GB of media. And we all are not photographers or people who must take pictures of everything. 100 GB is not that much really, especially since everybody cat take 4K pictures and record 4K videos. Who do you mean by "most people"?

sweca
0 replies
11h32m

By the term "media", I was referring to OP's potential usecase of Horizon, like their screenshots and screen recordings.

I think you're framing Horizon as potential photo backup, in which case, it is not designed nor meant for that.

tracker1
0 replies
2h23m

I've really liked Cloudflare's R2 for this usage myself. YMMV of course.

tzfld
3 replies
12h9m

Unlimited Bandwidth*

Keep on sharing with peace of mind that your files will always be accessible for those who need them.

What about sharing them in a forum post which may become viral or may be targeted by a ddos attack?

sweca
2 replies
12h5m

That's ok! Horizon should be able to handle it.

isatty
1 replies
11h50m

It’s a great service and forgive my cynicism but how, without losing money?

sweca
0 replies
11h49m

I've worked out the economics! The cost of the free plan is negligible.

t1c
3 replies
15h26m

So... it's an S3 bucket with a CDN?

pratio
1 replies
15h14m

It's an impressive lot more. There's a desktop app for mac and even a beta version for Linux.

RIMR
0 replies
3h42m

So it's an S3 bucket with a CDN, and a file upload client...

AvieDeckard
0 replies
1h53m

For a Linux user, you can already build such a system yourself quite trivially by getting an FTP account, mounting it locally with curlftpfs, and then using SVN or CVS on the mounted filesystem.

remram
3 replies
15h15m

"Full-stack engineer" is usually a job title or career, I find it weird to introduce oneself as a "17-year-old full-stack engineer". Is it just me?

You certainly have the skills but can one be an amateur professional?

sweca
2 replies
15h14m

I do have a job as a software engineer in the professional world. I do both professional work and amateur side project work. Did I miss something?

remram
1 replies
15h8m

Nevermind then! I assumed 17 was too young to have a full-time high-skill job, if I assumed wrong then apologies.

iddan
0 replies
9h48m

You obviously did

tjbiddle
2 replies
17h1m

Should add the names of your competitors under the logos. I'm sure they're very famous, I'm assuming Imgur and something else - but I don't recognize either of the logos.

sweca
0 replies
16h58m

Good call! The second one is Gyazo.

metadat
0 replies
16h50m

This will be a solid display of confidence.

That'd be cool if the self-hosting use-case was supported in addition to your main public site.

Throw a writable path or s3-compatible bucket in a config, set an admin password, and away..

Other folks could finally stop rewriting the basic aspects of image upload hosting. Wouldn't that be a nice gift?

sebstefan
2 replies
3h45m

It was surprisingly easy to configure ShareX to work with Horizon! Handles deletion and putting the URL of the uploaded file in the clipboard and all.

Hopefully you guys could collaborate to become a default file/image destination uploader that actually handles logging in and logging out of an account.

https://i.horizon.pics/35dwiVGxz8 <-- Uploaded via ShareX.

```

// Uploader import string

  {
    "Version": "16.1.0",
    "Name": "horizon.pics",
    "DestinationType": "ImageUploader",
    "RequestMethod": "POST",
    "RequestURL": "https://api.horizon.pics/upload",
    "Headers": {
      "Cookie": "token=YOUR_SESSION_HERE"
    },
    "Body": "MultipartFormData",
    "FileFormName": "file",
    "URL": "{json:.data.fileLink}",
    "DeletionURL": "{json:.data.deleteLink}",
    "ErrorMessage": "{json:.message}"
  }
```

sweca
1 replies
3h36m

Hey, please don't do this! Your cookie token is actually ephemeral. You have a permanent upload key assigned to your account. Download the ShareX config from Settings > General > App Configuration.

sebstefan
0 replies
3h23m

Wow. So you already provide a ShareX Custom Uploader configuration file on your website. I wasn't expecting that. I expected it so little that I didn't even bother searching.

So it works basically the same as mine but instead of the shitty cookie workaround I did, you have a header called "Authorization": "Bearer xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" that won't blow up in my face every few weeks

Very nice

jml78
2 replies
17h34m

Congrats, it looks great, love that you have Linux app support.

Question, have you done the business analysis to know how long you can afford to run the system when giving away 500MB? Even your paid model seems really inexpensive. Do you have enough margin to immediately not go broke?

I am not trying to throw shade, I am just curious because it almost seems too good to be true since you aren’t running any ads and your price is free and/or cheap

sweca
1 replies
17h29m

Yes. Over the past 3 years I've been researching and re-iterating different monetization strategies. While I don't want to divulge exact operating costs, I can tell you that it's sustainable to provide free storage and the amount on the paid Everest plan.

ijustlovemath
0 replies
14h36m

What kind of backup and disaster recovery plans do you have in place, if any? Are they tested?

dizhn
2 replies
3h56m

Unlike Imgur, Horizon has absolutely no ads, doesn't sell your data, has built-in security and privacy controls, and is fully focused on your file sharing needs. No social media or other bloat.

This is exactly how imgur started. It was a reddit user, providing a service for fellow redditors. I am not being snarky. As others have said, media hosting can never really be free.

vivzkestrel
1 replies
3h22m

if this was decentralized it would still have meaning but this project is going to run into the same limitations imgur did

progforlyfe
0 replies
2h54m

one potential difference is that it already offers a $5/month paid version, not sure how long it took for Imgur to do that. so at least it has the potential to not need ads ever, but fully dependent on whether the revenue from the paid version can pay for the costs of the free version (500 MB offered for free users).

Edit: but indeed I am usually annoyed by the "Privacy first, no ads forever!!!111" marketing. Unless it's some bitTorrent like technology that decentralizes the load, it's not really possible forever.

account42
2 replies
5h48m

Image hosting is not a viable business.

Source: every image host that has ever existed (note the past tense)

8organicbits
1 replies
3h38m

Charge for storage and bandwidth. Providers like AWS S3 are doing fine with that model.

E: not bandwidth, data transfer

sweca
0 replies
3h28m

And this is exactly why S3 is meant for developers. The average person does not want to think about limits they cannot control, like a burst in viewership for an image they uploaded.

DaoVeles
2 replies
14h23m

Just a quick note. That you have pricing up front is such a big thing. Places like Imgur and photobucket before it were out to be exploited merely for their free bandwidth.

There is a clear means of funding this and that instills confidence.

One other note, I also am a lot more likely to jump onto a service if there is an easy escape plan. While you don't want to loose customers, having an easy out allows people to exit on amicable terms.

sweca
1 replies
14h21m

Yep! Having limits and sustainable pricing was at the top of mind prior to launch - didn't want to dig myself into a hole.

For exports, there are currently 3 export options:

- file download URLs (encrypted content is undecryptable by Horizon, therefore will not be downloadable without the correct key, which is not stored by Horizon)

- all your short links

- all your paste content (encrypted content is undecryptable by Horizon, therefore will show up in its ciphertext form)

These exports are all in machine-readable JSON.

DaoVeles
0 replies
13h32m

I love it! These are the awesome kind of projects I like seeing. No hype about "what could be" but a case of "Here it is! Go for it!"

Dalewyn
2 replies
12h24m

Unlike Imgur, Horizon has absolutely no ads, doesn't sell your data, has built-in security and privacy controls, and is fully focused on your file sharing needs. No social media or other bloat.

Why and how is your service's financial future secured? I took a quick glance, and your free tier is perfectly adequate for most people.

Horizon allows you to quickly upload and store all types of files, from images and video, to PDFs and other documents.

Can I easily upload something from any of my computers (desktop, laptop, phone, tablet) in basically one or two easy steps?

One of the reasons I don't use imgur anymore and instead use Discord (yes, Discord) for my image hosting needs is because I could not upload anything to imgur from my phone or tablet. Yes, an image hosting service that won't let me upload from the most prevalent computing devices of our time.

I don't care if imgur is spamming me with ads or torturing me with a terrible UI, an image hosting service that won't let me upload is literally useless to me.

On Discord I can upload anything by just clickdragging or copypastaing into the client. Dead simple, dead easy, dead quick, dead done. And it's not even an image or file hosting service, it's a bloody instant messaging and voicecomms service.

The desktop app is completely free to use! It's powered by Tauri using TypeScript, SvelteKit, Sass, and Rust.

Don't care about any of that jargonsoup, is it lightweight and fast with a UI that respects humans? Also, why is there no Windows client?

sweca
1 replies
12h17m

1. Maybe it's a matter of perspective. I actually find the free plan to be quite restrictive, especially for long term use. The current model is designed to be profitable. The free plan is sustainable.

2. Yes, you can. Just open the web app, click Upload Files, and select what you want. More details here: https://horizon.pics/help/articles/start-uploading-files.

3. Yes, it's lightweight, fast, and user-friendly. It's quite minimal looking, and I've tried my best to make it as easy to understand as possible. Whether that's through clear and concise instructions along the way, tooltips or intuitive action button colour hierarchy. There's no Windows client because I just haven't gotten to it yet. There's ShareX, which is compatible with Horizon.

Dalewyn
0 replies
12h1m

Maybe it's a matter of perspective.

Definitely! I think 500MB is more than enough, even as a tech guy, for a rolling storage with oldest giving way to newest. Most people aren't going to upload files as big as 75MB either. Unlimited bandwidth is icing on the cake.

While on the subject, $45 for 100 GB of cloud storage a year is a rip off (no offence). I can (and do) pay $70 for a year of Microsoft 365 Personal which gives me 2TB of cloud storage and the industry standard office suite. I can (and do) pay $20 for a year of Google One which gives me 100GB cloud storage and thus Google Drive and Photos space.

Your pricing by comparison isn't competitive, at least to me. Between an uncompetitive product and a free tier that is (read: should be) more than adequate for most users I'm still curious how secure your financials are.

xyst
1 replies
17h19m

Very clean and easy to use.

90% of my coworkers with “decades of experience” and “senior” in their titles would not even be able to build something like this in their full time. Let alone part or spare time.

sweca
0 replies
17h15m

Thank you! It took quite a few iterations to get here. This time I tried to focus on reducing friction as much as possible, learning from other successful apps along the way.

toomuchtodo
1 replies
17h46m

If for whatever reason, you don’t find traction, and/or get bored of running it, I’d be interested in acquiring it into a nonprofit entity and running it in some sort of public good fashion. But put your heart into it first. Looks great, really well done.

sweca
0 replies
17h37m

Thank you so much! Your compliments and generosity are very much appreciated.

tidyread
1 replies
2h52m

Privacy and security are important considerations for file hosting services, and Horizon seems to be addressing these well with its built-in controls and encryption features. The desktop app integration is a nice touch that could make the service more convenient to use.

sweca
0 replies
2h38m

Thank you. I try my best to balance both privacy and security and functionality.

synthoidzeta
1 replies
15h7m

Just wanted to applaud you — I'm over twice your age and would not be able to create something like this.

Can I ask when you started programming/building things? Was it a natural interest or did you receive encouragement from someone in your life?

Wishing Horizon all the best, excited to use it!

sweca
0 replies
15h1m

Thank you so much!

I started programming at around 9 years old in MS Batch. By making TUI apps, I learned the fundamentals, like variables, logic, functions, etc.

The interest actually stemmed from gaming. I was playing Minecraft and I was like, "hey, why can't I make cool stuff like this?" Spoiler alert: I did not remake Minecraft lol. My father was an early adopter of tech, like when he purchased the first Macintosh, so he also encouraged me into the field.

sirjaz
1 replies
2h20m

Are there any plans for Windows App support? There are more Windows 10 and 11 users than all iOS, iPadOS, and MacOS users combined

sweca
0 replies
2h15m

There's ShareX for Windows which Horizon supports. You can download the configuration files in Settings > General > App Configuration.

reportgunner
1 replies
9h51m

So if I upload a pic and send a link to that pic to my friend does my friend also have to sign in ?

sweca
0 replies
9h47m

Nope!

renewiltord
1 replies
12h14m

Hey, dude, your site is pretty sick. Great job. Optional email! A minor gripe: the blue on green for your “Sign in with google” is kind of hard to read on my iPhone. Black or white perhaps might be better?

How do you make the economics work? Cloudflare in front? R2 for storage?

Holy balls and a desktop app in Tauri?! Dude you are a skilled 17 yo. You’ve been doing it for 3 years? Haha the kids are going to be all right. Good shit, mate.

Screenshot:

https://i.horizon.pics/jtlZYhVxzb

sweca
0 replies
12h8m

Thank you! I work hard to impress with all of my sites.

Looks like the "Sign in with Google" text is only blue on iOS Safari. On other browsers, it's white on green. I'll investigate further.

Cloudflare is indeed in front. The pricing model has been tuned to allow for one paid subscription to subsidize many free accounts. Horizon uses Backblaze B2 as the object storage provider.

I'm always eager to learn new technologies!

newcool1230
1 replies
17h31m

This looks pretty cool, does it work with ShareX? Where you can directly screenshot and upload the images from your desktop?

sweca
0 replies
17h30m

Yes! While Horizon Alpine isn't ready for Windows yet, ShareX support is built in. Simply sign up, visit Settings, and download the configuration files under General > App Configuration. There are configurations for both files and links/pastes uploads.

motles
1 replies
13h27m

Do you do all the design/UI/UX yourself?

sweca
0 replies
13h24m

I designed mockups in Figma, and then realized them into code. At first, there weren't any fancy animations, so I enlisted the help of my friend Rens (info linked in the footer) to help bring it to life!

mkmk
1 replies
15h28m

Out of curiosity, why did you name the paid plan Everest?

sweca
0 replies
15h27m

If you didn't notice, the logo has a mountain inside the first "o". "Everest", as in "Mount Everest", follows the theme of mountain metaphors. Mount Everest is also a high point, which symbolizes the fact that the plan gives you higher powers/limits.

jiangplus
1 replies
2h44m

It looks so awesome! Is it related to Ente?

sweca
0 replies
2h41m

Nope! Not related, but I have worked on Ente. Ente's CEO is actually the person who told me to try launching on HN.

isatty
1 replies
11h39m

This is very well done, congrats on the launch and I am extremely impressed by your decisions (to keep this as simple as possible, to avoid scanning, and to provide apps). I am equally, if not more, impressed by your replies to comments here and criticism. Keep up the good work!

sweca
0 replies
11h31m

Thanks, this means a lot!

efilife
1 replies
7h14m

Where do you host it? I see that nsfw is allowed, what vps does allow it?

cptcobalt
0 replies
3h7m

This is HN, is asking about a VPS a bit quaint, when we're in the era of container orchestration/etc?

cntrmmbrpsswrd
1 replies
11h14m

This is quote nice.

One of the things I've always liked about imgur is the ability to paste images from the clipboard as well as drag and drop onto the page.

sweca
0 replies
11h12m

Thanks! I'll be sure to add both soon.

KerryJones
1 replies
12h30m

Great work!

2 questions:

1) Do you support RAW images?

2) Do you have larger paid plans?

sweca
0 replies
12h23m

Thank you!

1. Images that are natively previewable are supported in the browser at the moment. RAW is unsupported for previews, but should still be able to be uploaded for file sharing.

2. I haven't seen any demand for larger paid plans yet. If this arises, I'll be sure to explore new pricing.

Brajeshwar
1 replies
17h33m

Congratulations and best of luck. I've a feature request - custom domains. As the images can be shared, I'd with to share with https://mydomain.foo.bar/nice.jpg

9dev
1 replies
10h58m

The attention to detail on the landing page is amazing. The Apple-style feature boxes, the animations, the subtle blur effect for content at the bottom, the button shadows... I love it. You've got an amazing career ahead of you.

sweca
0 replies
10h38m

Thank you. Apple was a big inspiration! Rens (info in footer) helped me out with the animations.

29athrowaway
1 replies
14h29m

Hosting user generated content is one of the quick ways to run into awful content.

You have to take the necessary precautions, both legal and technological, to prevent awful content from becoming problematic.

Also according to your own terms of service you cannot access the website yourself, that is odd.

sweca
0 replies
14h27m

Under the Adult Content section, yes, if there is adult content, the user must be 18 years of age or older. I see the irony in this.

However, for other usage of the site, the privacy policy says that the minimum age is 13 years old.

scubbo
0 replies
17h28m

Impressive stuff - especially for a 17-year-old working in their spare time! Best of luck, not that it looks like you'll need it!

samM_
0 replies
17h14m

Wow, super impressive. I wouldn't even have dreamed of making something like this at 17.

r0ks0n
0 replies
6h9m

i mean, there's already puush, pixeldrain and tens of other tiny chibisafe/pomf/uguu/jirafeau instances that play well with sharex instead of bothering with their own app, but having another mirror can't hurt.

peterldowns
0 replies
15h12m

Extremely impressive. Very nice work.

p2hari
0 replies
9h33m

Is there some kind of API support? Could not find anything about ability to use API instead of clients.

nathants
0 replies
9h31m

congrats on the launch! this is very cool.

kukasmog
0 replies
14h35m

Great work, and portfolio looks great too. Most professional devs can’t get a product out, so you’re on the way.

jappgar
0 replies
3h12m

A cool demonstration of your skills but not a viable business unfortunately.

Others have said this, but t bears repeating: When you reach the size where you can actually make good money your site will be hosting plenty of malware and other illegal content.

iJohnDoe
0 replies
17h46m

Very cool! Congrats on the launch!

gizmo
0 replies
8h12m

This looks really great. Impressive work, especially for your age.

I think the bottom half of your landing page is much stronger than the top half. Why talk about encryption before explaining what the actual features are? "Sharing" is pretty vague and describes many apps. It might be better to lead with the actual features or usecases. Note that you went with a different pitch in this HN post: "it's a file hosting service [...] like imgur". That indicates your hero message needs some work.

You also have essentially two calls to action. "Get started" and "Download for mac". One call to action is better. Your sign up form also looks a bit busy and only has the text "create your horizon account" which conveys no useful information when instead you could explain why people should sign up and point out that it's free forever, which your users wouldn't know if they clicked through to "get started" right from the landing page.

At the bottom of the landing page you have a "sign up" in the paid plan but it links to the same sign up form. Why make people choose between paid and free when it later turns out the choice isn't real? That's a wasted opportunity. You should have only sign up button in the pricing plans section if there is only one sign up page. Alternatively, ask for credit card details if people show interest in the paid plan.

If you make $40/yr for a pro user then you'll need 25,000 pro users for each million in revenue. This is the kind of business where you're gonna have 200 free users for every paid user so about 5 million free accounts for each million in revenue. If 20% of site visitors sign up and 30% of those continue to use your service you need drive 75 million visitors to your landing page to get 1 million in ARR. Not impossible, but pretty difficult. imgur got large because reddit didn't want to do images themselves. Nowadays imaging hosting has become a lot easier because of AWS and Cloudflare, so you'll have to work a lot harder at getting traction.

MzHN
0 replies
11h46m

Monetization and abuse has been mentioned a bunch as things to consider as you gain more users, but I'll add a couple more I think are relevant, at least once the service is big enough.

Your payment processor. Payment processors might get triggered by the fact that adult content is pretty much explicitly allowed. They might also just generally deem you "high risk" and kick you out. I think this is one of the biggest risks you run. For example Stripe, according to their legal docs, prohibit "Cyberlockers, regardless of whether they host adult content", whatever that means, but it sounds a lot like file sharing in general is a prohibited business.

Ever-tightening think-of-the-children laws. You may not want to implement expensive and privacy invasive scanning (note that even local scanning may be privacy invasive[1]), but you might be forced or face a fine. You could always do like Google and budget it in as an expense, love that "fines" line in their reports. This may also be relevant to the previous one, since payment processors might deem you higher risk if you have no scanning.

Getting blacklisted for hosting malware. Specifically the support for non-media files. You could end up being blocked by browsers, search engines and whatnot. See for example Google Safe Browsing.

[1] https://rys.io/en/173.html