Hey! Welcome
Yes, those features are all possible. Generally speaking Discourse is highly extensible. It has server-side and client-side plugin apis and hooks, which make pretty much anything possible.
There are two types of customisations “Themes” (client-side only) and “Plugins” (server and client). If it’s possible to only make client-side changes it’s best to use a theme as they’re easier to modify and update and pose less of a stability risk. If you need to display new data, or want to change things like list algorithms, i.e. you need any server-side work, you’ll need a plugin.
In terms of hiring a developer to build stuff, the price ranges are quite variable and tend to depend on the familiarity the developer has with Discourse. Familiarity with the Discourse codebase is a significant benefit in terms:
- basic ability to pull off new feature(s)
- time it takes to build new feature(s)
- stability of new feature(s) over time as Discourse changes
- ability to integrate new feature(s) with existing or other new features
You could hire a developer on freelancer marketplace, but they would struggle with each of the above points. Which is why folks often spend a little bit more on a developer who has a history working with the Discourse codebase, and will continue to work with it in the future.
In terms of price you’re typically looking at between $100 to $200 USD per hour for a senior Discourse developer. Some give you a discount if you’re willing to open-source the resulting code. I give a 20% discount for open source work.
In terms of overall time, I tend to use this basic heuristic:
- Simple stuff: I’ll get it done within a week
- Complex stuff: I’ll get it done within a month.
I’ve given you some rough hour estimates below.
There’s a few pre-existing options here, including the standard Discourse ‘Top’ list and the Discourse Hot Topics plugin. Changing list sorting / filtering algorithms is relatively straightforward in a plugin. Maybe 3 to 4 hours of work for a simple algo change.
Are you thinking of having email and password inputs directly in the header, rather than having them in a modal (i.e. to reduce clicks)? Sure, this is also doable. Off the top of my head it would take roughly 6 hours.
Often folks use the Data Explorer Plugin to produce custom stats, but you can also add custom stats to the admin Dashboard in a plugin.
For example, I recently did a job for someone who wanted specific stats from some Data Explorer Queries: [Paid] Data explorer queries for ticketing system use case
You’ve got a number of options here, for example:
The best choice depends on what kind of navigation you want. If none of the out of the box solutions suit, personally I would suggest you make a widget that works with my Layouts Plugin.
For example, I recently built a custom navigation widget for someone for $250 USD. The price and time really depends on the detail of what you want.
There’s a fair amount of interest in this feature (and ways to use the existing Discourse feature set to achieve the desired outcome). I would initially suggest doing a search for “gamification” here on meta. In terms of getting it built, given the interest in this feature, one option would be to get a co-sponsorship going (i.e. getting multiple folks to sponsor a gamification plugin). We did something similar for a “Follow” plugin recently. You’d be looking at > $1k USD for this. It would take at least a couple of weeks, if not a month.