Learn one new concept every day.
One Concept is a simple AI-powered learning app built around a small but powerful idea: learn something new every day.
Instead of trying to consume huge amounts of information at once, One Concept gives you one carefully selected concept each day from areas such as artificial intelligence, machine learning, software engineering, computer science, mathematics, Linux, systems, and other technology-related fields.
The goal is not to replace courses, books, or serious study. The goal is to create a daily habit of curiosity and continuous learning.
There is an enormous amount of knowledge available today, especially in technology. It is easy to spend hours learning without remembering what you actually learned.
One Concept takes a different approach:
One day. One concept. One small step forward.
Each day, the app gives you a new concept that you can read, understand, and add to your knowledge.
Over time, small daily lessons become a large collection of knowledge.
- A new concept is selected for the day.
- AI helps generate a clear and useful explanation.
- The concept is saved to your personal learning history.
- You receive a notification reminding you to learn it.
- You open the app and read the concept.
- You mark it as learned.
- Your learning streak is updated.
- The next day brings another concept.
The system keeps track of concepts you have already received so that your daily learning experience can continue to introduce new ideas rather than repeatedly showing the same content.
One Concept is designed to cover a wide range of technical subjects.
- Artificial Intelligence
- Machine Learning
- Deep Learning
- Generative AI
- Large Language Models
- Computer Vision
- Natural Language Processing
- Reinforcement Learning
- Software architecture
- APIs
- Databases
- Testing
- Design patterns
- System design
- CI/CD
- DevOps
- Version control
- Distributed systems
- Algorithms
- Data structures
- Operating systems
- Computer networks
- Compilers
- Computer architecture
- Distributed computing
- Programming languages
- Algebra
- Calculus
- Linear algebra
- Probability
- Statistics
- Discrete mathematics
- Mathematical foundations of AI
- Linux
- Linux kernel concepts
- Shell
- Processes
- Filesystems
- Networking
- System administration
- Open-source development
More categories can be added as the project grows.
Randomness is useful, but simple random selection is not enough.
The application should avoid repeatedly giving the same concept to the same user.
Instead of choosing randomly from every available concept, the system keeps track of the user's learning history.
All available concepts
|
v
Remove concepts already learned
|
v
Select from remaining concepts
|
v
Generate today's lesson
|
v
Save it to learning history
This means every user can gradually build their own unique learning journey.
The app is designed around a simple reminder system.
A user can receive up to three reminders during the day.
For example:
08:00 — Your daily concept is ready
14:00 — Don't forget today's concept
20:00 — Your daily learning is waiting
Once the user opens and completes the day's lesson, unnecessary reminders should stop for that day.
Notification times should eventually be configurable according to the user's schedule and timezone.
Consistency is one of the main goals of One Concept.
After completing a daily lesson, the user's streak increases.
Example:
Day 1 ✓
Day 2 ✓
Day 3 ✓
Day 4 ✓
Day 5 ✓
🔥 5 day streak
The streak is not meant to turn learning into a competition. It is simply a small reminder that consistent effort matters.
Every completed concept becomes part of the user's personal learning history.
A user should eventually be able to see:
- What they learned
- When they learned it
- Which category it belongs to
- Their current streak
- Their longest streak
- Total concepts learned
- Learning progress over time
This transforms the app from a notification tool into a personal knowledge record.
AI is used to help create useful daily learning material.
A lesson should be:
- Short enough to read quickly
- Clear enough to understand
- Technically meaningful
- Appropriate for the selected difficulty
- Different from previous lessons
- Focused on one concept
The goal is not to generate random motivational quotes.
The goal is to introduce real knowledge.
For example:
Concept: Idempotency
An operation is idempotent when performing it multiple times produces the same final result as performing it once. This is especially important when designing reliable APIs and distributed systems.
The concept can then include examples or deeper explanations as the application develops.
LLM API keys should never be stored directly inside the mobile application.
The intended architecture is:
Mobile App
|
v
Backend API
|
v
LLM Provider
The backend is responsible for securely communicating with the AI provider.
User learning history and application data should also be handled through the backend/database layer rather than exposing sensitive credentials to the client.
The exact technology stack may evolve during development, but the initial direction is:
- React Native
- Expo
- TypeScript
- Python
- FastAPI
- Firebase / Firestore or another suitable backend database
- Firebase Cloud Messaging
- Expo notification infrastructure where appropriate
- LLM API such as Gemini or another supported provider
- Git
- GitHub
- GitHub Actions
- Linux
The project is expected to gradually evolve toward a structure similar to:
one-concept/
├── mobile/
│ ├── app/
│ ├── components/
│ ├── services/
│ └── ...
│
├── backend/
│ ├── app/
│ ├── services/
│ ├── models/
│ └── ...
│
├── docs/
│
├── .github/
│ └── workflows/
│
├── FEATURES.md
├── README.md
└── LICENSE
The structure is intentionally kept flexible during the early stages.
One Concept is being built with a few principles in mind:
The first version should solve the core problem before adding unnecessary features.
The application should be useful to its developer and early users, not just serve as a demonstration project.
The project is also intended to provide practical experience in:
- Mobile development
- Backend development
- APIs
- AI integration
- Databases
- Authentication
- Notifications
- Cloud deployment
- Testing
- CI/CD
- Software architecture
The project should grow through small, understandable changes rather than trying to build everything at once.
The project will be developed incrementally.
- Create mobile application
- Create initial UI
- Display a daily concept
- Add basic local state
- Establish project architecture
- Generate concepts with AI
- Store concepts
- Prevent repeated concepts
- Add learning history
- Add completion tracking
- Add push notifications
- Add multiple daily reminders
- Stop reminders after completion
- Add notification preferences
- Handle user timezone
- Add daily streak
- Add longest streak
- Add total concepts learned
- Add progress statistics
- Build backend API
- Secure LLM credentials
- Add authentication
- Connect database
- Synchronize user data
- Create production build
- Configure production environment
- Set up CI/CD
- Deploy backend
- Publish mobile application
- Configure over-the-air updates where appropriate
Possible future features include:
- Categories
- Difficulty levels
- Personalized learning
- Spaced repetition
- Quizzes
- Favorites
- Search
- Achievements
- Weekly summaries
- Monthly learning reports
- Multiple languages
- Offline reading
- Web application
Contributions, ideas, bug reports, and discussions are welcome.
Before making a large change, open an issue to discuss the idea and its direction.
For development guidelines, see CONTRIBUTING.md when available.
This project is licensed under the terms specified in the repository's LICENSE file.
One Concept is built around a simple belief:
You don't need to learn everything today. You just need to learn something today.
One concept at a time.
One day at a time.