Settings

Theme

Ask HN: What are some challenging web apps I can build?

30 points by devcheese 10 years ago · 17 comments · 1 min read


What are some challenging web apps that I can build for learning purposes? Thanks.

bobwaycott 10 years ago

- human v cpu rock, paper, scissors (bonus round: real-time human v human)

- human v cpu tic tac toe (bonus round: real-time human v human)

- human v cpu battleship (bonus round: real-time human v human)

- Wordpress clone

- IRC clone

- E-commerce site (focus on the product catalog and shopping cart, with a checkout process that doesn't really have a payment integration, and a history of orders)

- A dashboard that provides visualization of data sets

- Twitter clone

- Facebook clone (basically, take your Twitter clone, remove the character limit, add in some comment and group functionality, and add your IRC clone into the mix)

- Expand Twitter/FB clones with tweaks that let you manipulate how the timeline is displayed to a logged-in user

Look at anything you've used, played, tried that you feel you understand how it works. Then build it.

  • codegeek 10 years ago

    "checkout process that doesn't really have a payment integration"

    What do you mean by that ?

    • bobwaycott 10 years ago

      Don't bother adding a real payment processor like Stripe. OP said for learning. Tackle that later.

vanattab 10 years ago

Well since you asked... Build a website that teaches kids to code in python by creating simple games. All the python should be written and executed on your server so the students don't have to setup anything. The site should include a simple 2d game engine framework that more experienced programmers can develop tutorials for. I was going to build it myself but go for it if you want.

adamwong246 10 years ago

1) What is an app you use often? 2) How would you improve upon that experience?

Ok, build that

iisbum 10 years ago

Most web apps are not very challenging to build until you start thinking about scale. Twitter for 100 users is easy Twitter for 1,000,000 users is much more challenging.

  • dorfuss 10 years ago

    Genuine question - could you please elaborate a bit on that? I sort of know what you mean, but I'm just an amateur. So the problem with large scale is creating algorithms that distribute and balance the workload on the servers, database access speed, optimal cashing, keeping 100% uptime, backup, separating different parts of the application and putting them on different servers, concurrency and solving the problem of simultaneous access to same resources? Anything else?

    • askafriend 10 years ago

      I think a part of what you forgot is that often you're doing those things you list "in-flight" and on an as-needed basis as the application scales. You don't start out building Twitter for 10,000,000 users, you start out building for 10 users. As the userbase grows, you've got to start thinking about how you're going to change major components of the system safely and without any hiccups.....and in a way that they still work with legacy systems, legacy code, third party code, etc etc

      You've also got to make key decisions about whether to scale vertically or horizontally and often there's no one right answer in any of these scenarios. You can re-build today's Twitter in any number of ways to get to the point they are at now. However, the process of getting to today's Twitter would look very very different depending on how much time, money, talent, and other resources you had at each step along the way.

      Basically, it's the process or transitions that are very notably difficult, perhaps not the end implementation itself. You've also got to balance these transitions with constraints like time and money. For example, you can't just throw a bunch of AWS instances at an infra problem to buy time, unless you've got the money.

      And that's only from an infra perspective. From a product perspective there's a whole slew of things that are needed at scale that you don't necessarily need early on. One example is "how are you going to scale the cost of user/customer support"?. When it's 100 people using your product, you can deal with all the emails, but if it's 10,000,000 people using your product, can you really handle each and every case that comes through? Do you have money to hire a team to handle these cases? Can you build stuff into the product that reduces case-load? etc, etc.

      Anyway, I'm rambling now....perhaps someone more experienced than I could share some better insights.

Gustomaximus 10 years ago

The one app I've always is an SMS forwarder on MS mobile platform. You'll make one person happy if you build this.

id122015 10 years ago

a system that allows people transparent voting of the so called arbitrary laws, so we can verify and stop complaining about corruption.

Im not saying that democracy is the best form of government always. You wouldnt want to stay in a place where the majority of people vote: 'Fk freedom, we want islam'

  • nstart 10 years ago

    seriously? I'm muslim and when you use the word islam as the opposite of freedom that's actually offensive. Not here to correct or change your mind about your view on Islam (not a topic for HN anyways) but just saying that choosing your words more carefully is a valuable skill.

yolesaber 10 years ago

VR porn demo / teledildonic dashboard

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection