You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A modern implementation of Conway’s Game of Life built with Next.js, React and TypeScript.
3
+
A modern implementation of Conway's Game of Life built with Next.js, React and TypeScript.
4
4
5
-
The goal of this project is not just to recreate the classic simulation, but to use it as a playground to experiment with frontend architecture, rendering strategies, performance optimizations and backend development with Python.
5
+
The goal of this project is not just to recreate the classic simulation, but to use it as a playground to experiment with frontend architecture, rendering strategies, performance optimizations and, eventually, backend development with Python.
6
6
7
-
Instead of building another traditional CRUD application, I wanted to create something more engineering-oriented where I can explore:
7
+
Instead of building another traditional CRUD application, I wanted to create something a little different: a project where I could explore how simple rules can lead to surprisingly rich behaviours while continuously iterating on both the technical implementation and the user experience.
8
8
9
-
- simulation systems
10
-
- rendering performance
11
-
- state management
12
-
- visualization patterns
13
-
- frontend architecture
14
-
- backend APIs
9
+
Along the way, Conway became less of an experiment and more of a small product that I genuinely enjoyed polishing and shipping.
15
10
16
-
The project is heavily inspired by modern developer tools and products such as Raycast, Linear and Vercel.
11
+
---
12
+
13
+
## Public Release
14
+
15
+
🚀 **Conway's Game of Life v1.0.0**
16
+
17
+
Live demo:
18
+
19
+
https://life.aleixvidal.dev
20
+
21
+
The current version focuses on delivering a polished desktop-first experience while serving as a playground for experimentation, architecture and iterative product improvements.
17
22
18
23
---
19
24
@@ -34,52 +39,23 @@ The project is heavily inspired by modern developer tools and products such as R
34
39
- Husky
35
40
- lint-staged
36
41
- Knip
37
-
38
-
### Planned Backend
39
-
40
-
- FastAPI
41
-
- PostgreSQL
42
-
43
-
---
44
-
45
-
## Goals
46
-
47
-
Some of the main goals of this project are:
48
-
49
-
- Experiment with different rendering strategies
50
-
- Explore frontend architecture patterns
51
-
- Improve rendering and UI performance
52
-
- Learn backend development with Python and FastAPI
53
-
- Build a more engineering-focused project
54
-
- Create a clean and polished developer-oriented experience
55
-
56
-
---
57
-
58
-
## Current Status
59
-
60
-
Early development phase.
61
-
62
-
Current focus:
63
-
64
-
- Simulation grid
65
-
- Cell interactions
66
-
- Play / pause controls
67
-
- Rendering architecture
68
-
- UI cleanup and component organization
42
+
- Vitest
69
43
70
44
---
71
45
72
-
## Planned Features
46
+
## Features
73
47
74
-
- Pattern presets
48
+
- Interactive Conway simulation
49
+
- Play, pause and step controls
50
+
- Pattern library including spaceships, oscillators and still lives
51
+
- Manual board editing
75
52
- Simulation statistics
76
-
- Save/load simulations
77
-
- Backend persistence
78
-
- Real-time updates
79
-
- Performance benchmarks
80
-
- Infinite grid experiments
81
-
- WebSocket support
82
-
- Rendering optimizations
53
+
- Friendly onboarding experience
54
+
- Pattern selection highlighting
55
+
- Sidebar filtering and navigation
56
+
- Keyboard shortcuts
57
+
- Import and export support
58
+
- Desktop-first experience with mobile guidance
83
59
84
60
---
85
61
@@ -93,7 +69,23 @@ The UI is inspired by:
93
69
- Modern macOS applications
94
70
- Engineering dashboards
95
71
96
-
The idea is to create a clean and modern simulation platform rather than a game-oriented interface.
72
+
The goal is to create a clean and modern simulation platform rather than a game-oriented interface.
73
+
74
+
---
75
+
76
+
## Future Exploration
77
+
78
+
Some ideas I may explore in future iterations include:
79
+
80
+
- Backend persistence
81
+
- Save and share simulations
82
+
- Infinite grid experiments
83
+
- Performance benchmarks
84
+
- Real-time collaboration
85
+
- WebSocket support
86
+
- Additional rendering strategies
87
+
88
+
The project evolves incrementally, guided by curiosity, experimentation and whatever feels worth building next.
97
89
98
90
---
99
91
@@ -133,6 +125,8 @@ pnpm check
133
125
134
126
## Notes
135
127
136
-
This project is intentionally being built incrementally.
128
+
This project is intentionally built incrementally.
129
+
130
+
The focus is on experimentation, learning and shipping ideas rather than trying to over-engineer everything from the beginning.
137
131
138
-
The focus is on experimentation, learning and architecture decisions rather than trying to over-engineer everything from the beginning.
132
+
Sometimes the most interesting projects start as a small idea you're not entirely sure you'll finish.
0 commit comments