CLI tool
ionic-team/ionic-react-conference-app avatar
ionic-team/ionic-react-conference-app

The Ionic React conference app is a component catalogue in costume

A conference app built with Ionic Framework and React to showcase components

526 stars212 forksTypeScriptNOASSERTION

At a glance

What is it?
ionic-react-conference-app is the React sibling of a set of Ionic demo apps, a kitchen-sink showcase that puts the framework's components in the context of a fictional tech conference. It is TypeScript on Ionic 9 and React 19 with Capacitor 8 for native, and the code is worth reading as a reference rather than as an application to run.
Who is it for?
ionic-react-conference-app is a good fit for a developer who wants to see how a particular Ionic React component behaves in a real layout, and for a team starting an Ionic React project who want a working build configuration to copy rather than to design.
Can I use it commercially?
Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
Is it still maintained?
Yes. The repository last received commits 4 days ago.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 20, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What kind of project this is

The README is explicit about the intent. It calls this a kitchen-sink demo application built with Ionic Framework and React, demonstrating a wide range of Ionic components and features in the context of a fictional tech conference app, and it adds a note that there is no actual Ionic Conference and that the project is purely for demonstration purposes. That framing matters for how you use it. The value is not the conference. The value is that every screen is an excuse to show a component working in a layout with real spacing, real data shapes and real navigation, which is a different thing from reading the component documentation. The fictional framing is also what makes it safe to copy wholesale: there is no real user data, no real schedule and no real conference to worry about. A live demo is linked, along with a tutorial path into it.

The three-framework split, and why the React one differs

The same application exists in three framework versions. There is an Ionic Angular conference app and an Ionic Vue conference app, and this is the React one. That is a genuinely useful thing about the repository, because the same product built three times is a way to see what a framework's idioms look like against identical requirements. The React version is the one with @ionic/react and @ionic/react-router at version 9, React and react-dom at 19.2.7, react-router and react-router-dom at 6.30.4, and react-redux with reselect for state. The Angular version would use a different router and a different state library, and the Vue version a third. If you are choosing a framework for a project like this, running the same app three times is a more honest comparison than reading three tutorials, because the differences you see are the framework differences rather than the domain differences.

The features the demo actually covers

The feature list describes what the app exercises. You can browse a conference schedule with filtering, view speaker bios and session details, handle user authentication and profile management, use interactive maps for venue navigation, support push notifications, toggle between dark and light mode, and run on iOS, Android and the web. Those are not arbitrary: they are the components that a team building a real application on Ionic is most likely to need, and the schedule, the speaker and the map are the three screens where a component library either works or does not. The map in particular is where the web and native targets diverge, since Leaflet is a web mapping library and react-leaflet wraps it. The state layer is the other place the framework shows its seams, with Redux and reselect giving a predictable data flow across screens.

Running it locally

The setup is the standard Ionic workflow. You need Node.js, with the LTS version recommended, and npm comes with it, and the Ionic CLI is installed globally:

bash
npm install -g ionic

Then you clone the repository, move into the project directory, install the dependencies and start the dev server:

bash
git clone https://github.com/ionic-team/ionic-react-conference-app.git
bash
cd ionic-react-conference-app
bash
npm install
bash
ionic serve

and the app comes up on http://localhost:3000/. The package.json explains the script aliases, since dev and ionic:serve are both vite and start delegates to dev, while ionic:build and build are both tsc followed by vite build, which means the type check runs as part of a production build rather than as a separate step you might forget. A preview script serves the built output and a format script runs Prettier across the source tree. The browserslist field in the same file targets a wide browser set, excluding Internet Explorer 11 and the dead and op_mini all buckets.

Native and deployment targets in the tree

The repository carries the configuration for every target the framework can produce, and that is what makes it a useful reference beyond the browser. There is an android/ directory and an ios/ directory, which are the native projects Capacitor generates, and a capacitor.config.json to configure them. The Capacitor dependencies are all at version 8, covering core, android, ios, preferences and the splash screen, which tells you the app uses native storage and a native splash rather than only web storage. On the hosting side there is a vercel.json and a .netlify/ directory for two static hosts, a firebase.json with a .firebaserc for Firebase, and index.html plus a public/ directory as the Vite entry points. The build itself is Vite 6 with the React plugin, and TypeScript 5.8 with a separate tsconfig.node.json for the tooling side of the project. A renovate.json in the root is the dependency update configuration, which is a small signal about how the project stays current on a large dependency list.

Where this demo is the wrong thing to build on

Three cases. The first is a team that wants an application, because the conference is fictional, the sessions and speakers are fixtures, and there is no back-end behind the authentication or the push notifications. Reading it as a starting point means replacing the data layer wholesale. The second is a project that does not want Ionic, because the whole value of the repository is the Ionic components, and a React team with its own design system gets nothing from it beyond the routing and state patterns. The third is a team that needs a supported dependency, since the repository publishes no releases and there is no version to pin, so what you copy is whatever is on the branch at the moment you clone. Against the official component documentation and the starter templates, the difference in approach is that this app shows components in combination, in a layout that a designer signed off on, which is something a component gallery or a single-component sandbox never shows you, and which is also why you should treat the result as a demonstration rather than a recommendation.

Editorial conclusion

ionic-react-conference-app is a good fit for a developer who wants to see how a particular Ionic React component behaves in a real layout, and for a team starting an Ionic React project who want a working build configuration to copy rather than to design. It is a poor fit if you want an application to build on, because the conference is fictional and the data is a fixture, and it is a poor fit if you need a maintained dependency, since renovate.json is present but the repository publishes no releases. Check three things before you adopt anything from it: that the component you care about is actually in the app, since it is a selected showcase rather than the full framework surface, that the versions line up with your own project, because the dependencies are on Ionic React 9, React 19, Capacitor 8 and React Router 6, and that you read the LICENSE file yourself, because the badge and the package metadata say MIT while the recorded licence field for the project is a custom one that GitHub cannot classify.

Frequently asked questions

What is the Ionic React conference app?

It is a kitchen-sink demo application built with Ionic Framework and React that demonstrates a wide range of Ionic components and features in the context of a fictional tech conference. The README notes there is no actual Ionic Conference and that the project is purely for demonstration purposes.

How do I run the Ionic React conference app locally?

Install Node.js and the Ionic CLI with npm install -g ionic, clone the repository, change into the project directory, run npm install, then ionic serve, and open http://localhost:3000/. The package.json shows that dev and ionic:serve both run vite, and that a production build runs tsc before vite build.

Which frameworks does the Ionic conference app exist for?

Three. There is an Ionic Angular conference app, an Ionic Vue conference app, and this React version, which uses @ionic/react and @ionic/react-router at version 9 with React 19.2.7, React Router 6.30.4 and react-redux with reselect.

What features does the Ionic React conference app demonstrate?

Browsing a conference schedule with filtering, speaker bios and session details, user authentication and profile management, interactive maps for venue navigation with Leaflet and react-leaflet, push notification support, dark and light mode toggling, and cross-platform support for iOS, Android and the web through Capacitor 8.

What licence is the Ionic React conference app under?

The README states the project is licensed under the MIT License and the package metadata records MIT as well, while the badge on the README shows the same. The licence field recorded for the project is a custom one that GitHub cannot classify, so read the LICENSE file directly if it matters.

Official sources

  1. ionic-team/ionic-react-conference-app on GitHub
  2. Issues
  3. Project website
  4. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/ionic-team-ionic-react-conference-app.svg)](https://hysenlabs.com/projects/ionic-team-ionic-react-conference-app)

Was this useful?