11 ms·
Show HN: Horizon – Private alternative to Imgur
Hey HN, I'm James, a 17-year old full-stack engineer from Canada with a strong passion for building software. During the day, I work for a California-based startup, and in the evenings, I enjoy working on side projects[1][2].
For the past 3 years, I've been building and iterating on a product I called Horizon Pics, which is a file hosting service, similar to mainstream services, like Imgur. Horizon allows you to quickly upload and store all types of files, from images and video, to PDFs and other documents. The biggest differentiating factor is that Horizon's incentives are much more aligned with you, the end-user.
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 past week, I've launched a rebrand of Horizon which features a brand-new desktop app called Alpine[3], which serves as a local companion to Horizon. With it comes the capability to auto-upload screen captures and upload your clipboards as shareable pastes. For extra privacy, clipboard sharing can be automatically deleted after one view, or end-to-end encrypted with AES-256-GCM client-side. The desktop app is completely free to use! It's powered by Tauri using TypeScript, SvelteKit, Sass, and Rust.
Horizon offers a free plan with limited storage and upload sizes, while the paid plan offers higher limits.
Let me know what you think about the landing page[0]. Does it provide enough information as a new user?
[0]: https://horizon.pics https://horizon.pics
[1]: https://httpjames.space https://httpjames.space
[2]: https://github.com/httpjamesm https://github.com/httpjamesm
[3]: https://horizon.pics/alpine https://horizon.pics/alpine
- agersant 2y agoIncredible 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?
- sweca 2y agoYes, absolutely! You can use the built in uploader[0] on the web dashboard which works in parallel and supports large files. [0]: https://horizon.pics/help/articles/start-uploading-files https://horizon.pics/help/articles/start-uploading-files
- agersant 2y agoThank 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 2y agoThanks 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 2y agoRe: 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?
- toomuchtodo 2y agoIf 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 2y agoThank you so much! Your compliments and generosity are very much appreciated.
- iJohnDoe 2y agoVery cool! Congrats on the launch!
- jml78 2y agoCongrats, 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 2y agoYes. 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 2y agoWhat kind of backup and disaster recovery plans do you have in place, if any? Are they tested?
- conductr 2y agoThis type of analysis is kind of pointless because the chances of the key assumptions being correct are almost none. How many free vs paid users will sign up? How much resources will they actually consume? The answers aren’t known until you test the market and probably change over time too. That said, if he’s just bootstrapping this as a hobby with low overhead these prices are just fine. He probably actually makes a good profit once his user counts climb a bit. This type of service can be easy to keep afloat in these prices is my gut feeling and that’s probably good enough. Besides there are some easy solutions to an emergency situation. Raise prices. Stop offering free plans. Change the resource limits. Etc. so much he can do before going broke.
- Brajeshwar 2y agoCongratulations 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 https://mydomain.foo.bar/nice.jpg
- sweca 2y agoThese are already supported on the Everest plan! Please see the help article: https://horizon.pics/help/articles/can-i-use-my-own-domain https://horizon.pics/help/articles/can-i-use-my-own-domain.
- newcool1230 2y agoThis looks pretty cool, does it work with ShareX? Where you can directly screenshot and upload the images from your desktop?
- sweca 2y agoYes! 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.
- scubbo 2y agoImpressive stuff - especially for a 17-year-old working in their spare time! Best of luck, not that it looks like you'll need it!
- devnull212 2y agoCongrats 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 2y agoI 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 2y ago> 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 2y ago
- xyst 2y agoVery 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 2y agoThank 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.
- deleted 2y ago[deleted]
- 6bb32646d83d 2y agoNot to diminish the work of OP (the website looks really clean), but I don't think I know any serious experienced engineer who couldn't create an image sharing website
- jmprspret 2y agoI know way too many with the title "senior" in their technical role title who have absolutely no idea what they are doing. Well, they think they know, but they are less technically competent that your average CS graduate.
- aio2 2y ago[flagged]
- samM_ 2y agoWow, super impressive. I wouldn't even have dreamed of making something like this at 17.
- tjbiddle 2y agoShould 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 2y agoGood call! The second one is Gyazo.
- metadat 2y agoThis 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?
- tyingq 2y agoLooks 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.
- sweca 2y agoThanks! 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 2y agoNo 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 2y agoThese 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 2y agoyou should protect yourself from free plans going viral and costing you more than you'd like with rate limiting rules of some kind.
- metadat 2y agoHow is it private if you can't self host? (I'm hoping I missed something :)
- loteck 2y agoPrivacy 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?
- metadat 2y agoAnd 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.
- sweca 2y agoEncryption 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 2y agoClear and concise. Well done. Impressive for a 17 year old.
- ronyba 2y agoHave you done an Independent security review of these features? What's your CRS score? Do you have CVE fix SLA in place? All these features are good if this was. 2000 website but a single vulnerability in any one of the vendors of your tech stack will compromise your users
- tadbit 2y ago[flagged]
- sweca 2y agoHaha. Didn't even realize that. The goal was mountain-themed metaphors. Hopefully the "Horizon" prefix is enough to differentiate.
- deleted 2y ago[deleted]
- GaiusCoffee 2y agoI 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 2y agoFor privacy reasons, there's no scanning. I rely on user reports to determine whether to take content down.
- idiotsecant 2y agoThis 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 2y agoYes, 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 2y agoI 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 2y ago
- Jamie9912 2y agoWhy don't you have cloudflare caching enabled on the images?
- sweca 2y agoFor 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?
- Jamie9912 2y agoYeah 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 2y agoGot 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.
- electroly 2y agoIt'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-application-services/ https://www.cloudflare.com/service-specific-terms-applicatio...
- jmuguy 2y agoMaybe 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 2y agoYes! 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 2y agoWhy 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 2y agoTranscoding 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 2y ago1. 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.
- mkmk 2y agoOut of curiosity, why did you name the paid plan Everest?
- sweca 2y agoIf 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.
- t1c 2y agoSo... it's an S3 bucket with a CDN?
- pratio 2y agoIt's an impressive lot more. There's a desktop app for mac and even a beta version for Linux.
- RIMR 2y agoSo it's an S3 bucket with a CDN, and a file upload client...
- AvieDeckard 2y agoFor 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 2y ago"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 2y agoI 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?
- peterldowns 2y agoExtremely impressive. Very nice work.
- synthoidzeta 2y agoJust 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 2y agoThank 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.
- kukasmog 2y agoGreat work, and portfolio looks great too. Most professional devs can’t get a product out, so you’re on the way.
- 29athrowaway 2y agoHosting 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 2y agoUnder 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.
- DaoVeles 2y agoJust 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 2y agoYep! 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 2y agoI 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!"
- motles 2y agoDo you do all the design/UI/UX yourself?
- sweca 2y agoI 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!
- KerryJones 2y agoGreat work! 2 questions: 1) Do you support RAW images? 2) Do you have larger paid plans?
- sweca 2y agoThank 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.
- Dalewyn 2y ago>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 2y ago1. 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 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 2y ago>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.
- renewiltord 2y agoHey, 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 https://i.horizon.pics/jtlZYhVxzb
- sweca 2y agoThank 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!
- tzfld 2y ago>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?
- isatty 2y agoThis 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 2y agoThanks, this means a lot!
- MzHN 2y agoMonetization 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 https://rys.io/en/173.html
- deleted 2y ago[deleted]
- scharman 2y agoThis is a great response. The shady operators can ruin simple services like these :( I’m now curious how you’d ever practically deal with this. How does iCloud deal with encrypted illegal content? Surely they can’t penalize Apple in these situations?
- sweca 2y agoApple's iCloud attempted to do CSAM scanning, but ultimately they backed off due to large public backlash. In the United States, there are lawmakers trying to require it, but there is still a lot of advocacy from privacy right activists, such as the EFF.
- cntrmmbrpsswrd 2y agoThis 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.
- 9dev 2y agoThe 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.
- reportgunner 2y agoSo if I upload a pic and send a link to that pic to my friend does my friend also have to sign in ?
- sweca 2y agoNope!
- p2hari 2y agoIs there some kind of API support? Could not find anything about ability to use API instead of clients.
- nathants 2y agocongrats on the launch! this is very cool.
- gizmo 2y agoThis 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.
- efilife 2y agoWhere do you host it? I see that nsfw is allowed, what vps does allow it?
- cptcobalt 2y agoThis is HN, is asking about a VPS a bit quaint, when we're in the era of container orchestration/etc?
- efilife 2y agoI wonder, is this information so confidential the creator doesn't want to answer this?
- sweca 2y agoI'm not sure what to answer here. Cloudflare allows this type of content, and the VPSes aren't storing the uploaded content.
- drewdevault 2y agoFrom the terms of service: > Please be aware that there may be certain adult or mature content available on the Website. Where there is mature or adult content, individuals who are less than 18 years of age or are not permitted to access such content under the laws of any applicable jurisdiction may not access such content. Certain areas of the Website and Services may not be available to children under 18 under any circumstances. Ironic given that the creator is only 17 himself per the original post. Having run a site like this before, you can expect to get some awful stuff uploaded before long, up to and including CSAM. Not sure I can trust a minor to moderate this stuff and push that "report" button in good conscience knowing that a minor will have to view the material to make the call.
- r0ks0n 2y agoi 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.
- account42 2y agoImage hosting is not a viable business. Source: every image host that has ever existed (note the past tense)
- 8organicbits 2y agoCharge for storage and bandwidth. Providers like AWS S3 are doing fine with that model. E: not bandwidth, data transfer
- sweca 2y agoAnd 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.
- dizhn 2y ago> 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.
- deleted 2y ago[deleted]
- vivzkestrel 2y agoif this was decentralized it would still have meaning but this project is going to run into the same limitations imgur did
- progforlyfe 2y agoone 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.
- deleted 2y ago[deleted]
- deleted 2y ago[deleted]
- RIMR 2y agoThe 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 2y agoYou'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.
- sebstefan 2y agoIt 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 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 2y agoHey, 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 2y agoWow. 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
- jappgar 2y agoA 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.
- tidyread 2y agoPrivacy 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 2y agoThank you. I try my best to balance both privacy and security and functionality.
- jiangplus 2y agoIt looks so awesome! Is it related to Ente?
- sweca 2y agoNope! Not related, but I have worked on Ente. Ente's CEO is actually the person who told me to try launching on HN.
- sirjaz 2y agoAre there any plans for Windows App support? There are more Windows 10 and 11 users than all iOS, iPadOS, and MacOS users combined
- sweca 2y agoThere's ShareX for Windows which Horizon supports. You can download the configuration files in Settings > General > App Configuration.
- deleted 2y ago[deleted]
- indigodaddy 2y agoAre private domains allowed on the free plan? https://docs.hrzn.cool/pics/add_private_domain https://docs.hrzn.cool/pics/add_private_domain
- bangaladore 2y ago> This feature is exclusive to Horizon Everest users. If you are not subscribed to Horizon Everest, you can do so in your Dashboard by clicking the Upgrade button in your navigation bar. [1] [1] https://docs.hrzn.cool/pics/add_private_domain https://docs.hrzn.cool/pics/add_private_domain
- indigodaddy 2y agoThanks. Another question. So this does not only images but any file or text file or functions as a pastebin etc? If so, is there a way of interacting with it as such as a pastebin and or uploading other type of files, other than the webui? Eg a command line tool? I see you made hrznsc but it seems for screenshots only, so perhaps just need to use some sort of api method for the command-line/scripty sort of pastebin-like and other files interaction/functionality that many users might be after?
- sweca 2y agoYes, there's pastebin as well. You can use ShareX on Windows or Horizon Alpine on macOS and some Linux distros (not 100% compatible with all, but Ubuntu seems to work just fine). No command line tool yet, but the paste API is pretty simple to understand through network inspection.
- LouisContant 2y agoHi, A bit late to the thread but was wondering where you got your art for the top of the page? They’re useful little diagrams I’d love to hire person who made those
- sweca 2y agoCan you please clarify which art? The mockup was done by myself. The mock images in the mockup are from Unsplash.
- LouisContant 2y agoHi! I love your product page and was wondering where you got the vector art for the core features card. I’ve been looking and can’t seem to find a good source for them
- sweca 2y agoThanks! I hired someone from Fiverr several years ago, and have been rocking with their art ever since.
- ChrisArchitect 2y agoImgur ads? No ads..they wouldn't even take our money for an account to support for years. And all the direct link images posted to forums and stuff still work after years. Working out pretty good for this end-user.
- sweca 2y agoHm. There are quite a few ad scripts on Imgur[0], and they have an advertising policy[1]. There are also reports on Reddit that the Imgur app has ads[2]. [0]: https://themarkup.org/blacklight?location=us&device=mobile&force=false&url=https%3A%2F%2Fimgur.com%2F https://themarkup.org/blacklight?location=us&device=mobile&f... [1]: https://help.imgur.com/hc/en-us/articles/26479484299163-Imgur-Advertising-Policy https://help.imgur.com/hc/en-us/articles/26479484299163-Imgu... [2]: https://www.reddit.com/r/pihole/comments/y1vh55/ads_recently_started_showing_in_imgur_app/ https://www.reddit.com/r/pihole/comments/y1vh55/ads_recently...
- BigParm 2y agoI wonder how I can convince people to send me training data. Photo enhancement? Writing review? No, I've got it now. Data storage!
- fagrobot 2y ago[dead]
- lofaszvanitt 2y agoNot gonna sign up just to upload an image. Maybe on the 5th time.
- hoten 2y ago"Failed to create session" when using Google sign up option, followed by "Invalid state" when attempting to retry. I shared the service with some folks who dislike imgur and one said this: > Seems like the images don't allow for embedding - only hotlinking. Or at least, I can't figure out the link settings https://www.purezc.net/forums/index.php?showtopic=78915 https://www.purezc.net/forums/index.php?showtopic=78915 I can't see for myself but my guess is the service doesn't give you a easy to copy snippet to embed as html? Hope this helps.
- sweca 2y agoThat sign in with Google bug has been fixed. Sorry. Your account was created despite the error. The images can be embedded with their attached raw URLs and/or toggling the CDN URL option in link settings.
- dankwizard 2y ago" clipboard sharing can be automatically deleted after one view" I think this can get broken by a few things, like if sent via FB/Discord messaging, the server themselves jump to it to generate their little thumbnail preview. Same with some email clients. Cheers
- sweca 2y agoOn Discord you can wrap it in <> to disable the crawler.
- fire_lake 2y agoWhat is your policy on NSFW content? This was a big rug pull moment for the imgur community. If you haven’t decided now, you will be forced to decide later!